针对字段操作:添加/删除字段,修改列定义,列名
针对约束操作:添加/删除
针对数据表操作:数据表更名(rename)
1 添加单列
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [ FIRST|AFTER col_name ]
默认向后追加,afer first2 添加多列
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
系统赋予外键约束名称“user2_ibfk_1”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:尽量不要随意更改列名,数据表名
网友评论