📜  约束sql(1)

📅  最后修改于: 2023-12-03 14:56:49.539000             🧑  作者: Mango

约束SQL

SQL是结构化查询语言的缩写,也是关系型数据库管理系统的标准语言。SQL语言中一些约束条件的使用可以使得我们的数据库更加健壮,本文介绍几种常用的约束条件及其使用方法。

主键约束

主键是指一张数据表中的一个或多个列,其作用是唯一标识该表中的每一行数据。主键约束可以保证该表中每一行数据的唯一性,避免了数据冲突的产生。

语法:

CREATE TABLE table_name (
   column_name1 data_type PRIMARY KEY,
   column_name2 data_type,
   column_name3 data_type,
   ...
);

示例:

CREATE TABLE employees (
   employee_id INT PRIMARY KEY,
   employee_name VARCHAR(50),
   employee_email VARCHAR(50),
   employee_salary INT
);
外键约束

外键约束是指一个数据表的某个或多个字段引用了另一个表的主键,用于保证数据表与数据表之间的一致性和完整性。外键约束使得数据表之间的关系更加清晰,更容易维护。

语法:

CREATE TABLE table_name (
   column_name1 data_type,
   column_name2 data_type,
   ...
   CONSTRAINT constraint_name FOREIGN KEY (column_name1, column_name2, ...) REFERENCES table_name (column_name1, column_name2, ...)
);

示例:

CREATE TABLE orders (
   order_id INT PRIMARY KEY,
   customer_id INT,
   order_date DATE,
   CONSTRAINT fk_customer_id FOREIGN KEY (customer_id) REFERENCES customers(id)
);
非空约束

非空约束是指某个字段的值不能为NULL。这种约束可以移除不必要的空值,确保数据的准确性。

语法:

CREATE TABLE table_name (
   column_name1 data_type NOT NULL,
   column_name2 data_type,
   ...
);

示例:

CREATE TABLE products (
   product_id INT PRIMARY KEY,
   product_name VARCHAR(50) NOT NULL,
   product_price INT
);
唯一约束

唯一约束是指某个字段的值必须唯一。它可以在保证数据表的一致性和完整性的同时,检测和避免数据重复。

语法:

CREATE TABLE table_name (
   column_name1 data_type UNIQUE,
   column_name2 data_type,
   ...
);

示例:

CREATE TABLE customers (
   customer_id INT PRIMARY KEY,
   customer_name VARCHAR(50) UNIQUE,
   customer_email VARCHAR(50)
);

以上是四种最为常用的约束条件,合理地使用它们可以在数据库设计时提高数据的有效性和完整性。