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

相关推荐
程序新视界34 分钟前
MySQL中的数据去重,该用DISTINCT还是GROUP BY?
数据库·后端·mysql
谱写秋天39 分钟前
软考-系统架构设计师 关系数据库详细讲解
数据库·系统架构·软考架构师
檀越剑指大厂43 分钟前
平替MongoDB:金仓多模数据库助力电子证照国产化实践
数据库·mongodb
xiaguangbo1 小时前
rust slint android 安卓
android·linux·rust
晓梦初醒p1 小时前
finalshell 连接服务器报错channel is not opened
linux·运维·服务器
cpsvps2 小时前
环境变量管理于美国服务器多环境部署的实施标准
运维·服务器·数据库
IvorySQL2 小时前
【生态再升级】IvorySQL 4.5 与银河麒麟高级服务器操作系统V11完成适配认证!
运维·服务器·数据库·postgresql·ivorysql
conkl2 小时前
在ARM64 Ubuntu 20.04上部署Mailu邮件系统:深度排查Docker Bridge网络通信失败问题
linux·ubuntu·docker
Code Warrior2 小时前
【Linux】基础IO(2)
linux
你什么冠军?2 小时前
linux入门4.5(NFS服务器和iSCSI服务器)
linux·运维·服务器