返回顶部
首页 > 资讯 > 数据库 >MySQL六种约束的示例详解
  • 132
分享到

MySQL六种约束的示例详解

MySQL六种约束MySQL约束 2023-02-21 10:02:09 132人浏览 独家记忆
摘要

目录什么是约束外键约束什么是约束 作用于表上的规则,限制存储在表中的数据 约束分类: 约束描述关键字非空约束该字段数据不能为nullNOT NULL唯一约束该字段数据唯一不重复UNIQUE主键约束一行数据的唯一标识(非空

什么是约束

作用于表上的规则,限制存储在表中的数据

约束分类:

约束描述关键字
非空约束该字段数据不能为nullNOT NULL
唯一约束该字段数据唯一不重复UNIQUE
主键约束一行数据的唯一标识(非空且唯一)PRIMARY KEY
默认约束未指定该字段值则使用默认值DEFAULT
检查约束(8.0.16以后)该字段值满足某一条件CHECK
外键约束为两张表建立连接(数据一致、完整)FOREIGN KEY

创建表示例:

CREATE TABLE info(
	`id` INT UNIQUE auto_increment PRIMARY KEY COMMENT'ID唯一标识',
	`name` VARCHAR(10) NOT NULL UNIQUE COMMENT'姓名',
	`age` INT CHECK(age > 0 && age < 120) COMMENT '年龄',
	`status` CHAR(1) DEFAULT'1' COMMENT'状态',
	`gender` CHAR(1) COMMENT'性别'
)COMMENT '用户信息表';

外键约束

外键通常用来为两张表建立连接,两张利用外键连接的表被称为父子表。

子表当中会设定一个外键字段用于关联父表的主键字段

即拥有外键的表是子表(从表),该外键对应另一个表的主键这个表称之为父表

如果没有设置外键,仅仅是将子表开了一个字段对应上了父表的主键字段在Mysql层面是依旧没有任何关系的。此时两个表仅存在逻辑关系,无法保证数据的完整性和一致性

创建外键语法:

-- 在创建表时创建
CREATE TABLE son(
	...
	CONSTRaiNT [外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表名(主表主键字段名)
);
-- 创建表后为表添加主键
ALTER TABLE 表名	ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表主键字段名)
-- 删除外键
alter table 表名 drop foreign key 外键名称;

创建示例:

# 父表
CREATE TABLE father(
	`id` INT auto_increment PRIMARY KEY COMMENT'父表ID',
	`name` VARCHAR(20) NOT NULL COMMENT'姓名',
	`passWord` VARCHAR(20) DEFAULT(0000)
);
INSERT INTO father VALUES(null,'小三','1234'),(null,'小四','1234'),(null,'小五','1234'),(null,'小六','1234');
# 子表
CREATE TABLE son(
	`id` INT auto_increment PRIMARY KEY COMMENT'子表ID',
	`status` varchar(10) COMMENT '状态',
	`fa_id` INT COMMENT'外键',
	CONSTRAINT fk_father_son FOREIGN KEY(fa_id) REFERENCES father(id)
);
INSERT INTO son VALUES(null,'活',2),(null,'活',3),(null,'死',3),(null,'活',2);

上述示例 子表设置了外键,字段名为fa_id并关联到了父表主键id,外键名称为fk_father_son

创建完成后,我们添加几组数据。将几个son添加到表中,并设置外键字段属性为某个father。比如(null,‘活’,3),那么此时如果我们尝试去删除父表id=3的这一行数据,就会提示错误。因为两个表已经在mysql层面上进行了关联

总结

  • 从表的外键通常是主表的主键
  • 从表中外键的类型必须与主表中的主键类型一致
  • 主表数据发生变化时应注意从表数据的一致性问题

到此这篇关于Mysql六种约束的示例详解的文章就介绍到这了,更多相关MySQL六种约束内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL六种约束的示例详解

本文链接: https://lsjlt.com/news/196856.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL六种约束的示例详解
    目录什么是约束外键约束什么是约束 作用于表上的规则,限制存储在表中的数据 约束分类: 约束描述关键字非空约束该字段数据不能为nullNOT NULL唯一约束该字段数据唯一不重复UNIQUE主键约束一行数据的唯一标识(非空...
    99+
    2023-02-21
    MySQL六种约束 MySQL约束
  • MySQL六种约束的示例详解(全网最全)
    目录一、概述二、约束演示三、外键约束1、 什么是外键约束2、 不使用外键有什么影响3、 添加外键的语法4、 删除/更新行为5、 演示删除/更新行为四、主键id到底用自增好还是uuid好五、实际开发尽量少用外键一、概述 概...
    99+
    2022-07-26
    MySQL约束类型 MySQL 约束
  • MySQL六种约束是什么
    本文小编为大家详细介绍“MySQL六种约束是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL六种约束是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是约束作用于表上的规则,限制存储在表中的数...
    99+
    2023-07-05
  • MySQL中常见的六个约束类型详解
    目录前言1. not null2. unique3. default4. primary key自增主键auto_increment5. foreign key6. check总结前...
    99+
    2024-04-02
  • MySQL约束超详解
    目录MySQL约束操作1.非空约束 2.唯一约束3.主键约束4.外键约束5、级联MySQL约束操作 概念:对表中的数据进行限定,保证数据的正确性,有效性和完整性。 分类: ...
    99+
    2024-04-02
  • MySQL主键约束和外键约束详解
    目录1、PRIMARY KEY2、FOREIGN KEY3、表的设计3.1 一对一3.2 一对多3.3 多对多1、PRIMARY KEY 上期我们讲述了 not null 和 unique 约束,而本期的第一个约束就是这...
    99+
    2023-03-13
    mysql主键约束和外键约束 mysql主键和外键
  • TypeScript泛型约束条件示例详解
    目录什么是泛型泛型的应用场景泛型约束(限制条件)泛型函数调用指定类型总结什么是泛型 两个值之间存在的对应关系,就可以用泛型来解决 泛型的应用场景 当一个函数的返回值的类型需要与此函数...
    99+
    2024-04-02
  • MySQL约束类型的示例分析
    这篇文章主要介绍MySQL约束类型的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!约束 约束保证数据的完整性和一致性约束分为表级约束和列级约束约束类型包括:NOT ...
    99+
    2024-04-02
  • MySQL外键约束(Foreign Key)案例详解
    目录一、mysql外键约束作用二、外键约束创建(一)创建外键约束的条件(二)在创建数据表时创建外键约束(三)在创建数据表后添加外键约束三、外键约束功能演示总结今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL...
    99+
    2022-06-28
    mysql外键约束怎么写 mysql创建外键约束的语法 mysql创建表时添加外键约束
  • 详解MySQL 外键约束
    官方文档: https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html 1.外键作用: MySQL通过外键约束来保证表与表之间的数...
    99+
    2022-05-11
    MySQL 外键 MySQL 外键约束
  • MySQL外键约束详解
    目录一、mysql外键约束作用二、外键约束创建(一)创建外键约束的条件(二)在创建数据表时创建外键约束(三)在创建数据表后添加外键约束三、外键约束功能演示今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL外键...
    99+
    2022-07-29
    Mysql外键约束
  • MySQL数据库约束操作示例讲解
    目录一、约束是什么二、约束的具体操作Not NULLUNIQUE约束的组合使用PRIMARY KEYDEFAULTFOREIGN KEY一、约束是什么 约束就是,在创建表的时候,对表设置一些规则,只有满足这些规则,才可以...
    99+
    2022-11-15
    MySQL数据库约束 MySQL约束
  • MySQL数据库约束详解
    目录基本介绍1.primary key(主键)细节说明2.not null(非空)3.unique(唯一)unique细节4.foreign key(外键)foreign key(外键)语法外键细节说明5.checkch...
    99+
    2024-04-02
  • MySQL——约束(constraint)详细解释
    约束是什么用来干嘛?约束实际上就是表中数据的限制条件作用:表在设计的时候加入约束的目的就是为了保证表中的记录完整和有效比如一些字段的唯一性,将一些字段约束成外键 约束种类:非空约束(not null)...
    99+
    2024-04-02
  • MySQL约束constraint用法详解
    目录前言一:主键约束 primary key1.添加单列主键2.添加多列主键(联合主键)3.通过修改表结构添加主键4.删除主键约束二:自增长约束 auto_increment1.添加自增长约束2. 指定自增字段初始值三:...
    99+
    2023-05-12
    mysql约束constraint mysql约束怎么设置 mysql constraint
  • MySQL外键约束的实例讲解
     MySQL的外键约束是用来在两个表之间建立链接的,其中一个表发生变化,另外一个表也发生变化。从这个特点来看,它主要是为了保证表数据的一致性和完整性的。 对于两个通过外键关联的表,相关联字段中主键所在的表是...
    99+
    2022-05-12
    MySQL 外键约束
  • Mysql中的CHECK约束特性详解
    功能说明 在mysql 8.0.16以前, CREATE TABLE允许从语法层面输入下列CHECK约束,但实际没有效果: CHECK (expr) 在 MySQL 8.0.16,CREATE TABLE添加了针对所有存...
    99+
    2022-08-08
    mysql check约束 MySQL检查约束 mysql设置check约束 mysqlcheck约束怎么写
  • Mysql表的约束超详细讲解
    目录约束的概念空属性默认值列描述zerofill主键自增长唯一键外键约束的概念 约束:通过限制用户操作的方式,来达到维护数据本身安全,完整性的一套方案。 为什么要有约束? Mysql...
    99+
    2024-04-02
  • Mysql中索引和约束的示例语句
    外键 查询一个表的主键是哪些表的外键 SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFER...
    99+
    2022-05-25
    MySQL 索引 MySQL 约束
  • MySQL数据库表中的约束详解
    目录mysql表中的约束(constraint)约束分类非空约束唯一性约束复合约束主键约束自增列-AUTO_INCREMENT外键约束FOREIGN KEY约束CHECK约束DEFAULT约束MySQL表中的约束(con...
    99+
    2023-03-02
    MySQL表中的约束 MySQL数据库约束 MySQL约束的使用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作