语法:1. 修改表名
ALTER TABLE 表名
RENAME 新表名;2. 增加字段
ALTER TABLE 表名
ADD 字段名 数据类型 [完整性约束条件…],
ADD 字段名 数据类型 [完整性约束条件…];
ALTER TABLE 表名
ADD 字段名 数据类型 [完整性约束条件…] FIRST;
ALTER TABLE 表名
ADD 字段名 数据类型 [完整性约束条件…] AFTER 字段名;3. 删除字段
ALTER TABLE 表名
DROP 字段名;4. 修改字段
ALTER TABLE 表名
MODIFY 字段名 数据类型 [完整性约束条件…];
ALTER TABLE 表名
CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
ALTER TABLE 表名
CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];
示例:1. 修改存储引擎
mysql>alter table service-> engine=innodb;2. 添加字段
mysql>alter table student10-> add name varchar(20) notnull,-> add age int(3) not null default 22;
mysql>alter table student10-> add stu_num varchar(10) not null after name; //添加name字段之后
mysql>alter table student10-> add sex enum('male','female') default 'male' first; //添加到最前面3. 删除字段
mysql>alter table student10->drop sex;
mysql>alter table service->drop mac;4. 修改字段类型modify
mysql>alter table student10-> modify age int(3);
mysql>alter table student10-> modify id int(11) not null primary key auto_increment; //修改为主键5. 增加约束(针对已有的主键增加auto_increment)
mysql> alter table student10 modify id int(11) notnull primary key auto_increment;
ERROR1068 (42000): Multiple primary key defined
mysql> alter table student10 modify id int(11) notnull auto_increment;
Query OK, 0 rows affected (0.01sec)
Records: 0 Duplicates: 0 Warnings: 06. 对已经存在的表增加复合主键
mysql>alter table service2->add primary key(host_ip,port);7. 增加主键
mysql>alter table student1-> modify name varchar(10) notnull primary key;8. 增加主键和自动增长
mysql>alter table student1-> modify id int notnull primary key auto_increment;9. 删除主键
a. 删除自增约束
mysql> alter table student10 modify id int(11) notnull;
b. 删除主键
mysql>alter table student10-> drop primary key;