mysql常见的约束

常见的约束
约束:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性。
分类:六大约束

  1. not null :非空、用于保证字段的值不能为空,姓名,学号等。
  2. default:默认,用于保证字段有默认值。比如性别。
  3. primary key:主键,用于保证该字段具有唯一性,并且非空,比如学号,员工编号。
  4. unique:唯一,用于保证该字段具有唯一性,可以为空,比如座位号。
  5. check:检查约束(mysql中不支持)
  6. foreign key :外键用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值。在从表添加外键约束,用于引用主表中的值。

添加约束的时机:
1.创建表时
2.修改表时
约束的添加的分类:
列级约束:
1.六大约束语法上都支持,但外键约束没有效果。(默认、非空、检查、主键)
表级约束:

案例:
1.添加列级约束
create table stuinfo(
id int primary key , 主键
stuName varchar(20) not null,非空
gender char(1) check(gender=‘男’ or gender = ‘女’),检查
seat int unique,唯一
age int default 18,

);
show index from 表名(查看索引)
2.添加表级约束
create table stuinfo(
id int ,
stuName varchar(20) ,
gender char(1)),
seat int ,唯一
age int,

);
主键和唯一的对比
1.都能保证唯一性
2.主键不能为null,唯一可以为空

标识列

又称为自增长列
可以不用手动的插入值,系统提供默认的序列值。
特点:
1标识列必须要于主键搭配吗?不一定,但要求是一个key
2一个表可以又几个标识列?最多一个
3标识列的类型只能是数值型

create table tab_identity(
id int primary key auto_increment,
name varchar(20);
);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值