MySQL添加约束

添加主键约束

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;

在这里插入图片描述
在这里插入图片描述
约束被删除掉

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值