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

相关推荐
Yyyy4827 小时前
Ubuntu安装Jenkis
linux·运维·ubuntu
zhuzewennamoamtf8 小时前
Linux SPI设备驱动
android·linux·运维
春日见8 小时前
在虚拟机上面无法正启动机械臂的控制launch文件
linux·运维·服务器·人工智能·驱动开发·ubuntu
韩立学长8 小时前
【开题答辩实录分享】以《自助游网站的设计与实现》为例进行选题答辩实录分享
java·mysql·spring
SAP小崔说事儿8 小时前
在数据库中将字符串拆分成表单(SQL和HANA版本)
java·数据库·sql·sap·hana·字符串拆分·无锡sap
松涛和鸣9 小时前
Linux Makefile : From Basic Syntax to Multi-File Project Compilation
linux·运维·服务器·前端·windows·哈希算法
川贝枇杷膏cbppg9 小时前
asmcmd
数据库·oracle
Predestination王瀞潞9 小时前
JDK安装及环境变量配置
java·linux·开发语言
再睡一夏就好10 小时前
深入Linux线程:从轻量级进程到双TCB架构
linux·运维·服务器·c++·学习·架构·线程
JIngJaneIL10 小时前
基于java+ vue助农电商系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端