sql约束怎么设置

在数据库设计中,约束是用于限制表中数据的取值范围和数据完整性的一种机制,通过设置约束,可以确保数据的一致性、有效性和可靠性,本文将详细介绍如何在SQL中设置各种约束。

非空约束(NOT NULL)

非空约束用于确保某列的值不能为空,在创建表时,可以为某列指定非空约束,也可以在表创建后添加非空约束。

sql约束怎么设置

1、创建表时设置非空约束:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT,
    department VARCHAR(50)
);

2、修改表结构添加非空约束:

ALTER TABLE employees
ADD CONSTRAINT chk_name CHECK (name <> '');

唯一约束(UNIQUE)

唯一约束用于确保某列的值在整个表中是唯一的,在创建表时,可以为某列指定唯一约束,也可以在表创建后添加唯一约束。

1、创建表时设置唯一约束:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    email VARCHAR(50) UNIQUE,
    age INT,
    department VARCHAR(50)
);

2、修改表结构添加唯一约束:

ALTER TABLE employees
ADD CONSTRAINT chk_email UNIQUE (email);

主键约束(PRIMARY KEY)

主键约束用于确保某列的值在整个表中是唯一且不为空,在创建表时,可以为某列指定主键约束,也可以在表创建后添加主键约束。

sql约束怎么设置

1、创建表时设置主键约束:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT,
    department VARCHAR(50)
);

2、修改表结构添加主键约束:

ALTER TABLE employees
ADD CONSTRAINT chk_id PRIMARY KEY (id);

外键约束(FOREIGN KEY)

外键约束用于确保某列的值与另一个表中的主键值相匹配,在创建表时,可以为某列指定外键约束,也可以在表创建后添加外键约束。

1、创建表时设置外键约束:

CREATE TABLE departments (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    manager_id INT,
    CONSTRAINT fk_manager FOREIGN KEY (manager_id) REFERENCES employees(id)
);

2、修改表结构添加外键约束:

ALTER TABLE departments
ADD CONSTRAINT fk_manager FOREIGN KEY (manager_id) REFERENCES employees(id);

检查约束(CHECK)

检查约束用于确保某列的值满足指定的条件,在创建表时,可以为某列指定检查约束,也可以在表创建后添加检查约束。

sql约束怎么设置

1、创建表时设置检查约束:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT,
    department VARCHAR(50),
    CONSTRAINT chk_age CHECK (age >= 18 AND age <= 65)
);

2、修改表结构添加检查约束:

ALTER TABLE employees
ADD CONSTRAINT chk_age CHECK (age >= 18 AND age <= 65);

默认约束(DEFAULT)

默认约束用于为某列指定一个默认值,在创建表时,可以为某列指定默认约束,也可以在表创建后添加默认约束。

1、创建表时设置默认约束:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT,
    department VARCHAR(50),
    hire_date DATE NOT NULL DEFAULT CURRENT_DATE, -默认值为当前日期和时间
    CONSTRAINT chk_hire_date CHECK (hire_date <= CURDATE()) -确保入职日期不早于当前日期和时间,因为默认值为当前日期和时间,所以不需要再添加检查约束了,如果需要自定义默认值,可以使用函数或表达式,hire_date NOT NULL DEFAULT NOW() + INTERVAL FLOOR(RAND() * (365)) YEAR,这将为员工分配一个随机的入职年份,这种方法可能会导致一些员工在同一天入职,因此需要根据实际情况进行调整。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/186710.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2023-12-31 21:55
Next 2023-12-31 21:57

相关推荐

  • html怎么设置单元格字体颜色

    HTML是一种用于创建网页的标准标记语言,它可以通过使用不同的标签和属性来设置单元格的字体颜色,在本文中,我们将详细介绍如何使用HTML设置单元格的字体颜色。1. 使用内联样式设置字体颜色我们可以使用内联样式直接在HTML元素中设置字体颜色,内联样式是将CSS样式直接应用到HTML元素的方式,要设置单元格的字体颜色,可以使用&……

    2024-03-29
    0145
  • 如何制作动感影集「如何制作动感影集视频教程」

    在这个数字化的时代,我们可以通过各种方式来记录和分享我们的生活。其中,制作动感影集是一种非常流行的方式。它可以让我们将生活中的美好瞬间以视频的形式保存下来,并与亲朋好友分享。那么,如何制作动感影集呢?本文将为你详细介绍。 一、选择视频素材 首先,你需要选择一些你想要制作...

    2023-12-13
    0170
  • 东莞南城网站建设价格_创建设备

    东莞南城网站建设的价格因开发需求、功能复杂度和设计要求不同而异。基础展示型网站可能只需几千元,而定制的电商平台或应用系统可能需要几万元到几十万元不等。建议与当地网络公司详细沟通以获取准确报价。

    2024-07-08
    070
  • html英文怎么换中文字体

    HTML英文怎么换中文字体在网页设计中,为了提高用户体验和视觉效果,我们经常需要将网页中的英文字体更换为中文字体,本文将详细介绍如何在HTML中设置中文字体,包括使用CSS样式表、@font-face规则以及引入外部字体文件等方法。1、使用CSS样式表最简单的方法是使用CSS样式表来设置网页的字体,我们可以在HTML文档的&l……

    2024-03-19
    0126
  • 电影网站做seo_网站推广(SEO设置)

    为了提升电影网站的搜索引擎排名,应进行关键词研究,确保内容质量高且相关,优化网站结构和导航,使用合适的元标签和描述,建立内部链接策略,获取高质量外部链接,以及提高网站速度和移动端友好性。

    2024-07-05
    0103
  • 美国不要钱主机cn2试用要有哪些需要注意的

    美国不要钱主机cn2试用要有哪些需要注意的在当今互联网高速发展的时代,虚拟主机已经成为了许多个人和企业的首选,美国作为互联网技术的发源地,拥有众多知名的主机服务商,其中CN2线路是中国电信与美国直接连接的高速网络,其速度和稳定性都非常出色,在进行美国不要钱主机cn2试用时,我们需要注意哪些方面呢?本文将从以下几个方面为您进行详细介绍。……

    2023-12-21
    083

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入