MySQL命令行是数据库管理员和开发者必备的工具,它通过文本界面与MySQL服务器交互,支持高效的数据库操作,本文将详细介绍MySQL命令行的使用方法,包括连接数据库、基本操作、高级技巧及常见问题处理。

连接MySQL服务器
使用MySQL命令行前,需先确保MySQL服务已启动,通过以下命令连接服务器:
mysql -h 主机名 -u 用户名 -p
参数说明:
-h:指定主机名,默认为localhost-u:指定用户名,默认为root-p:提示输入密码(也可直接在命令后加密码,但安全性较低)
连接本地MySQL服务器的命令为:
mysql -u root -p
输入正确密码后,即可进入MySQL命令行界面,提示符为mysql>。

基本数据库操作
数据库管理
- 创建数据库:
CREATE DATABASE 数据库名 CHARACTER SET utf8mb4;
- 查看数据库:
SHOW DATABASES;
- 选择数据库:
USE 数据库名;
- 删除数据库:
DROP DATABASE 数据库名;
表操作
- 创建表:
CREATE TABLE 表名 ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); - 查看表结构:
DESCRIBE 表名;
- 修改表:
ALTER TABLE 表名 ADD COLUMN email VARCHAR(100);
- 删除表:
DROP TABLE 表名;
数据操作
- 插入数据:
INSERT INTO 表名 (name, age) VALUES ('张三', 25); - 查询数据:
SELECT * FROM 表名 WHERE age > 20;
- 更新数据:
UPDATE 表名 SET age = 26 WHERE name = '张三';
- 删除数据:
DELETE FROM 表名 WHERE name = '张三';
高级技巧
导入导出数据
- 导出数据库:
mysqldump -u 用户名 -p 数据库名 > 文件名.sql
- 导入数据库:
mysql -u 用户名 -p 数据库名 < 文件名.sql
批量执行SQL脚本
在命令行中输入source 脚本文件路径;可执行SQL脚本文件,
mysql> source /path/to/script.sql;
格式化输出
使用\G替代分号可使查询结果以垂直格式显示,适合宽表查看:
SELECT * FROM 表名\G
常用命令速查表
| 功能 | 命令示例 |
|---|---|
| 查看当前用户 | SELECT USER(); |
| 查看版本 | SELECT VERSION(); |
| 退出命令行 | EXIT 或 QUIT |
| 清屏 | system clear (Linux) 或 cls (Windows) |
| 显示警告 | SHOW WARNINGS; |
常见问题处理
- 连接被拒绝:检查MySQL服务是否启动,用户名或密码是否正确。
- 中文乱码:确保创建数据库时指定
utf8mb4字符集,并检查客户端编码设置。
相关问答FAQs
Q1: 如何重置MySQL root密码?
A1:
- 停止MySQL服务:
sudo systemctl stop mysql(Linux)或通过任务管理器停止(Windows)。 - 跳过权限表启动:
sudo mysqld_safe --skip-grant-tables &(Linux)或mysqld --skip-grant-tables(Windows)。 - 无密码登录MySQL:
mysql -u root。 - 执行更新密码命令:
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; - 重启MySQL服务并测试新密码。
Q2: 命令行中如何分页显示查询结果?
A2:
使用pager命令指定分页工具,例如Linux下使用less:

mysql> pager less -S -i -F -X mysql> SELECT * FROM 宽表名; -- 结果将分页显示
取消分页可执行nopager,Windows用户可使用more命令替代。
