主键: PRIMARY KEY
唯一约束: UNIQUE KEY
默认约束: DEFAULT
1、外键
FOREIGN KEY (外键列) REFERENCES 被参照的表名称 (被参照的列名)
显示索引:SHOW INDEXES FROM 表名称 \G
外键约束的参照操作:
CASCADE: 从父表删除或者更新且自动删除或更新子表中匹配的行
SET NULL: 从父表删除或更新行,并设置子表中的外键列为NULL
RESTRICT: 拒绝父表的删除或更新操作
NO ACTION:标准SQL的关键字,在MYSQL中与RESTRICT相同
2、修改数据表
添加单列: ALTER TABLE 表名称 ADD 列名称 数据类型 【约束条件】 【FIRST | AFTER 列名称】
添加多列: ALTER TABLE 表名称 ADD 列名称 数据类型 【约束条件】,......
删除列: ALTER TABLE 表名称 DROP 列名称1,DROP 列名称2,......
添加主键约束: ALTER TABLE 表名称 ADD [CONSTRAINT 定义的约束名称] PRIMARY KEY(主键列名称)
添加唯一约束: ALTER TABLE 表名称 ADD [CONSTRAINT 定义的约束名称] UNIQUE (添加约束的列名称)
添加外键约束: ALTER TABLE 表名称 ADD [CONSTRAINT 定义的约束名称] FOREIGN KEY (外键列) REFERENCES 表名称 (参照列)
添加/删除默认约束: ALTER TABLE 表名称 ALTER 列名称 DEFAULT 默认值
删除主键约束: ALTER TABLE 表名称 DROP PRIMARY KEY
删除唯一约束:SHOW INDEXES FROM 表名称
ALTER TABLE 表名称 {INDEX | KEY} 索引名字
删除外键约束: SHOW INDEXES FROM 表名称
ALTER TABLE 表名称 DROP FOREIGN KEY 索引名字
删除索引: ALTER TABLE 表名称 DROP INDEX 列名称
修改列定义: ALTER TABLE 表名称 MODIFY 字段名 数据类型 约束 [FIRST | AFTER 列名称]
修改列名称: ALTER TABLE 表名称 CHANGE 原字段名 修改后字段名 数据类型 约束 [FIRST | AFTER 列名称]
修改表名称: ALTER TABLE 原表名称 RENAME 表名称
RENAME TABLE 原表名称 TO 表名称