mysql

MySQL约束constraint怎么使用

小亿
108
2024-01-23 16:08:24
栏目: 云计算

MySQL约束(constraint)用于在数据库表中定义的列上施加规则,以限制插入、更新或删除操作。约束可以确保数据的完整性和一致性。

在MySQL中,可以使用以下关键字来定义约束:

  1. PRIMARY KEY:在列上定义主键约束,用于唯一标识表中的每一行。一个表只能有一个主键约束,且主键值不能为NULL。
CREATE TABLE table_name (
    column1 datatype PRIMARY KEY,
    column2 datatype,
    ...
);
  1. FOREIGN KEY:在列上定义外键约束,用于建立表与表之间的关系。外键值必须是被引用表中的主键值,或者为NULL(如果允许)。被引用的表必须存在。
CREATE TABLE table_name1 (
    column1 datatype PRIMARY KEY,
    column2 datatype,
    ...
    FOREIGN KEY (column2) REFERENCES table_name2(column1)
);
  1. UNIQUE:在列上定义唯一约束,用于确保列中的值是唯一的,不可重复。
CREATE TABLE table_name (
    column1 datatype UNIQUE,
    column2 datatype,
    ...
);
  1. NOT NULL:在列上定义非空约束,用于确保列中的值不为NULL。
CREATE TABLE table_name (
    column1 datatype NOT NULL,
    column2 datatype,
    ...
);
  1. CHECK:在列上定义检查约束,用于限制列中的值必须满足特定的条件。
CREATE TABLE table_name (
    column1 datatype CHECK (condition),
    column2 datatype,
    ...
);
  1. DEFAULT:在列上定义默认约束,用于指定当插入新行时,如果未提供该列的值,则使用默认值。
CREATE TABLE table_name (
    column1 datatype DEFAULT default_value,
    column2 datatype,
    ...
);

可以在创建表时定义约束,也可以在已存在的表上使用ALTER TABLE语句来添加、修改或删除约束。

0
看了该问题的人还看了