以下是 MySQL 的 常用命令分类总结,涵盖数据库操作、表管理、数据查询、用户权限等核心场景,附带实用示例:
一、数据库操作
命令 | 说明 | 示例 |
---|
SHOW DATABASES; | 查看所有数据库 | - |
CREATE DATABASE db_name; | 创建数据库 | CREATE DATABASE shop; |
USE db_name; | 选择数据库 | USE shop; |
DROP DATABASE db_name; | 删除数据库 | DROP DATABASE test_db; |
SELECT DATABASE(); | 查看当前数据库 | - |
二、表操作
命令 | 说明 | 示例 |
---|
SHOW TABLES; | 查看所有表 | - |
DESC table_name; | 查看表结构 | DESC users; |
SHOW CREATE TABLE table_name; | 查看建表语句 | SHOW CREATE TABLE orders; |
CREATE TABLE table_name (...); | 创建表 | sql<br>CREATE TABLE users (<br> id INT PRIMARY KEY AUTO_INCREMENT,<br> name VARCHAR(50) NOT NULL<br>); |
ALTER TABLE table_name ... | 修改表结构 | sql<br>ALTER TABLE users<br>ADD COLUMN email VARCHAR(100); |
DROP TABLE table_name; | 删除表 | DROP TABLE temp_data; |
TRUNCATE TABLE table_name; | 清空表数据 | TRUNCATE TABLE logs; |
RENAME TABLE old_name TO new_name; | 重命名表 | RENAME TABLE cust TO customers; |
三、数据操作(CRUD)
命令 | 说明 | 示例 |
---|
插入数据 | | |
INSERT INTO table (col1,col2) VALUES (val1,val2); | 插入单条 | sql<br>INSERT INTO users (name, email)<br>VALUES ('Alice', 'alice@example.com'); |
INSERT INTO table VALUES (val1,val2,...); | 插入全字段 | INSERT INTO users VALUES (NULL, 'Bob'); |
查询数据 | | |
SELECT col1,col2 FROM table [WHERE...]; | 基础查询 | SELECT name, email FROM users; |
SELECT * FROM table WHERE conditions; | 条件查询 | sql<br>SELECT * FROM orders<br>WHERE amount > 100; |
SELECT ... ORDER BY col [DESC]; | 排序 | SELECT * FROM products ORDER BY price DESC; |
SELECT ... LIMIT N; | 限制结果 | SELECT * FROM logs LIMIT 10; |
更新数据 | | |
UPDATE table SET col=val [WHERE...]; | 更新数据 | sql<br>UPDATE users SET email='new@mail.com'<br>WHERE id=1; |
删除数据 | | |
DELETE FROM table [WHERE...]; | 删除数据 | DELETE FROM cart WHERE user_id=5; |
四、索引管理
命令 | 说明 | 示例 |
---|
CREATE INDEX idx_name ON table (col); | 创建索引 | CREATE INDEX idx_email ON users (email); |
SHOW INDEX FROM table; | 查看索引 | SHOW INDEX FROM orders; |
DROP INDEX idx_name ON table; | 删除索引 | DROP INDEX idx_email ON users; |
五、用户与权限
命令 | 说明 | 示例 |
---|
CREATE USER 'user'@'host' IDENTIFIED BY 'pwd'; | 创建用户 | sql<br>CREATE USER 'admin'@'localhost'<br>IDENTIFIED BY 'Secret123!'; |
GRANT permission ON db.table TO 'user'@'host'; | 授权 | sql<br>GRANT SELECT, INSERT ON shop.*<br>TO 'manager'@'%'; |
REVOKE permission ON db.table FROM 'user'@'host'; | 撤销权限 | REVOKE DELETE ON shop.orders FROM 'staff'; |
SHOW GRANTS FOR 'user'@'host'; | 查看权限 | SHOW GRANTS FOR 'admin'@'localhost'; |
DROP USER 'user'@'host'; | 删除用户 | DROP USER 'old_user'@'%'; |
FLUSH PRIVILEGES; | 刷新权限 | - |
六、事务控制
命令 | 说明 | 示例 |
---|
START TRANSACTION; | 开始事务 | - |
COMMIT; | 提交事务 | - |
ROLLBACK; | 回滚事务 | - |
SAVEPOINT name; | 设置保存点 | SAVEPOINT sp1; |
ROLLBACK TO sp1; | 回滚到保存点 | - |
七、备份与恢复
命令 | 说明 | 示例(命令行) |
---|
备份 | | |
mysqldump -u user -p db > file.sql | 备份数据库 | bash<br>mysqldump -u root -p shop > shop_backup.sql |
mysqldump -u user -p --all-databases > full.sql | 备份所有库 | - |
恢复 | | |
mysql -u user -p db < file.sql | 恢复数据库 | bash<br>mysql -u root -p shop < shop_backup.sql |
八、系统信息
命令 | 说明 | 示例 |
---|
SELECT VERSION(); | MySQL版本 | - |
SHOW STATUS; | 服务器状态 | - |
SHOW VARIABLES LIKE '%innodb%'; | 查看配置参数 | - |
SHOW PROCESSLIST; | 查看连接进程 | - |
KILL process_id; | 终止查询 | KILL 142; |
九、实用技巧命令
场景 | 命令 |
---|
批量插入 | sql<br>INSERT INTO products (name, price)<br>VALUES ('Phone', 599), ('Tablet', 299); |
复制表结构 | CREATE TABLE new_table LIKE old_table; |
复制表数据 | INSERT INTO new_table SELECT * FROM old_table; |
条件更新 | sql<br>UPDATE users<br>SET status = 'VIP'<br>WHERE purchase_total > 1000; |
模糊查询 | sql<br>SELECT * FROM books<br>WHERE title LIKE '%SQL%'; |
日期查询 | sql<br>SELECT * FROM orders<br>WHERE order_date >= '2023-01-01'; |
十、安全注意事项
- 生产环境慎用:
DROP DATABASE;
DELETE FROM table;
- 重要操作前备份:
mysqldump -u root -p --databases critical_db > backup.sql
- 避免使用root账户日常操作
💡 提示:所有命令以英文分号 ;
结束,SQL 关键字不区分大小写(但建议大写提高可读性)。
掌握这些命令可覆盖 MySQL 日常管理 90% 的需求!