【MySQL】常用命令汇总

📅 2026/7/11 3:46:18 👁️ 阅读次数 📝 编程学习
【MySQL】常用命令汇总

以下是通过命令行操作 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终止当前命令输入
\hHELP查看帮助
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>变为->,表示等待语句的剩余部分。