在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分析性能

相关推荐
AllData公司负责人17 分钟前
AllData数据中台-数据同步平台【Seatunnel-Web】整库同步MySQL同步Doris能力演示
大数据·数据库·mysql·开源
加油,小猿猿25 分钟前
Java开发日志-双数据库事务问题
java·开发语言·数据库
.小墨迹35 分钟前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
山岚的运维笔记1 小时前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
Gain_chance1 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
Lsir10110_1 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
醇氧1 小时前
【docker】mysql 8 的健康检查(Health Check)
mysql·docker·容器
Sheffield1 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
历程里程碑1 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
郝学胜-神的一滴1 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生