MYSQL的表修改主要涉及列操作,约束及索引的操作。
现在test数据库中新建一张表student ,表中包含两列stuid,stuName,以及后面涉及的gender列。
建表:
USE test;
CREATE TABLE student (stuid INTEGER,stuName VARCHAR(30));
下面就对student 表进行修改。
添加主键:
ALTER TABLE test.student ADD PRIMARY KEY(stuid)
注:主键可以包含多列,如 ADD PRIMARY KEY(stuid,stuName)
如果要将stuid设置为自增列,SQL语句如下
ALTER TABLE test.student MODIFY COLUMN stuid INTEGER AUTO_INCREMENT,
ADD PRIMARY KEY (stuid)
删除主键:
ALTER TABLE test.student DROP PRIMARY KEY
如果主键设为自增列,则SQL语句如下
ALTER TABLE test.student MODIFY COLUMN stuid INTEGER,
DROP PRIMARY KEY
增加列:
ALTER TABLE test.student ADD COLUMN gender BIT
删除列:
ALTER TABLE test.student DROP COLUMN gender
修改列名:
ALTER TABLE test.student CHANGE COLUMN stuName stuNa VARCHAR(30)
修改列类型:
ALTER TABLE test.student MODIFY COLUMN stuNa CHAR(30)
设置列默认值:
ALTER TABLE test.student ALTER COLUMN gender SET DEFAULT 0
取消列默认值:
ALTER TABLE test.student ALTER COLUMN gender DROP DEFAULT
增加索引:
ALTER TABLE test.student ADD INDEX idx_stuid (stuid)
删除索引:
ALTER TABLE test.student ADD INDEX idx_stuid