MySQL 是一款广泛使用的开源关系型数据库管理系统,其命令行工具提供了高效、直接的方式来管理和操作数据库,通过命令行查看数据库是数据库管理员和开发者的基本技能之一,本文将详细介绍如何使用 MySQL 命令行查看数据库的相关操作,包括连接数据库、列出所有数据库、查看当前数据库、查看数据库表结构、查询表数据等,并辅以表格说明常用命令的语法和功能。

连接 MySQL 服务器
在使用命令行查看数据库之前,首先需要连接到 MySQL 服务器,打开终端(Windows 下为命令提示符或 PowerShell,Linux/macOS 下为终端),输入以下命令:
mysql -u 用户名 -p
-u 后面接 MySQL 用户名,-p 表示需要输入密码,以 root 用户连接:
mysql -u root -p
执行后会提示输入密码,正确输入后即可进入 MySQL 命令行界面,如果连接远程服务器,可使用 -h 参数指定主机地址,
mysql -u root -p -h 192.168.1.100 -P 3306
这里 -P 指定端口号,默认为 3306。

列出所有数据库
成功连接 MySQL 后,可以使用 SHOW DATABASES; 命令列出服务器上所有的数据库,该命令的语法如下:
SHOW DATABASES;
执行后,MySQL 会返回一个结果集,包含所有数据库名称。
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test_db |
+--------------------+information_schema、mysql、performance_schema 和 sys 是 MySQL 系统数据库,分别存储元数据、用户权限、性能数据和系统信息,用户创建的数据库(如 test_db)也会在此列出。
查看当前数据库
在操作过程中,可能需要确认当前正在使用的是哪个数据库,可以使用 SELECT DATABASE(); 命令查询当前数据库:

SELECT DATABASE();
如果尚未选择任何数据库,结果为 NULL;否则返回当前数据库名称。
+------------+
| DATABASE() |
+------------+
| test_db |
+------------+切换数据库
要查看或操作某个特定数据库,需要先切换到该数据库,使用 USE 命令:
USE 数据库名;
切换到 test_db:
USE test_db;
执行后,MySQL 会返回 Database changed 提示,后续操作将默认作用于该数据库。
查看数据库中的表
切换到目标数据库后,可以使用 SHOW TABLES; 命令列出该数据库中的所有表:
SHOW TABLES;
test_db 中包含 users 和 orders 两张表,执行结果如下:
+-------------------+
| Tables_in_test_db |
+-------------------+
| users |
| orders |
+-------------------+查看表结构
要查看表的详细结构(如字段名、数据类型、是否为空、主键等),可以使用 DESCRIBE 或 SHOW COLUMNS 命令,语法如下:
DESCRIBE 表名; -- 或 SHOW COLUMNS FROM 表名;
以 users 表为例:
DESCRIBE users;
执行结果如下表所示:
| Field | Type | Null | Key | Default | Extra |
|---|---|---|---|---|---|
| id | int | NO | PRI | NULL | auto_increment |
| name | varchar(50) | NO | NULL | ||
| varchar(100) | YES | UNI | NULL | ||
| created_at | timestamp | NO | CURRENT_TIMESTAMP |
查询表数据
查看表中的具体数据,使用 SELECT 语句,查询 users 表的所有数据:
SELECT * FROM users;
如果只需查看部分字段,可指定字段名:
SELECT id, name FROM users;
查看数据库大小和表大小
要查看数据库的占用空间,可以查询 information_schema 数据库中的 TABLES 表,查看 test_db 的大小:
SELECT
table_name AS '表名',
ROUND(data_length/1024/1024, 2) AS '数据大小(MB)',
ROUND(index_length/1024/1024, 2) AS '索引大小(MB)',
ROUND((data_length+index_length)/1024/1024, 2) AS '总大小(MB)'
FROM
information_schema.TABLES
WHERE
table_schema = 'test_db';执行结果将显示 test_db 中各表的数据大小、索引大小和总大小。
退出 MySQL 命令行
完成操作后,使用 EXIT; 或 QUIT; 退出 MySQL 命令行:
EXIT; -- 或 QUIT;
相关问答 FAQs
问题 1:如何通过命令行查看 MySQL 数据库的字符集?
解答:可以通过查询 information_schema.SCHEMATA 表查看数据库的字符集,查看 test_db 的字符集:
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = 'test_db';
结果将显示数据库的默认字符集和排序规则。
问题 2:如何在命令行中查看 MySQL 数据库的创建语句?
解答:使用 SHOW CREATE DATABASE 命令可以查看创建数据库时的 SQL 语句。
SHOW CREATE DATABASE test_db;
执行结果会返回完整的 CREATE DATABASE 语句,包括字符集、排序规则等信息。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/417407.html<
