一、查看数据库创建语句
使用 `SHOW CREATE DATABASE` 命令 ```sql
SHOW CREATE DATABASE database_name;
```
示例:
```sql
SHOW CREATE DATABASE my_database;
```
输出示例:
```
Database: my_database
Create Database: CREATE DATABASE `my_database`
...(包含字符集、默认引擎等参数)
```
修改默认存储引擎(需谨慎操作)
若需查看默认数据库的创建语句,可修改配置文件(如 `my.ini`)中的 `default-storage-engine` 参数,重启MySQL服务。例如将 `InnoDB` 改为 `MyISAM`:
```ini
[mysqld]
default-storage-engine=MyISAM
```
重启后,使用 `SHOW CREATE DATABASE` 即可查看修改前的语句。
二、查看表结构创建语句
使用 `SHOW CREATE TABLE` 命令
```sql
SHOW CREATE TABLE table_name;
```
示例:
```sql
SHOW CREATE TABLE my_table;
```
输出示例:
```
Table: my_table
Create Table: CREATE TABLE `my_table` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键自增',
`name` varchar(255) NOT NULL COMMENT '姓名',
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
通过 `INFORMATION_SCHEMA` 查询
```sql
SELECT TABLE_NAME, CREATE_TABLES
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'database_name' AND TABLE_NAME = 'table_name';
```
示例:
```sql
SELECT TABLE_NAME, CREATE_TABLES
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
```
输出示例:
```
+----------------+------------------------------------------------------------------+
| TABLE_NAME | CREATE_TABLES |
|----------------|------------------------------------------------------------------|
| my_table | CREATE TABLE `my_table` (...) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; |
```
三、注意事项
权限要求: 部分操作需超级用户权限,建议使用 `root` 用户或具备相应权限的账号。 字符集差异
图形化工具:若使用Navicat、MySQL Workbench等工具,可通过右键表选择“转储SQL文件”功能直接导出建表语句。
通过以上方法,可快速获取数据库及表的创建逻辑,便于后续维护或迁移。