MySQL作为主流的关系型数据库,其命令行操作是开发、运维人员日常工作中高频使用的技能,掌握常用命令能大幅提升数据库操作效率。本文整理了各类场景下的常用命令及用法,方便大家查阅使用。

一、数据库连接与退出命令
连接本地MySQL服务的基础命令如下,需要替换对应的用户名和密码:
# 连接本地MySQL,输入后按提示输入密码 mysql -u 用户名 -p # 连接远程MySQL,指定远程主机IP和端口 mysql -h 远程主机IP -P 端口号 -u 用户名 -p # 退出当前MySQL连接 exit; # 或者使用quit命令退出 quit;
二、数据库操作命令
1. 查看与创建数据库
查看当前所有数据库、创建新数据库的常用命令如下:
-- 查看所有数据库 SHOW DATABASES; -- 创建新数据库,指定字符集为utf8mb4 CREATE DATABASE IF NOT EXISTS test_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- 查看指定数据库的创建语句 SHOW CREATE DATABASE test_db;
2. 切换与删除数据库
操作指定数据库前需要先切换,删除数据库需谨慎操作:
-- 切换到test_db数据库 USE test_db; -- 查看当前所在的数据库 SELECT DATABASE(); -- 删除指定数据库,操作前请确认数据已备份 DROP DATABASE IF EXISTS test_db;
三、数据表操作命令
1. 表结构相关操作
创建、查看、修改表结构的常用命令如下:
-- 创建用户表,包含id、用户名、年龄、创建时间字段
CREATE TABLE IF NOT EXISTS user (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
username VARCHAR(50) NOT NULL COMMENT '用户名',
age INT DEFAULT 0 COMMENT '年龄',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
-- 查看当前数据库所有表
SHOW TABLES;
-- 查看表结构
DESC user;
-- 查看表的创建语句
SHOW CREATE TABLE user;
-- 给表添加新字段
ALTER TABLE user ADD COLUMN email VARCHAR(100) COMMENT '邮箱';
-- 修改表字段类型
ALTER TABLE user MODIFY COLUMN age SMALLINT DEFAULT 18;
-- 删除表字段
ALTER TABLE user DROP COLUMN email;
-- 修改表名
ALTER TABLE user RENAME TO sys_user;
2. 表数据操作命令
数据的增删改查是表操作的核心,常用命令如下:
-- 插入单条数据
INSERT INTO sys_user (username, age) VALUES ('张三', 25);
-- 插入多条数据
INSERT INTO sys_user (username, age) VALUES ('李四', 22), ('王五', 28);
-- 查询所有数据
SELECT * FROM sys_user;
-- 条件查询,查询年龄大于25的用户
SELECT id, username, age FROM sys_user WHERE age > 25;
-- 排序查询,按年龄降序排列
SELECT * FROM sys_user ORDER BY age DESC;
-- 分页查询,每页显示2条,查询第1页数据
SELECT * FROM sys_user LIMIT 0, 2;
-- 更新数据,将id为1的用户年龄改为26
UPDATE sys_user SET age = 26 WHERE id = 1;
-- 删除数据,删除id为3的用户,条件删除避免误删全表
DELETE FROM sys_user WHERE id = 3;
四、用户与权限管理命令
MySQL的用户权限管理相关常用命令如下:
-- 创建新用户,设置密码为123456,允许本地登录 CREATE USER 'test_user'@'localhost' IDENTIFIED BY '123456'; -- 授予test_user用户对test_db数据库的所有操作权限 GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost'; -- 刷新权限,让权限设置生效 FLUSH PRIVILEGES; -- 查看用户权限 SHOW GRANTS FOR 'test_user'@'localhost'; -- 修改用户密码 ALTER USER 'test_user'@'localhost' IDENTIFIED BY 'new_password'; -- 删除用户 DROP USER 'test_user'@'localhost';
五、其他常用辅助命令
日常操作中还会用到以下辅助类命令:
SHOW PROCESSLIST;:查看当前所有数据库连接进程,可排查慢查询或异常连接SHOW STATUS;:查看MySQL运行状态参数,用于性能排查SHOW VARIABLES LIKE 'character_set%';:查看数据库字符集相关配置EXPLAIN SELECT * FROM sys_user WHERE age > 25;:分析查询语句的执行计划,优化查询性能SOURCE /path/to/sql/file.sql;:执行本地SQL脚本文件
注意:执行删除数据库、删除表、删除用户等危险操作前,务必确认数据已备份,避免造成不可逆的数据丢失。