MySQL基础教程14——约束

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 非空约束限制的字段在添加数据时如果字段值为null会向数据库申请一次主键(会影响自增字段的值)。

MySQL基础教程14——约束


MySQL基础教程14——约束


非空约束(not null)


例子:


telephone char(10) not null;


删除:


alter table xxx modify 字段名 要保留的约束;


非空约束限制的字段在添加数据时如果字段值为null会向数据库申请一次主键(会影响自增字段的值)。


唯一约束(unique)


例子:


name varchar(10) unique;


删除:


alter table xxx drop index 字段名;


唯一约束的字段值不能为重复值,若为已有值则会报错。


主键约束(primary key)


自增字段:auto_increment


例子:


id int primary key auto_increment;


删除:


alter table xxx drop primary key;


若主键被空值申请但数据为被添加则自增一次。


默认约束(default)


例子:


status char(1) default '默认值';


删除:


alter table xxx modify 字段名 要保留的约束;


设置过默认约束的字段在添加数据时若无添加则自动将值改为默认值。


检查约束(check)


例子:


age int check(age>0 and age<=120);


删除:


alter table xxx modify 字段名 要保留的约束;


若添加值在检查约束条件外无法添加。


外键约束

create table 表名)
    字段名 字段类型,
    ....
    constraint 外键名称 foreign ky 外键字段名 references 主表(主表列名)
    );

外键名称:自行定义的名称 外键字段名:子表需要连接的键 主表(主表列名):父表(主键)


修改已经创建的表的外键


alter table 表名 add constraint 外键名称 foreign key (外键字段名) references 主表(主表列名);


删除已经创建的表的外键


alter table 表名 drop foreign key 外键名称;


外键的删除与更新


cascade(子表随着父表更新/删除 而 更新/删除)


alter table 表名 add constaint 外键名称 foreign key (外键字段名) references 主表(主表列名) on update cascade on delete cascade;


set null(父表删除时子表若有数据则改为null)


alter table 表名 add constaint 外键名称 foreign key (外键字段名) references 主表(主表列名) on update set null on delete set null;

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
存储 关系型数据库 MySQL
mysql安装教程mac
【4月更文挑战第21天】
|
1天前
|
SQL 关系型数据库 MySQL
MySQL数据库的约束+进阶版新增与查询-2
MySQL数据库的约束+进阶版新增与查询
13 1
|
1天前
|
关系型数据库 MySQL 测试技术
MySQL数据库的约束+进阶版新增与查询-1
MySQL数据库的约束+进阶版新增与查询
16 1
|
1天前
|
SQL 关系型数据库 MySQL
MySQL最新版8.1.0安装配置教程
本文章,是对自己在安装最新版MySQL最新版8.1.0安装配置的一个详细过程吧,中间也有很多不清楚的地方,但是经过自己的多次对,工具环境以及软件环境的配置,现在对于这个的安装也算得心应手吧,不仅仅是一种总结,更是对自己经验的一种积累.
|
1天前
|
存储 安全 关系型数据库
MySQL中使用percona-xtrabackup工具 三种备份及恢复 (超详细教程)
MySQL中使用percona-xtrabackup工具 三种备份及恢复 (超详细教程)
|
1天前
|
关系型数据库 MySQL Linux
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
|
1天前
|
安全 关系型数据库 MySQL
MySQL安装教程
MySQL安装教程
33 0
|
1天前
|
关系型数据库 MySQL Linux
【MySQL-2】MySQL的下载&安装&启停&配置环境变量【一条龙教程】
【MySQL-2】MySQL的下载&安装&启停&配置环境变量【一条龙教程】
|
1天前
|
关系型数据库 MySQL 数据库
【MySQL】:约束全解析
【MySQL】:约束全解析
25 0
|
1天前
|
关系型数据库 MySQL 数据库
【MySQL】:超详细MySQL完整安装和配置教程
【MySQL】:超详细MySQL完整安装和配置教程
319 1