针对字段操作:添加/删除字段,修改列定义,列名
针对约束操作:添加/删除
针对数据表操作:数据表更名(rename)
1 添加单列
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [ FIRST|AFTER col_name ]


2 添加多列
ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition,...)
PS:添加单列可以指定位置关系 ,添加多列不可以指定位置关系
3 删除列
ALTER TABLE tbl_name DROP [COLUMN] col_name
ALTER TABLE tbl_name DROP [COLUMN] col_name,DROP col_name,ADD col_name col_definition(可以同时操作,用逗号隔开操作)

4 添加主键约束
ALTER TABLE tbl_name ADD [ CONSTRAINT [symbol] ] PRIMARY KEY [index_type] (index_col_name,...)
eg: ALTER TABLE user2 ADD CONSTRAINT PK_user2_id PRIMARY KEY (id);

5 添加唯一约束(可以多个)
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)

6 添加外键约束
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition
eg: ALTER TABLE user2 ADD FOREIGN KEY (pid) REFERENCES provinces (id);
7 添加/删除默认约束
ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULLT literal | DROP DEFAULT}


8 删除主键约束
(因为主键只有一个所以不需要指定名称)
ALTER TABLE tbl_name DROP PRIMARY KEY
9 删除唯一约束
ALTER TBALE tbl_name DROP {INDEX|KEY} index_name;
在删除唯一约束的时候,首先要查看约束的名字即key_name
show indexes from user2\G(以网格形式呈现\G),这里key_name 为username,



10 删除外键约束
ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol
首先要查看外键约束的名称,这个名称是系统给的
show create table user2

ALTER TABLE user2 DROP FOREIGN KEY user2_ibfk_1;

11 修改数据表
1)修改列定义
ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER col_name]
PS : 大数据修改为小数据时,会造成数据丢失。

2)修改列名称
ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name]

3)修改数据表名
方法1 ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name
方法2 RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2]...
PS:尽量不要随意更改列名,数据表名
网友评论