Mysql的函数和约束

函数和约束

函数

使用

select 函数();

字符串函数

image-20240416171640578

数值函数

image-20240416171710091

日期函数

image-20240416171742993

流程函数

image-20240416171814239

约束

概念

约束是作用于表中字段上的规则,用于限制存储在表中的数据。

目的

保证数据库中数据的正确、有效性和完整性。

分类

约束描述关键字
主键约束唯一标识表中的记录,每个表只能有一个PRIMARY KEY
唯一约束确保列中的所有值都是唯一的UNIQUE
外键约束确保一列或一组列中的值在另一个表中有对应的值,实现表间关联FOREIGN KEY
非空约束确保列中的值不为空NOT NULL
默认约束为列指定默认值DEFAULT
CHECK约束确保列中的值符合指定的条件CHECK

约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束

使用

# 添加约束
alter table 表名 add constraint 约束名 约束 (字段名);
# 修改约束
alter table 表名 modify 字段名 类型 约束;

案例

image-20240416172404338

create table user(
    id int primary key auto_increment comment '主键',
    name varchar(10) not null unique comment '姓名',
	age int check(age > 0 && age <= 120) comment '年龄',
    status char(1) default '1' comment '状态',
    gender char(1) comment '性别'
) comment '用户表';

外键约束

概念

外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性

语法

# 添加外键
create table 表名(
	字段名 数据类型,
    ....,
    [constraint] [外键名称] foreign key(外键字段名) references 主表(主表列名)
);
alter table 表名 add constraint 外键名称 foreign key(外键字段名) references 主表(主表列名);

# 删除外键
alter table 表名 drop foreign key 外键名称;

删除/更新行为

行为说明
RESTRICT如果存在相关联的子表数据,则禁止对父表数据进行删除或更新操作,直到相关联的子表数据被删除或更新。(与no action一致)
CASCADE如果父表数据被删除或更新,将自动删除或更新相关联的子表数据。
SET NULL如果父表数据被删除或更新,将相关联的子表外键列设置为 NULL。
NO ACTION (默认)类似于 RESTRICT,如果存在相关联的子表数据,则禁止对父表数据进行删除或更新操作。(与restrict一致)
SET DEFAULT如果父表数据被删除或更新,将相关联的子表外键列设置为默认值。
alter table 表名 add constraint 外键名称 foreign key (外键字段) references 主表(主表字段名) on update 行为 on delete 行为; 

|

alter table 表名 add constraint 外键名称 foreign key (外键字段) references 主表(主表字段名) on update 行为 on delete 行为; 
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值