MySQL学习笔记(四)修改数据表约束

本文详细介绍了如何使用SQL语句来管理数据库表中的各种约束条件,包括主键约束、唯一约束、外键约束及默认约束的添加与删除。通过具体示例展示了每种约束的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 添加主键约束,一个表中只能添加一个主键约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)

示例如下:

//新建users2表

CREATE TABLE users2( username VARCHAR(30) NOT NULL,

                                         pid SMALLINT NOT NULL)ENGINE=InnoDB;

//向users2表中添加列id

ALTER TABLE users2 ADD id SMALLINT UNSIGNED;


//将id字段的约束修改为主键约束

ALTER TABLE users2 ADD CONSTRAINT PK_users2 PRIMARY KEY(id);


2. 添加唯一约束,与主键约束不同,唯一约束可以添加多个

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)

示例:

//为表users2的username字段添加唯一约束

ALTER TABLE users2 ADD CONSTRAINT UNIQUE (username);

3. 添加外键约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition

示例:

//向users2表中的pid字段添加外键约束

ALTER TABLE users2 ADD FOREIGN KEY (pid) REFERENCES provinces(id);

//查看是否添加成功

SHOW CREATE TABLE users2;

4. 添加/删除默认约束

ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}

示例:

//向users2表中添加age字段

ALTER TABLE users2 ADD age TINYINT UNSIGNED NOT NULL ;

//将该字段的默认值修改为13

ALTER TABLE users2 ALTER age SET DEFAULT 13;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mengrennwpu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值