查看数据表结构 === 创建完数据表之后,通常需要确认表结构是否正确,例如字段名是否写对、数据类型是否符合预期、主键和默认值是否生效。这时就需要查看数据表结构。 ### DESCRIBE语句 查看表结构最常用的语句是 `DESCRIBE`,也可以简写为 `DESC`。 基本语法如下: ```sql DESCRIBE 表名; ``` 或者: ```sql DESC 表名; ``` 示例: ```sql DESCRIBE user; ``` 执行后通常会返回以下几类信息: - `Field`:字段名 - `Type`:字段类型 - `Null`:是否允许为空 - `Key`:是否为主键、索引等 - `Default`:默认值 - `Extra`:附加信息,例如 `auto_increment` 例如可能看到这样的结果: ```sql +------------+------------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+------------------+------+-----+-------------------+----------------+ | id | int unsigned | NO | PRI | NULL | auto_increment | | name | varchar(32) | NO | | | | | sex | tinyint | NO | | 0 | | | mobile | varchar(20) | NO | | | | | created_at | datetime | NO | | CURRENT_TIMESTAMP | | +------------+------------------+------+-----+-------------------+----------------+ ``` `DESCRIBE` 的优点是简单直观,适合快速确认表字段定义。 ### SHOW CREATE TABLE语句 如果你不仅想看字段摘要,还想看到完整的建表 SQL,应该使用 `SHOW CREATE TABLE`。 基本语法如下: ```sql SHOW CREATE TABLE 表名; ``` 示例: ```sql SHOW CREATE TABLE user; ``` 这个语句会返回两列信息: - 表名 - 生成这张表的完整 `CREATE TABLE` 语句 例如返回结果中会包含: - 字段定义 - 主键定义 - 外键约束 - 存储引擎 - 字符集 - 排序规则 它特别适合以下场景: 1. 想确认真实建表语句是什么。 2. 想查看某个约束、默认值、字符集是否真的生效。 3. 想复制表结构到其他环境。 4. 排查表结构和预期不一致的问题。 例如某些字段虽然在 `DESCRIBE` 里能看到类型,但看不到注释、外键约束或表级配置,这时 `SHOW CREATE TABLE` 更完整。 ### 小结 `DESCRIBE` 适合快速看字段摘要,`SHOW CREATE TABLE` 适合查看完整建表定义。实际工作中,这两个语句通常会搭配使用:先用 `DESC` 快速确认,再用 `SHOW CREATE TABLE` 检查完整结构。