mysql数据库约束有哪些

mysql数据库约束有哪些。小编来告诉你更多相关信息。mysql数据库约束有哪些这些知识你了解吗?mysql数据库约束有哪些方面的知识,接下来带大家一起了解。1、约束什么是约束对表中的数据

mysql数据库约束有哪些。小编来告诉你更多相关信息。

mysql数据库约束有哪些

这些知识你了解吗?mysql数据库约束有哪些方面的知识,接下来带大家一起了解。

1、约束

什么是约束

  • 对表中的数据进行限定,保证数据的正确性、有效性、完整性
  • 约束通常是在创建表的时候进行约束

mysql数据库约束有哪些

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数据库约束有哪些的IT小经验,希望能为您在生活中带来帮助!

本文内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅供展示。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 97552693@qq.com 举报,一经查实,本站将立刻删除。
数码科技

APIkey和token有什么区别?

2023-11-5 13:29:44

数码科技

ZK的watch机制实现原理

2023-11-5 13:30:56

搜索