`SHOW CREATE TABLE` 是 MySQL 中查看表结构和约束的重要命令,它能够显示表的完整创建语句,包括所有约束信息。

 

命令语法

SHOW CREATE TABLE <数据表名>;

或使用更易读的格式:

SHOW CREATE TABLE <数据表名> \G

 

约束类型及显示方式

 

1. 主键约束 (PRIMARY KEY)

    显示为:`PRIMARY KEY (列名)`

  

2. 唯一约束 (UNIQUE)

    显示为:`UNIQUE KEY 约束名 (列名)`

  

3. 非空约束 (NOT NULL)

    显示在列定义中:`列名 数据类型 NOT NULL`

  

4. 默认值约束 (DEFAULT)

    显示在列定义中:`列名 数据类型 DEFAULT 默认值`

  

5. 外键约束 (FOREIGN KEY)

    显示为:`CONSTRAINT 约束名 FOREIGN KEY (列名) REFERENCES 引用表名 (引用列名)`

  

6. 检查约束 (CHECK)

    MySQL 8.0.16+ 版本支持,显示为:`CONSTRAINT 约束名 CHECK (表达式)`

 

实际应用示例

 

 创建包含多种约束的表

CREATE TABLE tb_emp8 (
    id INT(11) PRIMARY KEY,
    name VARCHAR(22) UNIQUE,
    deptId INT(11) NOT NULL,
    salary FLOAT DEFAULT 0,
    CHECK(salary>0),
    FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
);

 

 查看表约束

SHOW CREATE TABLE tb_emp8 \G

 

输出结果解析

1. row

       Table: tb_emp8

Create Table: CREATE TABLE `tb_emp8` (
  `id` int(11) NOT NULL,
  `name` varchar(22) DEFAULT NULL,
  `deptId` int(11) NOT NULL,
  `salary` float DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `deptId` (`deptId`),
  CONSTRAINT `tb_emp8_ibfk_1` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312

其他查看约束的方法

1. 查看表结构:

   DESC 表名;

  

   DESCRIBE 表名;

 

2. 查看外键约束:

  SELECT * FROM information_schema.TABLE_CONSTRAINTS 
   WHERE TABLE_NAME = '表名';

 

3. 查看键信息:

   SHOW KEYS FROM 表名;

点赞(1)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)