约束和修改数据表
一、约束
约束可保证数据的完整性与一致性
约束分为表级约束与列级约束
约束类型包括 NOT NULL | PRIMARY KEY | UNIQUE KEY | DEFAULT | FOREIGN KEY
FOREIGN KEY 可保持数据一致性,完整性,并实现一对一或一对多关系。
外间约束的要求
Paste_Image.png外键约束的参照操作
Paste_Image.png
表级约束,列级约束
二、修改数据表
增加单列
ALTER TABLE tb_name ADD col_name data_type [FIRST|AFTER col_name];
增加多列
ALTER TABLE tb_name ADD (col_name data_type ,...);
删除单列
ALTER TABLE tb_name DROP col_name;
删除多列
ALTER TABLE tb_name DROP col_name,DROP ....;
复合增减列
ALTER TABLE tb_name ADD col_name data_type [FIRST|AFTER col_name],DROP col_name;
ALTER TABLE tb_name ADD (col_name data_type ,...),DROP col_name,DROP ...;
添加主键约束
ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] PRIMARY KEY(index_col_name);
添加唯一约束
ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY](index_col_name,...);
添加外键约束
ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] FOREIGN KEY(index_col_name,...) REFERENCES db_name(col_name);
添加或删除默认约束
ALTER TABLE tb_name ALTER col_name {SET DEFAULT literal | DROP DEFAULT};
删除主键约束
ALTER TABLE tb_name DROP PRIMARY KEY;
删除唯一约束 先通过 SHOW INDEXES FROM db_name ;来查找索引名
ALTER TABLE tb_name DROP {INDEX|KEY} index_name ;
删除外键约束 先通过 SHOW CREATE TABLE tb_name;来查约束名。
ALTER TABLE tb_name DROP FOREIGN KEY fk_symbol;
修改列定义 这里不仅可以修改列位置,也可以修改列数据类型
ALTER TABLE tb_name MODIFY col_name colimn_definition [FIRST|AFTER col_name];
修改列名称
ALTER TABLE tb_name CHANGE old_col_name new_col_name col_definition [FIRST|AFTER col_name];
修改数据表名
ALTER TABLE tb_name RENAME [TO|AS] new_tb_name
RENAME TABLE tb_name TO new_tb_name[,tb_name2 TO new_tb_name2]
网友评论