MySQL:单表查询SQL语句

news/2025/3/27 12:47:36/

提醒:设定下面的语句是在数据库名为 db_student里执行的。
创建t_student表

CREATE TABLE t_student(id INT NOT NULL AUTO_INCREMENT,stuName VARCHAR(30) DEFAULT NULL,age INT,sex VARCHAR(4) DEFAULT NULL,gradeName VARCHAR(30) DEFAULT NULL,PRIMARY KEY(id)
);

为t_student表里添加一条数据

INSERT INTO t_student(stuName,age,sex,gradeName)VALUE('测试01',20,NULL,'大三');

1. 查询所有字段

  1. SELECT 字段1,字段2,字段3.FROM 表名;
  2. SELECT*FROM 表名;
SELECT id,stuName,age,sex,gradeName FROM t_student;SELECT stuName,id,age,sex,gradeName FROM t_student;/*改变查询表结果的字段顺序*/SELECT * FROM t_student;

2. 查询指定字段

SELECT 字段1,字段2,字段3._FROM 表名;

SELECT stuName,gradeName FROM t_student;/*查询指定字段*/

3. Where 条件查询

SELECT 字段1,字段2,字段3.FROM 表名 WHERE 条件表达式;

SELECT * FROM t_student WHERE id = 1;SELECT * FROM t_student WHERE age>21;

4. 带IN 关键字查询

SELECT 字段1,,字段2,字段3…FROM 表名 WHERE 字段INOT] IN 元素1,元素2,元素3);

SELECT * FROM t_student WHERE age IN(20,23);SELECT * FROM t_student WHERE age NOT IN(20,23);

5. 带BETWEEN AND 的范围查询

SELECT 字段1,字段2,字段3.-FROM 表名 WHERE 字段 INOTI BETWEEN 取值 1 AND 取值2;


SELECT * FROM t_student WHERE age BETWEEN 20 AND 23;/*范围查询*/SELECT * FROM t_student WHERE age NOT BETWEEN 20 AND 23;

6. 带LIKE 的模糊查询

, SELECT 字段1,字段2,字段3…FRONI 表名 WHERE 字段[NOT] LIKE “字符串”;
“%”代表任意字符;
“”代表单个字符;

SELECT * FROM t_student WHERE stuName LIKE'小强';/*模糊查询*/SELECT * FROM t_student WHERE stuName LIKE'小强%';/*带有小强的*/SELECT * FROM t_student WHERE stuName LIKE'小_';/*带有小的两个字段*/SELECT * FROM t_student WHERE stuName LIKE'小__';/*带有小的三个字段*/SELECT * FROM t_student WHERE stuName LIKE'%莉%';/*只要有莉的全部查询*/

7. 空值查询

SELECT 字段1,字段2,字段3.FROM 表名 WHERE 字段 IS [NOT] NULL,

SELECT * FROM t_student WHERE sex IS NULL;
SELECT * FROM t_student WHERE sex IS NOT NULL;

8. 带AND 的多条件查询

SELECT 字段1,字段 2.FROM 表名 WHERE 条件表达式 1 AND 条件表达式2[.AND 条件表达式口]

SELECT * FROM t_student WHERE gradeName ='大二' AND age = 20;

9. 带OR 的多条件查询

SELECT 字段1,字段2.FROM 表名 WHERE 条件表达式 1OR 条件表达式2[.OR 条件表达式 ]

SELECT * FROM t_student WHERE gradeName ='大二' OR age = 21;

10. DISTINCT 去重复查询

SELECT DISTINCT 字段名 FROM 表名;

SELECT gradeName FROM t_student;/*先查询gradeName全部的,方便对比去重效果*/
SELECT DISTINCT gradeName FROM t_student;/*去重复*/

11. 对查询结果排序

SELECT 字段1,字段 2.FROM 表名 ORDER BY 属性名[ASCDESC]

SELECT * FROM t_student ORDER BY age ASC;/*升序*/
SELECT * FROM t_student ORDER BY age DESC;/*降序*/

12. GROUPBY分组查询

