20230727

7月27日

约束

一.查看约束

  SHOW CREATE TABLE table_name

二.主键约束

1.创建表中加入主键

  CREATE TABLE student(
     id int PRIMARY KEY, -- 设置主键
     name VARCHAR(20)
     );

image-20230727192400880

2.假如表中没有主键设置id为主键

 ALTER TABLE student MODIFY id int PRIMARY KEY;
 ​
 ALTER TABLE student ADD PRIMARY KEY(id);
 ​
 ALTER TABLE student ADD CONSTRAINT pk_name PRIMARY KEY(id);
 -- pk_name为约束名

3.删除主键

 ALTER TABLE student DROP PRIMARY KRY;

三.自增长列

特点:

  1. 标识列必须和一个Key搭配(Key指主键、唯一、外键....)

  2. 一个表最多有一个标识列

  3. 标识列的类型只能是数值型

  4. 标识列可以通过 SET auto_increment_increment = 3; , SET @@auto_increment_increme

nt = 3; 设置步长(全局),可以通过插入行时手动插入标识列值设置起始值。

如果设置步长会从 1 + 步长 依次递增。

如果表中已有数据,会按照 1 + 步长进行计算,如果这个 值 已有则再加直到没有

 CREATE TABLE student(
     id int PRIMARY KEY AUTO_INCREMENT,-- 自增长与主键
     name VARCHAR(20)
     );

设置自增长列的初始值

 CREATE TABLE student(
     id int PRIMARY KEY AUTO_INCREMENT,-- 自增长与主键
     name VARCHAR(20)
     )AUTO_INCREMENT=10;
 ALTER TABLE student AUTO_INCREMENT = 10;

修改设置自增长

 alter table 表名称 modify column id int auto_increment;

删除自增长列

ALTER TABLE 表名称 MODIFY COLUMN id INT;

四.唯一约束

CREATE TABLE student(
    id int PRIMARY KEY AUTO_INCREMENT,-- 自增长与主键
    name VARCHAR(20) UNIQUE, # 唯一约束
    );

修改唯一约束

alter table 表名称 ADD unique(列名称);
ALTER TABLE student ADD CONSTRAINT uq_name UNIQUE(name);

删除唯一约束

ALTER TABLE student DROP CONSTRAINT name;
[alter table 表名称 drop index 设置唯一时的名称;] -- 删索引

五.默认约束

CREATE TABLE student(
    id int DEFAULT NULL,# 默认约束
    name VARCHAR(20) UNIQUE, # 唯一约束
    );

修改默认值

alter table 表名称 modify column 列名 列类型 default 默认值;

删除

alter table 表名称 modify column 列名 列类型; -- 将默认值改为 NULL
ALTER TABLE tb_name ALTER col_name DROP DEFAULT; -- 删除了默认值,新增时必须有值

创建表时,不写默认值都默认 NULL (在无非空约束的情况下)

默认约束能和主键约束可以同时存在

默认约束不能和 AUTO_INCREMENT 同时使用

六.非空约束

NOT NULL :非空,用于保证该字段的值不能为空。

CREATE TABLE student(
    id int NOT NULL,# 非空约束
    name VARCHAR(20) UNIQUE, # 唯一约束
     );

修改非空约束

alter table 表名称 modify column 列名 列类型 not null;

删除

alter table 表名称 modify column 列名 列类型 [null];

七.外键约束

外键约束是一种数据库约束,用于确保在一个表中的数据与另一个表中的数据保持一致。它通常用于维护两个表之间的关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值