mysql数据库约束有哪些 。小编来告诉你更多相关信息 。
mysql数据库约束有哪些这些知识你了解吗?mysql数据库约束有哪些方面的知识,接下来带大家一起了解 。
1、约束
什么是约束
- 对表中的数据进行限定 , 保证数据的正确性、有效性、完整性
- 约束通常是在创建表的时候进行约束
文章插图
1.1、主键约束
主键的作用
- 用来区分表中的数据
主键的特点
- 主键必须是唯一不重复的值
- 主键不能包含 null 值
添加主键
- 建表时添加主键
#方法1create table 表名(字段名 字段类型 PRIMARY KEY,字段名 字段类型);#方法2create table 表名(列名 数据类型,[CONSTRAINT] [约束名称] PRIMARY KEY(列名));/* =========== 主键约束 =========== */-- 创建表学生表st1, 包含字段(id, name, age)将id做为主键-- 创建表时添加主键CREATE TABLE st1 (id INT PRIMARY KEY,NAME VARCHAR(10),age INT);
- 建表后单独添加主键
ALTER TABLE 表名 ADD PRIMARY KEY(字段名);-- 在已有表中添加主键约束(了解)ALTER TABLE st1 ADD PRIMARY KEY(id);
删除主键约束
ALTER TABLE 表名 DROP PRIMARY KEY;-- 删除主键约束(了解)ALTER TABLE st1 DROP PRIMARY KEY;
注意:当你设置主键后,插入相同主键会报错[2023-10-28 10:02:45] [23000][1062] Duplicate entry \'1\' for key \'st1.PRIMARY\'
1.2、主键自增为什么自增主键如果让我们自己添加很可能重复,我们通常希望在每次插入新记录时 , 数据库自动生成主键字段的值
字段名 字段类型PRIMARY KEY AUTO_INCREMENT#注意 AUTO_INCREMENT 的字段类型必须是数值类型/* =========== 主键自动增长 =========== */-- 创建学生表st2, 包含字段(id, name, age)将id做为主键并自动增长CREATE TABLE st2 (id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(10),age INT);-- 修改自动增长的开始值ALTER TABLE st2 AUTO_INCREMENT = 1000;
1.3、唯一约束唯一约束的作用让字段的值唯一,不能重复
/* =========== 唯一约束 =========== */CREATE TABLE 表名(字段名 字段类型 UNIQUE,字段名 字段类型);CREATE TABLE emp (id INT PRIMARY KEY AUTO_INCREMENT, -- 员工id,主键且自增长ename VARCHAR(50) NOT NULL UNIQUE , -- 员工姓名,非空并且唯一);
1.4、非空约束非空约束的作用让字段的值不能为 null
mysql数据库约束有哪些 。小编来告诉你更多相关信息 。
mysql数据库约束有哪些
/* =========== 非空约束 =========== */CREATE TABLE 表名(字段名 字段类型 NOT NULL,字段名 字段类型);CREATE TABLE emp (id INT PRIMARY KEY AUTO_INCREMENT, -- 员工id,主键且自增长ename VARCHAR(50) NOT NULL UNIQUE , -- 员工姓名,非空并且唯一joindate DATE NOT NULL , -- 入职日期,非空salary DOUBLE(7,2) NOT NULL , -- 工资 , 非空);
1.5、默认值约束默认值约束的作用如果这个字段不设置值,就使用默认值
/* =========== 默认值约束 =========== */CREATE TABLE 表名(字段名 字段类型 DEFAULT值,字段名 字段类型);CREATE TABLE emp (id INT PRIMARY KEY AUTO_INCREMENT, -- 员工id,主键且自增长ename VARCHAR(50) NOT NULL UNIQUE , -- 员工姓名,非空并且唯一bonus DOUBLE(7,2) DEFAULT 1000-- 奖金,如果没有奖金默认为1000);
1.6、外键约束外键约束介绍外键约束是关系数据库中的一种约束,用于确保一个表中的数据在另一个相关表中存在对应的数据 。它定义了两个表之间的关系,其中一个表中的外键引用另一个表中的主键 。
通过外键约束 , 可以实现数据的完整性和一致性 。当在一个表中定义了外键约束后,插入、更新、删除操作都会受到限制,只有符合约束的操作才会被允许执行 。如果违反了外键约束,数据库会拒绝执行该操作,并返回错误信息 。
外键约束的使用
CTEATE TABLE 表名(字段名 字段类型,字段名 字段类型,[CONSTRAINT 外键约束名] FOREIGN KEY(外键字段名) REFERENCES 主表(主键字段名));-- 创建 employee 并添加外键约束CREATE TABLE employee (id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20),age INT,dep_id INT,CONSTRAINT fk_dep_id Foreign Key(dep_id) REFERENCES department(id));
【mysql数据库约束有哪些】
- 数据库事务隔离级别又是如何实现的?
- 数据库系统中的事务隔离级别有哪些?
- 数据库范式的优缺点有哪些?
- 在设计数据库时如何选择范式化或反范式化的设计方式?
- MySQL数据库复制的主要特点
- MySQL复制和组复制的主要区别
- mysql乐观锁怎么实现
- MySQL数据库组复制有什么特点
- MySQL:深入解析Binlog复制技术
- skip_errors参数配置推荐 mysql:replica