添加主键约束
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] PRIMARY KEY[index_type] (index_col_name,…)
我们来建一个表,
CREATE TABLE users2 (username VARCHAR(10) NOT NULL,pid SMALLINT UNSIGNED);
添加一个字段
ALTER TABLE users2 ADD id SMALLINT UNSIGNED;
SHOW COLUMNS FROM users2;
下边添加主键约束
ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id);
添加唯一约束
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] UNIQUE [INDEX key] [index_name] [index_type] (index_col_name)
现在为我们的username添加唯一操作
ALTER TABLE users2 ADD UNIQUE (username);
添加外键约束
ALTER TABLE tbl_name ADD [CONSTRAINT] FOREIGN [index_name] (index_col_name,…) reference_definition
ALTER TABLE users2 ADD FOREIGN KEY (pid) REFERENCES provinces (id);
其要求为:
数据类型相似
必须具有相同的存储引擎
必须在字段上创建索引,当然我么刚才我们父表省份表provinces中,已经有了我们当前的主键已经存在约束,现在我们的参照列,我们子表中的主键列将自动的创建索引。
添加/删除默认约束
ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
添加默认约束则选择SET 删除选择DROP
我们先来添加一个字段
ALTER TABLE users2 ADD age TINYINT UNSIGNED NOT NULL;
ALTER TABLE users2 ALTER age SET DEFAULT 18;
那么来删掉默认约束
ALTER TABLE users2 ALTER age DROP DEFAULT;
约束被删除掉