【MySQL】常用命令汇总
📅 2026/7/11 3:46:18
👁️ 阅读次数
📝 编程学习
以下是通过命令行操作 MySQL 的常用命令汇总,按功能分类整理,方便查阅。
一、连接与退出
| 命令 | 说明 |
|---|---|
mysql -u 用户名 -p | 登录 MySQL(回车后输入密码) |
mysql -h 主机地址 -P 端口号 -u 用户名 -p | 远程连接 MySQL 服务器 |
mysql -u 用户名 -p 数据库名 | 登录并直接进入指定数据库 |
exit;或quit; | 退出 MySQL 命令行 |
\q | 快速退出 |
二、数据库操作
| 命令 | 说明 |
|---|---|
SHOW DATABASES; | 查看所有数据库 |
SELECT DATABASE(); | 查看当前使用的数据库 |
CREATE DATABASE 数据库名; | 创建数据库 |
CREATE DATABASE IF NOT EXISTS 数据库名; | 如果不存在则创建数据库 |
CREATE DATABASE 数据库名 CHARSET=utf8; | 创建数据库并指定字符编码 |
USE 数据库名; | 切换/选择当前数据库 |
DROP DATABASE 数据库名; | 删除数据库 |
DROP DATABASE IF EXISTS 数据库名; | 如果存在则删除数据库 |
SHOW STATUS; | 查看 MySQL 运行状态 |
三、表操作
| 命令 | 说明 |
|---|---|
SHOW TABLES; | 查看当前数据库所有表 |
DESC 表名;或DESCRIBE 表名; | 查看表结构 |
SHOW COLUMNS FROM 表名; | 查看表的字段信息 |
SHOW CREATE TABLE 表名; | 查看建表语句 |
CREATE TABLE 表名 (字段名 数据类型, ...); | 创建表 |
DROP TABLE 表名; | 删除表 |
DROP TABLE IF EXISTS 表名; | 如果存在则删除表 |
ALTER TABLE 表名 RENAME TO 新表名; | 修改表名 |
ALTER TABLE 表名 ADD 列名 数据类型; | 添加字段 |
ALTER TABLE 表名 DROP COLUMN 列名; | 删除字段 |
ALTER TABLE 表名 MODIFY 列名 新数据类型; | 修改字段数据类型 |
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型; | 修改字段名和数据类型 |
四、数据操作(CRUD)
| 命令 | 说明 |
|---|---|
INSERT INTO 表名 (列1,列2) VALUES (值1,值2); | 插入数据 |
SELECT * FROM 表名; | 查询所有数据 |
SELECT 列1,列2 FROM 表名 WHERE 条件; | 条件查询 |
UPDATE 表名 SET 列=值 WHERE 条件; | 更新数据 |
DELETE FROM 表名 WHERE 条件; | 删除数据 |
五、用户与权限管理
| 命令 | 说明 |
|---|---|
CREATE USER '用户名'@'主机' IDENTIFIED BY '密码'; | 创建用户 |
GRANT 权限 ON 数据库.表 TO '用户名'@'主机'; | 授权用户 |
REVOKE 权限 ON 数据库.表 FROM '用户名'@'主机'; | 撤销用户权限 |
SHOW GRANTS FOR '用户名'@'主机'; | 查看用户权限 |
FLUSH PRIVILEGES; | 刷新权限使变更生效 |
ALTER USER '用户名'@'主机' IDENTIFIED BY '新密码'; | 修改密码(MySQL 8.0+) |
六、其他常用命令
| 命令 | 说明 |
|---|---|
SELECT VERSION(); | 查看 MySQL 版本号 |
SOURCE 路径/文件.sql; | 执行 SQL 脚本文件 |
STATUS; | 查看当前连接信息 |
SHOW PROCESSLIST; | 查看当前运行的线程 |
\G | 格式化输出(竖立显示) |
\c | 终止当前命令输入 |
\h或HELP | 查看帮助 |
Ctrl+L | 清空屏幕 |
七、数据库备份与恢复
| 命令 | 说明 |
|---|---|
mysqldump -u 用户名 -p 数据库名 > 备份文件.sql | 备份数据库 |
mysql -u 用户名 -p 数据库名 < 备份文件.sql | 恢复数据库 |
八、服务控制(Linux)
| 命令 | 说明 |
|---|---|
sudo systemctl start mysqld | 启动 MySQL 服务 |
sudo systemctl stop mysqld | 停止 MySQL 服务 |
sudo systemctl restart mysqld | 重启 MySQL 服务 |
sudo systemctl status mysqld | 查看 MySQL 服务状态 |
完整操作流程示例
# 1. 登录 MySQLmysql-uroot-p# 2. 查看所有数据库SHOW DATABASES;# 3. 创建数据库CREATE DATABASE testdb;# 4. 切换数据库USE testdb;# 5. 创建表CREATE TABLEusers(idINT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), email VARCHAR(100));# 6. 插入数据INSERT INTOusers(name, email)VALUES('Alice','alice@example.com');# 7. 查询数据SELECT * FROMusers;# 8. 退出EXIT;提示:所有 SQL 语句必须以分号
;结尾才会执行。输入多行查询时,提示符会从mysql>变为->,表示等待语句的剩余部分。
编程学习
技术分享
实战经验