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

相关推荐

  • 这个邮件发给我们的邮箱被退信了英文

    这个邮件发给我们的邮箱被退信大家好,今天我们要讨论的问题是:为什么我们收到的邮件会被退信?退信的原因有哪些?如何避免邮件被退信?本文将从技术层面进行详细介绍,并在最后提供四个相关问题与解答。什么是退信?退信,即Return Message,是指收件人收到邮件后,将其退回发件人的邮件,这种情况通常是由于邮件内容不符合收件人的要求、发件人……

    2023-12-16
    0207
  • 0.5美元vps

    在当前的数字化时代,云计算已经成为了企业和个人的重要工具,它提供了一种灵活、可扩展的方式来存储和处理数据,而不需要投资昂贵的硬件设备,VPS(虚拟专用服务器)是一种常见的云服务形式,它允许用户在一台物理服务器上创建多个独立的虚拟环境,每个用户都可以获得一部分计算资源和操作系统权限,许多VPS服务的价格都相对较高,对于预算有限的用户来说……

    2024-03-27
    071
  • 协盈安防摄像头ip地址是多少

    协盈安防摄像头IP地址在现代生活中,安防摄像头已经成为了我们生活的一部分,它们不仅可以帮助我们监控家中的安全,还可以在商业环境中起到防盗、防火等作用,而在这些摄像头中,协盈安防摄像头因其稳定的性能和优秀的画质,受到了广大用户的喜爱,要想让协盈安防摄像头发挥出最大的效果,我们需要知道如何正确地设置其IP地址,下面,我们就来详细介绍一下协……

    2024-03-19
    0185
  • PHP关于syntax error语法错误的问题(Parse error: syntax error, unexpected \'}\' in x)

    PHP语法错误通常是由于代码中的括号、引号或分号未正确配对导致的。请检查代码并修复这些错误。

    2024-05-31
    079
  • 天谕ip防封

    天谕IP防封技术介绍天谕是一款非常受欢迎的网络游戏,拥有大量的玩家,随着游戏的火爆,一些不良分子开始利用游戏进行欺诈、诈骗等不法行为,给游戏带来了很大的负面影响,为了维护游戏的正常秩序,保障玩家的利益,天谕开发商采取了一系列措施来防止IP被封,本文将详细介绍这些措施及其原理。1、实名制注册实名制注册是防止恶意注册的一种有效手段,在天谕……

    2024-01-03
    096
  • 云主机的用户名怎么查看

    云主机的用户名查看方法在云计算时代,云主机已经成为了企业和个人用户的首选,在使用云主机时,我们经常需要查看或修改用户名,本文将介绍如何查看云主机的用户名。1. 登录云主机控制台我们需要登录到云主机所在的云服务提供商的控制台,不同的云服务提供商可能有不同的登录方式和界面,但一般来说,我们可以在浏览器中输入云服务提供商提供的网址,然后使用……

    2023-11-30
    0182

发表回复

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

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