SQL 约束(Constraints)

简介: SQL 约束(Constraints)

SQL 约束(Constraints)

SQL 约束用于规定表中的数据规则。

如果存在违反约束的数据行为,行为会被约束终止。

约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。

SQL CREATE TABLE + CONSTRAINT 语法

CREATE TABLE table_name

(

column_name1 data_type(size) constraint_name,

column_name2 data_type(size) constraint_name,

column_name3 data_type(size) constraint_name,

....

);

在 SQL 中,我们有如下约束:

  • NOT NULL - 指示某列不能存储 NULL 值。
  • UNIQUE - 保证某列的每行必须有唯一的值。
  • PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
  • FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
  • CHECK - 保证列中的值符合指定的条件。
  • DEFAULT - 规定没有给列赋值时的默认值。

在下面的章节,我们会详细讲解每一种约束。


SQL CREATE TABLE 语句

SQL NOT NULL 约束

2 篇笔记 写笔记


  1.   张耘翡
     869***43@qq.com
    504
    PRIMARY KEY 约束的实例

CREATE TABLE Persons

(

   Id_P int NOT NULL,

   LastName varchar(255) NOT NULL,

   FirstName varchar(255),

   Address varchar(255),

   City varchar(255),

   PRIMARY KEY (Id_P)  //PRIMARY KEY约束

)

CREATE TABLE Persons

(

   Id_P int NOT NULL PRIMARY KEY,   //PRIMARY KEY约束

   LastName varchar(255) NOT NULL,

   FirstName varchar(255),

   Address varchar(255),

   City varchar(255)

)

  1. 张耘翡
      张耘翡
     869***43@qq.com
    7年前 (2018-01-06)

  2.   徐家豪
     317***5633@qq.com
    282
    foreign key 用法:

create table if not exists per(

 id bigint auto_increment comment '主键',

 name varchar(20) not null comment '人员姓名',

 work_id bigint not null comment '工作id',

 create_time date default '2021-04-02',

 primary key(id),

 foreign key(work_id) references work(id)

)


create table if not exists work(

 id bigint auto_increment comment '主键',

 name varchar(20) not null comment '工作名称',

 create_time date default '2021-04-02',

 primary key(id)

)

目录
相关文章
|
1月前
|
SQL 数据采集 关系型数据库
7、SQL约束
7、SQL约束
37 0
|
2月前
|
SQL Oracle 关系型数据库
CREATE TABLE 时的 SQL FOREIGN KEY 约束
【7月更文挑战第24天】CREATE TABLE 时的 SQL FOREIGN KEY 约束。
44 5
|
2月前
|
SQL Oracle 关系型数据库
ALTER TABLE 时的 SQL PRIMARY KEY 约束
【7月更文挑战第24天】ALTER TABLE 时的 SQL PRIMARY KEY 约束。
26 3
|
2月前
|
SQL Oracle 关系型数据库
CREATE TABLE 时的 SQL FOREIGN KEY 约束
【7月更文挑战第19天】CREATE TABLE 时的 SQL FOREIGN KEY 约束
35 8
|
2月前
|
SQL Oracle 关系型数据库
CREATE TABLE 时的 SQL PRIMARY KEY 约束
【7月更文挑战第24天】CREATE TABLE 时的 SQL PRIMARY KEY 约束。
35 2
|
2月前
|
SQL Oracle 关系型数据库
SQL CHECK 约束
【7月更文挑战第19天】SQL CHECK 约束。
36 5
|
2月前
|
SQL Oracle 关系型数据库
SQL PRIMARY KEY 约束
【7月更文挑战第19天】SQL PRIMARY KEY 约束。
41 4
|
2月前
|
SQL Oracle 关系型数据库
ALTER TABLE 时的 SQL PRIMARY KEY 约束
【7月更文挑战第19天】ALTER TABLE 时的 SQL PRIMARY KEY 约束。
33 3
|
2月前
|
SQL 关系型数据库 MySQL
ALTER TABLE 时的 SQL DEFAULT 约束
【7月更文挑战第20天】ALTER TABLE 时的 SQL DEFAULT 约束。
30 1
|
2月前
|
SQL Oracle 关系型数据库
SQL DEFAULT 约束
【7月更文挑战第20天】SQL DEFAULT 约束。
33 1