在linux下使用MySQL常用的命令集合

1. 数据库查看和选择

sql 复制代码
-- 查看所有数据库
SHOW DATABASES;

-- 选择使用某个数据库(需要修改:your_database_name)
USE your_database_name;

-- 查看当前正在使用的数据库
SELECT DATABASE();

说明your_database_name 替换为你要操作的具体数据库名称


2. 表操作命令

查看表结构

sql 复制代码
-- 查看当前数据库中的所有表
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. 数据查询命令

基础查询

sql 复制代码
-- 查询表中所有数据的前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为数字

条件查询

sql 复制代码
-- 等于条件查询
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');

说明:根据实际条件修改字段名和值

排序和限制

sql 复制代码
-- 升序排序
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. 统计和聚合查询

sql 复制代码
-- 统计总行数
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. 分组查询

sql 复制代码
-- 按字段分组统计
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. 系统信息命令

sql 复制代码
-- 查看MySQL版本
SELECT VERSION();

-- 查看当前用户
SELECT USER();

-- 查看系统当前时间
SELECT NOW();

-- 查看数据库字符集设置
SHOW VARIABLES LIKE 'character_set%';

-- 查看连接进程
SHOW PROCESSLIST;

7. 实用技巧命令

sql 复制代码
-- 查看查询执行计划(优化查询性能)
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. 退出和帮助

sql 复制代码
-- 退出MySQL命令行
EXIT;
-- 或
QUIT;
-- 或
\q

-- 查看帮助信息
HELP;
-- 查看特定命令帮助
HELP SELECT;
HELP SHOW;

9. 常用命令组合示例

快速了解数据库

sql 复制代码
-- 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;

数据统计分析

sql 复制代码
-- 查看数据总量
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;

使用提示

  1. 所有your_database_name需要替换为实际的数据库名

  2. 所有your_table_name需要替换为实际的表名

  3. 所有column_name需要替换为实际的字段名

  4. 在生产环境查询时,尽量加上LIMIT限制返回行数

  5. 复杂的查询可以先使用EXPLAIN分析性能

相关推荐
数据库知识分享者小北20 小时前
AI Agent的未来之争:任务规划,该由人主导还是AI自主?——阿里云RDS AI助手的最佳实践
数据库·阿里云·数据库rds
凸头20 小时前
MySQL 的四种 Binlog 日志处理工具:Canal、Maxwell、Databus和 阿里云 DTS
数据库·mysql·阿里云
观测云20 小时前
阿里云 RDS MySQL 可观测性最佳实践
mysql·阿里云·云计算
阿方索20 小时前
虚拟化技术实践指南:KVM 与 VMware ESXi 部署全流程
linux·运维·服务器
YouEmbedded21 小时前
解码Linux文件IO之库的制作与应用
linux·动态库·静态库
码界奇点21 小时前
MongoDB 排序操作详解sort方法使用指南
数据库·mongodb·性能优化
武子康21 小时前
Java-155 MongoDB Spring Boot 连接实战 | Template vs Repository(含索引与常见坑)
java·数据库·spring boot·后端·mongodb·系统架构·nosql
武子康21 小时前
Java-157 MongoDB 存储引擎 WiredTiger vs InMemory:何时用、怎么配、如何验证 mongod.conf
java·数据库·sql·mongodb·性能优化·系统架构·nosql
野犬寒鸦21 小时前
从零起步学习MySQL || 第八章:索引深入理解及高级运用(结合常见优化问题讲解)
java·服务器·数据库·后端·mysql