mysql怎么表约束
时间 : 2023-07-30 14:12:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在MySQL中,表约束是用于限制表中数据的完整性和一致性的规则。约束可以用于定义列的数据类型、默认值、唯一性、主键、外键等规则。下面介绍几种常见的MySQL表约束:

1. 主键约束(Primary Key Constraint):主键是用于唯一标识表中每一行数据的列或列的组合。主键约束是最常用的约束之一,在创建表时可以使用PRIMARY KEY关键字将一个或多个列定义为主键。主键约束会自动创建一个索引,并确保列中的值唯一和非空。

示例:

```sql

CREATE TABLE students (

id INT PRIMARY KEY,

name VARCHAR(50),

age INT

);

2. 唯一约束(Unique Constraint):唯一约束用于确保一个列或列的组合中的值是唯一的。在创建表时,可以使用UNIQUE关键字为一个或多个列添加唯一约束。如果添加了唯一约束的列中已经存在重复的值,则会导致插入或更新数据失败。

示例:

```sql

CREATE TABLE users (

username VARCHAR(50),

email VARCHAR(50) UNIQUE,

password VARCHAR(50)

);

3. 外键约束(Foreign Key Constraint):外键约束用于定义表与表之间的关系,并确保数据的一致性。外键约束指定了一个列或列的组合,该列或组合的值必须存在于其他表的对应列中。在创建表时,可以使用FOREIGN KEY关键字为一个或多个列添加外键约束。

示例:

```sql

CREATE TABLE orders (

id INT PRIMARY KEY,

product_id INT,

customer_id INT,

FOREIGN KEY (product_id) REFERENCES products(id),

FOREIGN KEY (customer_id) REFERENCES customers(id)

);

4. 默认约束(Default Constraint):默认约束用于在插入时为列提供默认值。在创建表时,可以使用DEFAULT关键字为一个或多个列添加默认约束。

示例:

```sql

CREATE TABLE products (

id INT PRIMARY KEY,

name VARCHAR(50),

price DECIMAL(10,2) DEFAULT 0.00

);

5. 非空约束(Not Null Constraint):非空约束用于确保列中的值不为空。在创建表时,可以使用NOT NULL关键字为一个或多个列添加非空约束。

示例:

```sql

CREATE TABLE employees (

id INT PRIMARY KEY,

name VARCHAR(50) NOT NULL,

email VARCHAR(50) NOT NULL

);

这些是MySQL中常见的几种表约束,通过使用这些约束,可以确保表中的数据满足预期的规则并保持数据的完整性和一致性。