GROUP BY 属性名[HAVING 条件表达式][WITH ROLLUP]

  1. 单独使用;
  2. 与 GROUP_CONCATO函数一起使用;
  3. 与聚合函数一起使用;
  4. 与HAVING 一起使用(限制!输出的结果);
  5. 与 WITH ROLLUP 一起使用(最后加入一个总和行);
SELECT * FROM t_student GROUP BY gradeName;/*单个使用毫无意义*/
SELECT gradeName ,GROUP_CONCAT(stuName) FROM t_student GROUP BY gradeName;/*聚合函数*/SELECT gradeName ,COUNT(stuName)FROM t_student GROUP BY gradeName;/*聚合函数*/
SELECT gradeName ,COUNT(stuName)FROM t_student GROUP BY gradeName HAVING COUNT(stuName)>3;/*聚合函数 对查询的结果筛选*/SELECT gradeName ,COUNT(stuName)FROM t_student GROUP BY gradeName WITH ROLLUP;/*对查询的结果数量总计*/
SELECT gradeName ,GROUP_CONCAT(stuName) FROM t_student GROUP BY gradeName WITH ROLLUP;

13. LIMIT 分页查询

SELECT 字段1,字段 2.FROM 表名 LINIT 初始位置,记录数;

SELECT * FROM t_student LIMIT 0,5;/*分页查询*/
SELECT * FROM t_student LIMIT 5,10;
SELECT * FROM t_student LIMIT 10,15;

推荐

  • MySQL:常用的SQL语句
  • MySQL:合并查询语句

http://www.ppmy.cn/news/1365091.html

相关文章

修改Qt生成iOS应用的原生底层,编译QtBase下的ios子模块

1.下载Qt源码 2.找到ios.pro子工程 3.使用QtCreaor12打开ios.pro工程 4.出现工程下只有一个.pro文件解决 复制修改好的toolchain.prf文件进行替换. 修改方法:

HTML知识点

HTML 【一】HTML简介 【1】什么是HTML HTML是一种用于创建网页结构和内容的超文本标记语言,它是构建网页的基础。为了让浏览器正确渲染页面,我们必须遵循HTML的语法规则。浏览器在解析网页时会将HTML代码转换为可视化的页面,所以我们在浏览…

Netty入门指南:从零开始的异步网络通信

欢迎来到我的博客,代码的世界里,每一行都是一个故事 Netty入门指南:从零开始的异步网络通信 前言Netty简介由来:发展历程:异步、事件驱动的编程模型: 核心组件解析通信协议高性能特性异步编程范式性能优化与…

鸿蒙应用程序包安装和卸载流程

开发者 开发者可以通过调试命令进行应用的安装和卸载,可参考多HAP的调试流程。 图1 应用程序包安装和卸载流程(开发者) 多HAP的开发调试与发布部署流程 多HAP的开发调试与发布部署流程如下图所示。 图1 多HAP的开发调试与发布部署流程 …

leetcode 3.反转链表;

1.题目: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 2.用例: 3.题目解析: (1)函数头: 要求返回结点,就 ListNode* reverseList(ListNode* head)&…

代码随想录算法训练营day60 || 647.回文子串,516. 最长回文子序列

动态规划,字符串性质决定了DP数组的定义 | LeetCode:647.回文子串_哔哩哔哩_bilibili 动态规划再显神通,LeetCode:516.最长回文子序列_哔哩哔哩_bilibili 647.回文子串 // 时间复杂度O(n^2) // 空间复杂度O(n^2) class Solution …

R语言空间分析、模拟预测与可视化

随着地理信息系统(GIS)和大尺度研究的发展,空间数据的管理、统计与制图变得越来越重要。R语言在数据分析、挖掘和可视化中发挥着重要的作用,其中在空间分析方面扮演着重要角色,与空间相关的包的数量也达到130多个。在本…

Redis的发布订阅功能教程,实现实时消息和key过期事件通知功能

Redis的发布订阅 Redis的发布/订阅(Pub/Sub)功能是一种消息传递模式,用于实现消息发布者(publisher)和订阅者(subscriber)之间的消息通信。在这种模式下,消息的发送者(发布者)将消息发送到特定的频道(channel),而订阅了该频道的接收者(订阅者)将会接收到这些消息…