1. 数据库查看和选择
-- 查看所有数据库
SHOW DATABASES;-- 选择使用某个数据库(需要修改:your_database_name)
USE your_database_name;-- 查看当前正在使用的数据库
SELECT DATABASE();
说明:your_database_name
替换为你要操作的具体数据库名称
2. 表操作命令
查看表结构
-- 查看当前数据库中的所有表
SHOW TABLES;-- 查看表的结构(需要修改:your_table_name)
DESCRIBE your_table_name;
-- 或
DESC your_table_name;-- 查看表的详细结构信息
SHOW COLUMNS FROM your_table_name;-- 查看表的创建SQL语句
SHOW CREATE TABLE your_table_name;
说明:your_table_name
替换为你要查看的具体表名称
3. 数据查询命令
基础查询
-- 查询表中所有数据的前N条(需要修改:your_table_name 和 N)
SELECT * FROM your_table_name LIMIT N;-- 查询特定字段(需要修改:your_table_name, column1, column2)
SELECT column1, column2 FROM your_table_name LIMIT 10;-- 查询不重复的值
SELECT DISTINCT column_name FROM your_table_name;
说明:替换表名和字段名为实际名称,N为数字
条件查询
-- 等于条件查询
SELECT * FROM your_table_name WHERE column_name = 'value';-- 数值范围查询
SELECT * FROM your_table_name WHERE numeric_column > 100;-- 模糊查询
SELECT * FROM your_table_name WHERE text_column LIKE '%keyword%';-- 多条件查询
SELECT * FROM your_table_name
WHERE condition1 = 'value1' AND condition2 = 'value2';-- 范围查询
SELECT * FROM your_table_name WHERE column_name IN ('value1', 'value2', 'value3');
说明:根据实际条件修改字段名和值
排序和限制
-- 升序排序
SELECT * FROM your_table_name ORDER BY column_name ASC LIMIT 10;-- 降序排序
SELECT * FROM your_table_name ORDER BY column_name DESC LIMIT 10;-- 多字段排序
SELECT * FROM your_table_name ORDER BY column1 ASC, column2 DESC LIMIT 10;
说明:ASC
为升序,DESC
为降序
4. 统计和聚合查询
-- 统计总行数
SELECT COUNT(*) AS total_count FROM your_table_name;-- 统计某列非空值的数量
SELECT COUNT(column_name) AS column_count FROM your_table_name;-- 统计不重复值的数量
SELECT COUNT(DISTINCT column_name) AS unique_count FROM your_table_name;-- 求最大值和最小值
SELECT MAX(column_name) AS max_value, MIN(column_name) AS min_value
FROM your_table_name;-- 求平均值
SELECT AVG(numeric_column) AS average_value FROM your_table_name;-- 求和
SELECT SUM(numeric_column) AS total_sum FROM your_table_name;
说明:聚合函数用于统计数据,AS
后面是别名
5. 分组查询
-- 按字段分组统计
SELECT group_column, COUNT(*) AS count
FROM your_table_name
GROUP BY group_column;-- 分组后过滤
SELECT group_column, COUNT(*) AS count
FROM your_table_name
GROUP BY group_column
HAVING COUNT(*) > 10;-- 多字段分组
SELECT column1, column2, COUNT(*)
FROM your_table_name
GROUP BY column1, column2;
说明:GROUP BY
按字段分组,HAVING
对分组结果过滤
6. 系统信息命令
-- 查看MySQL版本
SELECT VERSION();-- 查看当前用户
SELECT USER();-- 查看系统当前时间
SELECT NOW();-- 查看数据库字符集设置
SHOW VARIABLES LIKE 'character_set%';-- 查看连接进程
SHOW PROCESSLIST;
7. 实用技巧命令
-- 查看查询执行计划(优化查询性能)
EXPLAIN SELECT * FROM your_table_name WHERE condition;-- 以垂直格式显示结果(适合字段多的表)
SELECT * FROM your_table_name LIMIT 1\G-- 查看表的大小信息
SELECT table_name AS '表名',ROUND((data_length + index_length) / 1024 / 1024, 2) AS '大小(MB)'
FROM information_schema.tables
WHERE table_schema = 'your_database_name'
ORDER BY (data_length + index_length) DESC;
说明:EXPLAIN
用于分析查询性能,\G
改变结果显示格式
8. 退出和帮助
-- 退出MySQL命令行
EXIT;
-- 或
QUIT;
-- 或
\q-- 查看帮助信息
HELP;
-- 查看特定命令帮助
HELP SELECT;
HELP SHOW;
9. 常用命令组合示例
快速了解数据库
-- 1. 查看所有数据库
SHOW DATABASES;-- 2. 选择目标数据库
USE your_database_name;-- 3. 查看所有表
SHOW TABLES;-- 4. 查看某个表的前5条数据
SELECT * FROM your_table_name LIMIT 5;-- 5. 查看表结构
DESC your_table_name;
数据统计分析
-- 查看数据总量
SELECT COUNT(*) AS total_records FROM your_table_name;-- 查看字段值的分布
SELECT column_name, COUNT(*) AS count
FROM your_table_name
GROUP BY column_name
ORDER BY count DESC
LIMIT 10;-- 查看数值字段的统计信息
SELECT MIN(numeric_column) AS min_value,MAX(numeric_column) AS max_value,AVG(numeric_column) AS avg_value,COUNT(numeric_column) AS record_count
FROM your_table_name;
使用提示:
所有
your_database_name
需要替换为实际的数据库名所有
your_table_name
需要替换为实际的表名所有
column_name
需要替换为实际的字段名在生产环境查询时,尽量加上
LIMIT
限制返回行数复杂的查询可以先使用
EXPLAIN
分析性能