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
语句,包括字符集、排序规则等信息。