菜鸟科技网

MySQL命令行如何查看所有数据库?

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

MySQL命令行如何查看所有数据库?-图1
(图片来源网络,侵删)

连接 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命令行如何查看所有数据库?-图2
(图片来源网络,侵删)

列出所有数据库

成功连接 MySQL 后,可以使用 SHOW DATABASES; 命令列出服务器上所有的数据库,该命令的语法如下:

SHOW DATABASES;

执行后,MySQL 会返回一个结果集,包含所有数据库名称。

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test_db            |
+--------------------+

information_schemamysqlperformance_schemasys 是 MySQL 系统数据库,分别存储元数据、用户权限、性能数据和系统信息,用户创建的数据库(如 test_db)也会在此列出。

查看当前数据库

在操作过程中,可能需要确认当前正在使用的是哪个数据库,可以使用 SELECT DATABASE(); 命令查询当前数据库:

MySQL命令行如何查看所有数据库?-图3
(图片来源网络,侵删)
SELECT DATABASE();

如果尚未选择任何数据库,结果为 NULL;否则返回当前数据库名称。

+------------+
| DATABASE() |
+------------+
| test_db    |
+------------+

切换数据库

要查看或操作某个特定数据库,需要先切换到该数据库,使用 USE 命令:

USE 数据库名;

切换到 test_db

USE test_db;

执行后,MySQL 会返回 Database changed 提示,后续操作将默认作用于该数据库。

查看数据库中的表

切换到目标数据库后,可以使用 SHOW TABLES; 命令列出该数据库中的所有表:

SHOW TABLES;

test_db 中包含 usersorders 两张表,执行结果如下:

+-------------------+
| Tables_in_test_db |
+-------------------+
| users             |
| orders            |
+-------------------+

查看表结构

要查看表的详细结构(如字段名、数据类型、是否为空、主键等),可以使用 DESCRIBESHOW 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
email 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 语句,包括字符集、排序规则等信息。

分享:
扫描分享到社交APP
上一篇
下一篇