
如何使用 SQL 语句查询 MySQL 数据库存储结构
要查询 MySQL 数据库存储结构,可以使用以下 SQL 语句:
1
SHOW CREATE TABLE table_name;
其中,table_name 是要查询存储结构的表的名称。
该语句将返回一个包含以下信息的字符串:
Table structure:表的列定义,包括列名、数据类型、是否允许空值以及其他约束。 Table options:有关表的一般属性的信息,例如存储引擎、字符集和排序规则。详细说明:
列定义:每个列的信息都以以下格式显示:1
column_name data_type [NOT NULL | NULL] [DEFAULT default_value] [constraints]
其中:
1
2
3
4
5
`column_name` 是列的名称。
`data_type` 是列的数据类型(例如,`INT`、`VARCHAR`)。
`NOT NULL` 或 `NULL` 表示该列是否允许空值。
`DEFAULT default_value` 是列的默认值(如果指定)。
`constraints` 是任何适用的列约束(例如,`PRIMARY KEY`、`UNIQUE`)。
1
[TABLE option_name = option_value, ...]
其中:
1
2
`option_name` 是表选项的名称(例如,`ENGINE`、`CHARSET`)。
`option_value` 是选项的值。
示例:
查询名为 users 的表的存储结构:
1
SHOW CREATE TABLE users;
该语句可能返回类似以下内容的字符串:
1
2
3
4
5
6
7
8
9
CREATE TABLE `users` (
`id` INT NOT NULL AUTO_INCREMENT,
`username` VARCHAR(64) NOT NULL UNIQUE,
`password` VARCHAR(64) NOT NULL,
`email` VARCHAR(128) NOT NULL,
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8