MySQL中5种约束的详解

MySQL中的5种约束包括:主键约束(PRIMARY KEY)、外键约束(FOREIGN KEY)、唯一约束(UNIQUE)、非空约束(NOT NULL)和检查约束(CHECK)。

MySQL中的5种约束主要包括:

创新互联是一家集网站建设,临安企业网站建设,临安品牌网站建设,网站定制,临安网站建设报价,网络营销,网络优化,临安网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

1、非空约束(NOT NULL)

2、唯一约束(UNIQUE)

3、主键约束(PRIMARY KEY)

4、外键约束(FOREIGN KEY)

5、检查约束(CHECK)

下面是对这5种约束的详细解释:

1. 非空约束(NOT NULL)

非空约束用于限制列中的值不能为NULL,当在表中定义某个列时,如果希望该列始终有值,而不是空值,可以使用非空约束,创建一个包含姓名和年龄的表,我们希望每个人都有名字和年龄,所以可以使用非空约束来确保这些列始终有值。

CREATE TABLE person (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  age INT NOT NULL
);

2. 唯一约束(UNIQUE)

唯一约束用于确保某列的值在表中是唯一的,这意味着在任何时候,都不允许有两个相同的值存在于具有唯一约束的列中,如果我们希望确保每个人的电子邮件地址在表中是唯一的,可以使用唯一约束。

CREATE TABLE person (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  email VARCHAR(255) UNIQUE,
  age INT NOT NULL
);

3. 主键约束(PRIMARY KEY)

主键约束用于唯一标识表中的每一行记录,主键列中的值必须是唯一的,并且不能为NULL,一个表只能有一个主键,这个主键可以由一个或多个列组成,我们可以使用ID作为主键来唯一标识每个人。

CREATE TABLE person (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  email VARCHAR(255) UNIQUE,
  age INT NOT NULL
);

4. 外键约束(FOREIGN KEY)

外键约束用于确保在一个表中的数据与另一个表中的数据相匹配,外键是一个或多个字段的组合,其值应匹配另一个表的主键,如果我们有一个订单表和一个客户表,我们可以使用外键约束来确保每个订单都与一个有效的客户关联。

CREATE TABLE customer (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  email VARCHAR(255) UNIQUE,
  age INT NOT NULL
);
CREATE TABLE order (
  id INT AUTO_INCREMENT PRIMARY KEY,
  customer_id INT,
  product_name VARCHAR(255) NOT NULL,
  FOREIGN KEY (customer_id) REFERENCES customer(id)
);

5. 检查约束(CHECK)

检查约束用于限制列中的值必须满足指定的条件,如果我们希望确保每个人的年龄在18到100之间,可以使用检查约束。

CREATE TABLE person (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  email VARCHAR(255) UNIQUE,
  age INT NOT NULL CHECK (age >= 18 AND age <= 100)
);

分享名称:MySQL中5种约束的详解
URL分享:http://www.shufengxianlan.com/qtweb/news7/489857.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联