mysql查看数据库

发布于:2025-07-03 ⋅ 阅读:(16) ⋅ 点赞:(0)

在 MySQL 中查看当前数据库的创建语句,使用 SHOW CREATE DATABASE 命令,以下是详细操作指南:

1. 查看当前数据库的创建语句

SHOW CREATE DATABASE `database_name`;
  • 替换 database_name 为你的数据库名
  • 使用反引号 `` 包裹特殊名称或保留字

2. 查看所有数据库的创建语句

SELECT 
    SCHEMA_NAME AS `Database`,
    DEFAULT_CHARACTER_SET_NAME AS `Charset`,
    DEFAULT_COLLATION_NAME AS `Collation`,
    SQL_PATH 
FROM 
    information_schema.SCHEMATA;

3. 实用示例

案例1:查看指定数据库的创建信息
-- 查看 test_db 数据库的创建语句
SHOW CREATE DATABASE test_db;

-- 输出示例
+----------+-------------------------------------------------------------+
| Database | Create Database                                             |
+----------+-------------------------------------------------------------+
| test_db  | CREATE DATABASE `test_db` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ |
+----------+-------------------------------------------------------------+
案例2:查看当前会话数据库的创建语句
-- 查看当前数据库名
SELECT DATABASE();  

-- 假设返回 db_name
SHOW CREATE DATABASE `db_name`;
案例3:通过系统表查看详细创建信息
SELECT 
    SCHEMA_NAME AS `数据库名`,
    DEFAULT_CHARACTER_SET_NAME AS `字符集`,
    DEFAULT_COLLATION_NAME AS `排序规则`,
    CONCAT(
        'CREATE DATABASE `', SCHEMA_NAME, 
        '` DEFAULT CHARACTER SET ', DEFAULT_CHARACTER_SET_NAME,
        ' COLLATE ', DEFAULT_COLLATION_NAME, ';'
    ) AS `完整创建语句`
FROM 
    information_schema.SCHEMATA
WHERE 
    SCHEMA_NAME = 'your_database';

4. 输出字段解析

字段 说明
Database 数据库名称
Create Database 完整的 CREATE DATABASE SQL 语句
/*!40100 ... */ MySQL 版本条件执行(表示 >= 4.1.00 支持)
DEFAULT CHARACTER SET 默认字符集
COLLATE 默认排序规则

5. 高级信息查询

查看数据库的字符集和排序规则详情
SELECT 
    CCSA.CHARACTER_SET_NAME AS `字符集`,
    CCSA.COLLATION_NAME AS `排序规则`,
    CCSA.IS_DEFAULT AS `是否默认`
FROM 
    information_schema.COLLATION_CHARACTER_SET_APPLICABILITY CCSA
WHERE 
    CCSA.COLLATION_NAME = (
        SELECT DEFAULT_COLLATION_NAME 
        FROM information_schema.SCHEMATA 
        WHERE SCHEMA_NAME = 'your_db'
    );
生成所有数据库的创建脚本
SELECT 
    CONCAT(
        'SHOW CREATE DATABASE `', 
        SCHEMA_NAME, 
        '`;'
    ) AS `生成脚本语句`
FROM 
    information_schema.SCHEMATA;

6. 实用技巧

  1. 排除系统数据库​:

    SHOW CREATE DATABASE your_db
    WHERE SCHEMA_NAME NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys');
  2. 仅查看字符集信息​:

    SELECT 
        DEFAULT_CHARACTER_SET_NAME 
    FROM 
        information_schema.SCHEMATA 
    WHERE 
        SCHEMA_NAME = 'your_db';
  3. 在命令行直接获取​:

    mysql -u root -p -e "SHOW CREATE DATABASE your_db" | grep "CREATE DATABASE"

7. 注意事项

  1. 需要 SELECT 权限访问 information_schema
  2. 对于 MySQL 5.6 或更低版本,部分字段名可能不同
  3. 输出结果中的版本注释(如 /*!40100 */) 可安全忽略

通过以上方法,您可以准确查看任何 MySQL 数据库的完整创建语句,包括默认字符集和排序规则等关键配置信息。