以下是 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 下区分大小写