MySQL作为一种广泛使用的开源关系型数据库管理系统,其命令行工具是数据库管理员和开发者日常工作中不可或缺的工具。掌握以下50个实用MySQL命令,可以帮助您更高效地操作数据库。
1. 显示数据库列表
SHOW DATABASES;
此命令用于显示MySQL服务器上所有数据库的列表。
2. 选择数据库
USE database_name;
用于选择一个数据库,以便执行后续的查询。
3. 显示表列表
SHOW TABLES FROM database_name;
显示指定数据库中所有表的列表。
4. 显示表结构
DESCRIBE table_name;
显示指定表的列信息。
5. 显示索引信息
SHOW INDEX FROM table_name;
显示指定表的索引信息。
6. 创建数据库
CREATE DATABASE database_name;
创建一个新的数据库。
7. 删除数据库
DROP DATABASE database_name;
删除一个数据库。
8. 创建表
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
);
创建一个新的表。
9. 删除表
DROP TABLE table_name;
删除一个表。
10. 插入数据
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
向表中插入一行数据。
11. 更新数据
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
更新表中满足条件的数据。
12. 删除数据
DELETE FROM table_name WHERE condition;
删除表中满足条件的数据。
13. 查询数据
SELECT column1, column2, ... FROM table_name WHERE condition;
从表中查询满足条件的数据。
14. 显示所有数据
SELECT * FROM table_name;
显示表中所有数据。
15. 显示前N条数据
SELECT * FROM table_name LIMIT N;
显示表中前N条数据。
16. 显示查询结果排序
SELECT * FROM table_name ORDER BY column1 ASC|DESC;
按指定列升序或降序显示查询结果。
17. 聚合函数
SELECT COUNT(column1), SUM(column2), AVG(column2), MAX(column2), MIN(column2) FROM table_name WHERE condition;
使用聚合函数对数据进行统计。
18. 分组查询
SELECT column1, COUNT(column2) FROM table_name GROUP BY column1;
按指定列分组查询。
19. 子查询
SELECT column1 FROM table_name WHERE column2 IN (SELECT column3 FROM table_name WHERE condition);
使用子查询进行查询。
20. 联合查询
SELECT column1, column2 FROM table_name1 UNION SELECT column1, column2 FROM table_name2;
联合两个查询结果。
21. 更改用户密码
ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';
更改MySQL用户的密码。
22. 设置字符集
ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
设置数据库字符集。
23. 设置时区
SET time_zone = '+00:00';
设置MySQL服务器时区。
24. 显示当前会话变量
SHOW VARIABLES LIKE 'variable_name';
显示当前会话中的变量值。
25. 设置会话变量
SET @variable_name = value;
设置当前会话的变量值。
26. 显示当前日期和时间
SELECT NOW();
显示当前日期和时间。
27. 显示当前时间戳
SELECT UNIX_TIMESTAMP();
显示当前时间戳。
28. 显示当前用户
SELECT USER();
显示当前登录的用户。
29. 显示所有用户
SELECT * FROM mysql.user;
显示MySQL服务器上所有用户。
30. 显示所有权限
SHOW GRANTS;
显示所有用户的权限。
31. 授予权限
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host' IDENTIFIED BY 'password';
授予用户对指定数据库的所有权限。
32. 撤销权限
REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'host';
撤销用户对指定数据库的所有权限。
33. 显示进程列表
SHOW PROCESSLIST;
显示当前正在运行的进程列表。
34. 杀死进程
KILL process_id;
杀死指定进程。
35. 显示表创建语句
SHOW CREATE TABLE table_name;
显示指定表的创建语句。
36. 修改表结构
ALTER TABLE table_name ADD|DROP|MODIFY COLUMN column_name datatype;
修改表的列信息。
37. 显示存储引擎信息
SHOW ENGINES;
显示所有支持的存储引擎。
38. 显示存储引擎变量
SHOW VARIABLES LIKE 'engine_name%';
显示指定存储引擎的变量值。
39. 显示字符集信息
SHOW CHARACTER SET;
显示所有支持的字符集。
40. 显示校对信息
SHOW COLLATION;
显示所有支持的校对。
41. 显示用户权限
SHOW GRANTS FOR 'username'@'host';
显示指定用户的权限。
42. 显示数据库版本
SELECT VERSION();
显示MySQL服务器版本。
43. 显示服务器状态
SHOW STATUS;
显示MySQL服务器状态。
44. 显示系统变量
SHOW VARIABLES;
显示所有系统变量。
45. 设置系统变量
SET GLOBAL variable_name = value;
设置全局变量值。
46. 显示引擎性能信息
SHOW ENGINE INNODB STATUS;
显示InnoDB存储引擎的性能信息。
47. 显示慢查询日志
SHOW PROFILES;
显示慢查询日志。
48. 开启慢查询日志
SET GLOBAL slow_query_log = 1;
开启慢查询日志。
49. 关闭慢查询日志
SET GLOBAL slow_query_log = 0;
关闭慢查询日志。
50. 清空慢查询日志
TRUNCATE TABLE slow_query_log;
清空慢查询日志。
以上是50个实用的MySQL命令,熟练掌握这些命令可以帮助您在数据库操作中更加得心应手。