好的,阿杰,我给你整理一份 MySQL 命令大全,涵盖 数据库管理、表操作、数据操作、用户权限、备份恢复、性能优化等常用命令,并按类别分类,便于快速查阅。


🐬 MySQL 命令大全

1️⃣ 数据库管理命令

命令说明示例
SHOW DATABASES;查看所有数据库SHOW DATABASES;
CREATE DATABASE db_name;创建数据库CREATE DATABASE testdb;
DROP DATABASE db_name;删除数据库DROP DATABASE testdb;
USE db_name;选择数据库USE testdb;
ALTER DATABASE db_name CHARACTER SET utf8mb4;修改数据库字符集ALTER DATABASE testdb CHARACTER SET utf8mb4;

2️⃣ 表管理命令

命令说明示例
SHOW TABLES;查看数据库中的表SHOW TABLES;
DESCRIBE table_name; 或 DESC table_name;查看表结构DESCRIBE users;
CREATE TABLE table_name (...);创建表CREATE TABLE users(id INT PRIMARY KEY, name VARCHAR(50));
DROP TABLE table_name;删除表DROP TABLE users;
ALTER TABLE table_name ADD column_name type;添加列ALTER TABLE users ADD age INT;
ALTER TABLE table_name DROP column_name;删除列ALTER TABLE users DROP age;
ALTER TABLE table_name MODIFY column_name new_type;修改列类型ALTER TABLE users MODIFY name VARCHAR(100);
RENAME TABLE old_name TO new_name;重命名表RENAME TABLE users TO user_info;

3️⃣ 数据操作命令(增删改查)

命令说明示例
SELECT * FROM table;查询所有数据SELECT * FROM users;
SELECT column1, column2 FROM table;查询指定列SELECT id, name FROM users;
INSERT INTO table (col1,col2) VALUES (val1,val2);插入数据INSERT INTO users(id,name) VALUES (1,'Alice');
UPDATE table SET col1=val1 WHERE condition;更新数据UPDATE users SET name='Bob' WHERE id=1;
DELETE FROM table WHERE condition;删除数据DELETE FROM users WHERE id=1;
TRUNCATE TABLE table;清空表数据TRUNCATE TABLE users;

4️⃣ 索引管理命令

命令说明示例
CREATE INDEX idx_name ON table(column);创建普通索引CREATE INDEX idx_name ON users(name);
CREATE UNIQUE INDEX idx_name ON table(column);创建唯一索引CREATE UNIQUE INDEX idx_uid ON users(id);
DROP INDEX idx_name ON table;删除索引DROP INDEX idx_name ON users;

5️⃣ 用户和权限管理

命令说明示例
CREATE USER 'user'@'host' IDENTIFIED BY 'password';创建用户CREATE USER 'jack'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON db.* TO 'user'@'host';授权GRANT ALL PRIVILEGES ON testdb.* TO 'jack'@'localhost';
REVOKE ALL PRIVILEGES ON db.* FROM 'user'@'host';收回权限REVOKE ALL PRIVILEGES ON testdb.* FROM 'jack'@'localhost';
FLUSH PRIVILEGES;刷新权限FLUSH PRIVILEGES;

6️⃣ 备份与恢复

命令说明示例
mysqldump -u user -p db_name > backup.sql数据库备份mysqldump -u root -p testdb > testdb.sql
mysql -u user -p db_name < backup.sql数据库恢复mysql -u root -p testdb < testdb.sql
mysqldump -u user -p --all-databases > all.sql备份所有数据库mysqldump -u root -p --all-databases > all.sql

7️⃣ 查询与优化命令

命令说明示例
EXPLAIN SELECT ...;查看 SQL 执行计划EXPLAIN SELECT * FROM users WHERE id=1;
SHOW INDEX FROM table;查看表索引SHOW INDEX FROM users;
SHOW STATUS;查看服务器状态SHOW STATUS;
SHOW VARIABLES;查看配置参数SHOW VARIABLES LIKE '%timeout%';

8️⃣ 事务管理命令

命令说明示例
START TRANSACTION;开始事务START TRANSACTION;
COMMIT;提交事务COMMIT;
ROLLBACK;回滚事务ROLLBACK;
SET autocommit=0;关闭自动提交SET autocommit=0;

9️⃣ 其他常用命令

命令说明示例
SHOW PROCESSLIST;查看当前连接SHOW PROCESSLIST;
KILL process_id;杀死连接KILL 123;
SHOW TABLE STATUS;查看表信息SHOW TABLE STATUS LIKE 'users';
OPTIMIZE TABLE table;优化表OPTIMIZE TABLE users;
ALTER TABLE table ENGINE=InnoDB;修改存储引擎ALTER TABLE users ENGINE=InnoDB;

💡 小技巧

  1. 使用 Tab 键补全 提高效率
  2. \G 替代 ; 可以纵向显示查询结果:SELECT * FROM users\G
  3. 定期备份数据库,避免数据丢失
  4. 使用 EXPLAIN 检查复杂查询性能,配合索引优化