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