mysql常用的约束_MySQL常用的约束条件

本文详细介绍了MySQL数据库中的六种约束条件:主键约束、唯一约束、自动增长约束、非空约束、默认约束和外键约束。主键约束确保记录的唯一性,唯一约束允许空值但不允许重复,自动增长约束用于数值字段自动递增,非空约束不允许字段为空,默认约束为字段提供默认值,而外键约束则维护了表间的数据完整性。通过各种约束,可以有效保证数据库中数据的准确性和一致性。
摘要由CSDN通过智能技术生成

约束条件

约束条件是在表和字段上强制执行的数据检验规则,

它是为了防止不规范的数据进入数据库,

在我们对数据执行插入、修改、删除等一系列操作的时候,

数据库管理系统会自动按照指定的约束条件对数据进行监测,

它主要是对空值和重复值的检测,来保证数据存储的完整性和准确性。

按照约束的不同功能,MySQL中常用的约束条件有以下六种。

1.主键约束

主键是表中非空不重复的字段,它可以唯一的标识表中的一条记录。

作为主键的字段取值不能为空,也不可以重复,并且一张表中只能有一个主键,

但是构成主键的字段可以是一个也可以有多个。

也就是说主键只能有一个,但是一个主键可以由多个字段构成,

当多个字段的取值完全一样的情况下才会违反主键约束。

①添加主键约束的方法1:

creat table (

primary key,

……

);

示例:

create table employee(

e_id int primary key,

e_name varchar(5),

e_sex varchar(5),

e_age int,

d_id int

);

②添加主键约束的方法2:

create table (

,

,

......

,

[constraint 主键约束名] primary key(字段名1[,字段名2,...字段名n])

);

示例:

create table employee(

e_name varchar(5),

e_sex varchar(5),

e_age int,

d_id int,

primary key(e_name,e_sex)

);

③删除主键约束的方法:

alter table drop primary key;

示例:

alter table employee drop primary key;

2.唯一约束

唯一约束要求指定字段的数据取值不能重复,可以是空值,但是空值也只能出现一次。

①添加唯一约束的方法1:

creat table (

unique,

,

……

);

示例:

create table employee(

e_id int,

e_name varchar(5) unique,

e_sex varchar(5),

e_age int,

d_id int

);

②添加唯一约束的方法2:

creat table (

,

,

……

,

[constraint 唯一约束名] unique (字段名1[,字段名2...字段名n])

);

示例:

create table employee(

e_id int,

e_name varchar(5),

e_sex varchar(5),

e_age int,

d_id int,

unique (e_name,e_sex)

);

③删除唯一约束的方法:

alter table drop index ;

如果单个字段没有指定唯一约束名,则默认的唯一约束名为字段名。

如果是多个字段组合为唯一约束时候,默认的唯一约束名为第一个字段的名称。

如果指定了约束名,则删除的时候写约束名。

示例:

alter table employee drop index e_name;

3.自动增长约束

自动增长约束是要求指定字段的数据取值自动增长,默认是从1开始,

每增加一条记录,这个字段的取值就会加1,

所以它只适用数值型和日期时间型字段,并且要配合主键一起使用。

①添加字段增长约束的方法:

creat table (

primary key auto_increment,

,

……

);

示例:

create table employee(

e_id int primary key auto_increment,

e_name varchar(5),

e_sex varchar(5),

e_age int,

d_id int

);

②删除自动增长约束的方法:

alter table modify ;

示例:

alter table employee modify e_id int;

4.非空约束

非空约束是要求指定字段的取值不能为空值。

①非空约束的方法:

creat table (

not null,

,

……

);

示例:

create table employee(

e_id int,

e_name varchar(5) not null,

e_sex varchar(5),

e_age int,

d_id int

);

②删除非空约束的方法:

alter table modify [null];

示例:

alter table employee modify e_name int;

5.默认约束

默认约束是指在插入新记录的时候,如果没有为指定字段赋值,

数据库管理系统会自动为这个字段赋值为默认约束设定的值。

①添加默认约束的方法:

creat table (

default value,

,

……

);

示例:

create table employee(

e_id int,

e_name varchar(5),

e_sex varchar(5),

e_age int default 0,

d_id int

);

②删除默认约束的方法:

alter table modify ;

示例:

alter table employee modify e_age int;

6.外键约束

外键约束是指一个表中的字段取值依赖于另一个表中字段的值。

主键所在的表叫主表,外键所在的表叫从表。

每一个外键值必须与主表中的主键值相对应。

①添加外键约束的方法:

creat table (

,

,

……

,

[constraint 外键约束名] foreign key(字段名) references (主键字段)

);

示例:

-- 创建一个主表

create table department(

d_id int primary key,

d_name varchar(5),

d_num int);

-- 创建从表的同时添加外键

create table employee(

e_id int primary key,

e_name varchar(5),

e_sex varchar(5),

e_age int,

d_id int,

foreign key(d_id) references department(d_id)

);

②删除外键约束的方法:

alter table drop foreign key ;

先删除从表再删除主表。

先删除外键约束,再删除表。

示例:

alter table employee drop foreign key fk_d_id;

7.小结

约束条件 特点

主键约束(PRIMARY KEY) 非空不重复

非空约束(NOT NULL) 不能为空

唯一约束(UNIQUE) 不能重复

自增字段(AUTO_INCREMENT) 自动增长

默认约束(DEFAULT) 默认值

外键约束(FOREIGN KEY) 与主键相对应

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值