mysql 约束简介

mysql 约束

一.数据的完整性

​ 作用:保证用户输入的数据保存到数据库中是正确的

​ 实质:创建表的时候给表中的字段添加约束

1.实体完整性

​ 实体:表中的一行或者一条记录代表一个实体

​ 实体完整性的作用:标识每一行数据不重复

2 约束

A. 主键约束

主键约束: primary key

特点: 数据唯一,且不能为null

主关键字可以是表中的一个字段或者多个字段,他的值用来唯一标识表中的某一条记录

场景: 在多个表的关联关系中

mysql> create table stu1(
-> id int primary key,
-> name varchar(50)
-> );

mysql> create table stu2(
-> id int ,
-> name varchar(50),
-> **primary key(**id,name)
-> );

B. 唯一约束

作用: 不能出现重复值,但可以为null

create table stu( id int primary key,

​ name varchar(50) unique );

#primary key和unique之间的区别
a1.二者都强调的是唯一性
b1.在同一个表中,一般只出现一个primary key,可以出现多个unique
c1.primary key不允许为null,但是unique是允许的

C. 自增长约束

自增长约束使用字段只能是整数类型; 一般会添加给主键

mysql> create table stu5(
-> id int primary key auto_increment,
-> name varchar(50) unique
-> );

D.非空约束

not null,如果字段被约束为not null ,插入数据的时候,字段坚决不能为null,

如果为null,数据库立马报错;

create table stu( id int primary key auto_increment,

​ name varchar(50) unique not null);

E.默认值约束

使用默认值约束字段,如果建表插入数据时未传入参数,表格中将会用默认值填充.

mysql> create table stu7(
-> id int primary key auto_increment,
-> name varchar(50) unique not null,
-> address varchar(50) default “beijing”
-> ); # 添加参数时adress 不传参数就会默认为beijing

F.外键约束

foreign key

添加外键必须先有主键,主键和外键的类型必须保持一致

作用:将两个甚至多个表产生联系

mysql> create table student(
-> stuid varchar(10) primary key,
-> stuname varchar(50)
-> );

mysql> create table score(
-> score int,
-> courseid int
-> stuid varchar(10) foreign key(stuid) references student(stuid));

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值