mysql约束——添加与删除命令

首先创建一张tb1表:

CREATE TABLE tb1(
    -> id INT UNSIGNED,
    -> username VARCHAR(20),
    -> age INT UNSIGNED
    -> );
1.主键约束:(只能有一个主键约束)

  生成表后添加主键约束:

 ALTER TABLE tb1 ADD CONSTRAINT PK_tb1_id PRIMARY KEY(id);

    或者(CONSTRAINT PK_tb1_id表示给tb1表的主键约束起一个名字PK_tb1_id,也可以不起名字)

ALTER TABLE tb1 ADD PRIMARY KEY(id);

  创建表时添加主键约束:

CREATE TABLE tb1(
    -> id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    -> username VARCHAR(20),
    -> age INT UNSIGNED
    -> );

  删除主键约束:

ALTER TABLE tb1 DROP PRIMARY KEY;
2.唯一约束(可有多个唯一约束)

生成表后添加:

ALTER TABLE tb1 ADD UNIQUE (username);

创建表时添加:

 CREATE TABLE tb1(
    -> id INT UNSIGNED,
    -> username VARCHAR(20),
    -> age INT UNSIGNED,
    -> UNIQUE KEY(username)
    -> );

删除唯一约束:(先查看约束名,再删除约束)

show create table tb1;

此时会出现:


再利用名称去删除约束:

ALTER TABLE tb1 DROP INDEX username;
3.外键约束

再创建一张tb2表:

CREATE TABLE tb2(
    -> id INT UNSIGNED PRIMARY KEY,
    -> username VARCHAR(20),
    -> email VARCHAR(20),
    -> tb1_id INT UNSIGNED
    -> );

生成表后添加(表tb1中id字段必须为主键或唯一约束修饰的字段):

ALTER TABLE tb2 ADD FOREIGN KEY(tb1_id) REFERENCES tb1(id);

删除主键约束:(同样需要查询外键约束名,再删除外键约束)

show create table tb2;

ALTER TABLE tb2 DROP FOREIGN KEY tb2_ibfk_1;
4.非空约束:

生成表后添加非空约束:

ALTER TABLE tb1 MODIFY username VARCHAR(20) NOT NULL;

或者

ALTER TABLE tb1 CHANGE age age INT UNSIGNED NOT NULL;

创建表时添加约束:

CREATE TABLE tb1(
    -> id INT UNSIGNED,
    -> username VARCHAR(20) NOT NULL,
    -> age INT UNSIGNED
    -> );

删除非空约束:(与添加语句相似,只是将not null删除)

ALTER TABLE tb1 MODIFY username VARCHAR(20);

ALTER TABLE tb1 CHANGE username username VARCHAR(20);
5.默认约束

生成表后添加约束:

ALTER TABLE tb1 ALTER age SET DEFAULT 11;

删除默认约束:

ALTER TABLE tb1 ALTER age DROP DEFAULT;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值