当前位置: 首页 > news >正文

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

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;

使用提示

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

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

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

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

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

http://www.xdnf.cn/news/1449325.html

相关文章:

  • 通义实验室发布AgentScope 1.0新一代智能体开发框架
  • 嵌入式第四十二天(数据库,网页设计)
  • Spring Boot集成Kafka常见业务场景最佳实践实战指南
  • Java全栈工程师的面试实战:从基础到复杂问题的完整解析
  • 安卓APP备案的三要素包名,公钥,签名md5值详细获取方法-优雅草卓伊凡
  • 鹧鸪云软件:光伏施工管理一目了然,进度尽在掌握
  • 涉私数据安全与可控匿名化利用机制研究(下)
  • Selenium WebUI 自动化“避坑”指南——从常用 API 到 10 大高频问题
  • 本地化AI问答:告别云端依赖,用ChromaDB + HuggingFace Transformers 搭建离线RAG检索系统
  • 科技信息差(9.3)
  • uni app 的app端 写入运行日志到指定文件夹。
  • Linux学习:生产者消费者模型
  • 开源 C++ QT Widget 开发(十一)进程间通信--Windows 窗口通信
  • AI 大模型 “内卷” 升级:从参数竞赛到落地实用,行业正在发生哪些关键转变?
  • 2025年经济学专业女性职业发展证书选择与分析
  • SCN随机配置网络时间序列预测Matlab实现
  • @Resource与@Autowired的区别
  • 数据结构——顺序表和单向链表(2)
  • 【Android】【设计模式】抽象工厂模式改造弹窗组件必知必会
  • Wan2.2AllInOne - Wan2.2极速视频生成模型,4步极速生成 ComfyUI工作流 一键整合包下载
  • 深度学习篇---模型组成部分
  • http和https区别是什么
  • Spring Boot 2.7 中资源销毁的先后顺序
  • mysqldump导出远程的数据库表(在java代码中实现)
  • VUE的模版渲染过程
  • FFMPEG H264
  • OpenLayers常用控件 -- 章节一:地图缩放控件详解教程
  • 如何通过level2千档盘口分析挂单意图
  • JavaScript的输出语句
  • 三阶Bezier曲线,已知曲线上一点到曲线起点的距离为L,计算这个点的参数u的方法