MySQL操作表的约束

    xiaoxiao2025-05-16  11

    DROP DATABASE `test`; CREATE DATABASE `test`; SHOW DATABASES; USE TEST; CREATE TABLE `t_1`( `id` INT PRIMARY KEY AUTO_INCREMENT, # PRIMARY KEY用于设置主键约束(唯一标识所有记录,主键字段是唯一的,非空的)这是一个单字段主键 # AUTO_INCREMENT设置自动增加,在一个数据库中只能有一个字段使用这个约束,并且这个字段的数据类型必需为INT `name` VARCHAR(20) NOT NULL, # NOT NULL用于约束字段的值不能为空 `phone` INT DEFAULT '123456789', # DEFAULT用于设置默认值 `employee` INT UNIQUE # UNIQUE 用于说明设置字段的值是唯一的 ); DESC `t_1`; # 可以创建一个多字段主键 CREATE TABLE `t_2`( `id` INT, `name` VARCHAR(20), CONSTRAINT pk PRIMARY KEY(`id`,`name`) # 这是一个多字段的主键,pk为约束名 ); DESC `t_2`; # 外键约束,设置外键约束的两个表之间往往有父子关系,即子表中某个字段的取值范围由父表所决定 CREATE TABLE `department`( `id` INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(20) ); CREATE TABLE `man`( `id` INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(20), `departnum` INT, CONSTRAINT fk_name FOREIGN KEY(`departnum`) REFERENCES `department`(`id`) ); DESC MAN; # 在上述的关系中,假如表man里面的那个外键约束的值不在department表中的id里面,就会产生错误,类似于设置了一个枚举类型 首发于我的个人网站:  点击打开链接
    转载请注明原文地址: https://ju.6miu.com/read-1298938.html
    最新回复(0)