MySQL基础教程14——约束

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 非空约束限制的字段在添加数据时如果字段值为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;

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
24天前
|
关系型数据库 MySQL Java
centos7安装mysql教程及Navicat平替软件
【8月更文挑战第17天】本教程详述CentOS 7上安装MySQL的过程。首先确保移除任何预装的MySQL组件,然后通过wget获取并安装MySQL的YUM源。可以选择安装特定版本如5.7或8.0。安装MySQL服务器后,启动服务并查找初始密码。登录MySQL后应立即更改密码,并可根据需要设置远程访问权限。此外,还推荐使用免费开源的DBeaver作为数据库管理工具,提供了安装步骤以方便管理和操作MySQL数据库。
|
3天前
|
存储 关系型数据库 MySQL
MySQL数据库基础:约束
约束是对数据库表中字段施加的规则,确保数据的正确性、有效性和完整性。主要分为非空约束、唯一约束、默认约束、主键约束和外键约束。非空约束禁止字段值为null;唯一约束确保字段值唯一,允许null值重复;默认约束设定默认值;主键约束结合非空与唯一约束,并可设为自增型;外键约束则通过关联其他表的主键,保证数据一致性。检查约束确保字段值满足特定条件。
13 1
|
1月前
|
数据采集 关系型数据库 MySQL
在 MySQL 中使用约束
【8月更文挑战第11天】
31 0
在 MySQL 中使用约束
|
11天前
|
SQL 关系型数据库 MySQL
PHP与MySQL交互之基础教程
【8月更文挑战第31天】 在数字世界中,数据是推动一切的核心力量。本文将引导你探索PHP与MySQL的协同工作,通过实际代码示例,展示如何建立连接、执行查询以及处理结果集。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你提供宝贵的实践知识。
|
18天前
|
关系型数据库 MySQL 网络安全
MySQL主从复制详细教程
配置MySQL的主从复制是一个细致的过程,需要仔细遵循上述步骤进行。一旦配置完成并运行正常,主从复制将大大提高数据库的可用性和读写性能。在操作过程中,务必保持谨慎,确保数据的一致性和安全性。
61 0
|
2月前
|
关系型数据库 MySQL Linux
Docker安装mysql详细教程, mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘(报错已解决)
Docker安装mysql详细教程, mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory) 已解决
|
2月前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
120 3
|
2月前
|
关系型数据库 MySQL 数据库
MySQL 保姆级教程(八):创建计算字段
MySQL 保姆级教程(八):创建计算字段
|
2月前
|
关系型数据库 MySQL
MySQL 保姆级教程(五):数据过滤
MySQL 保姆级教程(五):数据过滤
|
2月前
|
关系型数据库 MySQL
MySQL 保姆级教程(四):过滤数据
MySQL 保姆级教程(四):过滤数据

热门文章

最新文章