以下是 MySQL 命令行的核心操作命令详解(基于 MySQL 8.0+ 版本):
🔌 1. 连接与退出
命令 | 作用 | 示例 |
---|
mysql -u 用户名 -p | 连接本地 MySQL | mysql -u root -p → 输入密码 |
mysql -h 主机 -P 端口 -u 用户 -p | 连接远程 MySQL | mysql -h 192.168.1.10 -P 3306 -u admin -p |
exit 或 \q | 退出命令行 | exit |
\c | 取消当前输入的命令 | 输入错误命令时按 \c + Enter 终止 |
🗃️ 2. 数据库操作
命令 | 作用 | 示例 |
---|
SHOW DATABASES; | 显示所有数据库 | |
CREATE DATABASE 库名; | 创建数据库 | CREATE DATABASE shop; |
USE 库名; | 切换当前数据库 | USE shop; |
DROP DATABASE 库名; | 删除数据库 | DROP DATABASE old_db; |
SELECT DATABASE(); | 查看当前使用的数据库 | |
📊 3. 表操作
命令 | 作用 | 示例 |
---|
SHOW TABLES; | 显示当前库所有表 | |
DESC 表名; 或 DESCRIBE 表名; | 查看表结构 | DESC users; |
SHOW CREATE TABLE 表名; | 查看建表语句 | SHOW CREATE TABLE orders; |
CREATE TABLE 表名 (列定义...); | 创建表 | sql<br>CREATE TABLE users (<br> id INT PRIMARY KEY,<br> name VARCHAR(20)<br>); |
ALTER TABLE 表名 ... | 修改表结构 | ALTER TABLE users ADD email VARCHAR(50); |
DROP TABLE 表名; | 删除表 | DROP TABLE temp_data; |
RENAME TABLE 旧表名 TO 新表名; | 重命名表 | RENAME TABLE old TO new; |
📝 4. 数据操作(CRUD)
命令 | 作用 | 示例 |
---|
INSERT INTO 表名 (列...) VALUES (值...); | 插入数据 | INSERT INTO users (id, name) VALUES (1, 'Alice'); |
SELECT * FROM 表名; | 查询所有数据 | SELECT * FROM products; |
SELECT 列1,列2 FROM 表名 [WHERE 条件]; | 条件查询 | SELECT name, price FROM products WHERE price > 100; |
UPDATE 表名 SET 列=值 [WHERE 条件]; | 更新数据 | UPDATE users SET name='Bob' WHERE id=1; |
DELETE FROM 表名 [WHERE 条件]; | 删除数据 | DELETE FROM logs WHERE date < '2023-01-01'; |
👥 5. 用户与权限
命令 | 作用 | 示例 |
---|
CREATE USER '用户'@'主机' IDENTIFIED BY '密码'; | 创建用户 | CREATE USER 'dev'@'%' IDENTIFIED BY 'Pass123'; |
GRANT 权限 ON 库.表 TO '用户'@'主机'; | 授权 | GRANT SELECT, INSERT ON shop.* TO 'dev'@'%'; |
REVOKE 权限 ON 库.表 FROM '用户'@'主机'; | 撤销权限 | REVOKE DELETE ON shop.* FROM 'dev'@'%'; |
SHOW GRANTS FOR '用户'@'主机'; | 查看用户权限 | SHOW GRANTS FOR 'dev'@'%'; |
SET PASSWORD FOR '用户'@'主机' = '新密码'; | 修改用户密码 | SET PASSWORD FOR 'root'@'localhost' = 'NewPass456'; |
DROP USER '用户'@'主机'; | 删除用户 | DROP USER 'test'@'localhost'; |
⚙️ 6. 系统与状态
命令 | 作用 | 示例 |
---|
SHOW VARIABLES; | 查看系统变量 | SHOW VARIABLES LIKE '%timeout%'; |
SHOW STATUS; | 查看服务器状态 | SHOW STATUS LIKE 'Threads_%'; |
SHOW PROCESSLIST; | 查看当前连接会话 | |
KILL 进程ID; | 终止查询进程 | KILL 15; |
SOURCE SQL文件路径; | 执行 SQL 脚本文件 | SOURCE /data/init_db.sql; |
\s 或 STATUS | 查看服务器版本/状态摘要 | |
✨ 7. 命令行快捷操作
命令 | 作用 |
---|
\G | 垂直显示结果(替代; ) |
\T 文件路径 | 开启日志记录(tee 功能) |
\t | 关闭日志记录 |
\u 数据库名 | 快速切换数据库 |
\! 系统命令 | 执行操作系统命令 |
💡 注意:
- 所有命令以
;
或 \G
结束才能执行 - 大小写:SQL 关键字不区分,数据库/表名 Linux 下区分大小写