MySQL 数据库中的单表查询操作

本文介绍了MySQL数据库中的单表查询操作,包括简单查询、条件查询、限制查询、使用函数和分组查询等,详细讲解了如何使用SELECT语句进行各种复杂的操作,如指定字段查询、去除重复记录、范围查询、模糊查询、排序、限制记录数量以及使用函数和GROUP BY进行数据处理。
摘要由CSDN通过智能技术生成

大家好,作为一名互联网行业的小白,写博客只是为了巩固自己学习的知识,但由于水平有限,博客中难免会有一些错误出现,有不妥之处恳请各位大佬指点一二!
博客主页:链接: https://blog.csdn.net/weixin_52720197?spm=1018.2118.3001.5343

1.简单查询

简单查询只需要通过 SELECT 语句来实现。

1.1. 查询所有字段

1.1.1.指定所有字段

select column_name1, column_name2, ··· , column_namen from table_name;

其 中 ,
 “ select ” 为 查 询 数 据 时 必 须 使 用 的 关 键 字 ; 
 “ column_name1,column_name2, ··· , column_namen”表示表中所有字段的名称,两个字段名之间使用“,”隔开;“table_name”表示要查询的表的名称。

1.1.2. 使用“*”通配符代替所有字段

select * from table_name;
其中,“*”为通配符,在此表示所有的字段。

1.2.查询指定字段

select column_name1, column_name2, ··· from table_name;

1.3.去除重复记录的查询

select distinct column_name1, column_name2, ··· from table_name;

其中,“distinct”为去除查询结果中重复记录时使用的关键字;“column_name1,column_name2, ··· ”表示要去除重复记录的字段名。

1.4.使用算术运算符的查询

在这里插入图片描述

1.4.1.使用字段别名的查询

select column_name1 [as] othername1, column_name2 [as] othername2, ··· from table_name;

其中,“column_name1”和“column_name2”表示要查询的字段名;
“as”为可选项,可有可无;
“othername1”和“othername2”分别为字段“column_name1”和
“column_name2”的别名。

1.5.设置数据显示格式的查询

select concat('key:',value, ','key:',value, ''key:',value, ','key:',value, ') info
from 表格名称;

1.6.对查询结果排序

1.6.1.按照指定的单字段排序

select column_name1, column_name2, ··· from table_name order by order_name [asc|desc];

其中,“column_name1”和“column_name2”表示要查询的字段名;
“order_name”表示按照该字段进行排序;
“asc”和“desc”分别表示升序和降序,如果没有指定排序规则,则默认是按照升序(asc)进行排序。

1.6.2.按照指定的多字段排序

select column_name1, column_name2, ··· from table_name order by order_name1[asc|desc], order_name2 [asc|desc], ··· ;

其中,“order_name1”表示查询结果首先按照该字段进行排序,即第一个排序字段;
“order_name2”表示在按照第一个字段排序时,如果遇到值相同的记录,则按照该字段进行排序,即第二个排序字段;以此类推;每个字段需要单独指定排序规则(升序或者降序)。

2. 条件查询

select column_name1, column_name2, ··· from table_name where where_condition;

其 中 , “ where where_condition ” 为 where 子 句 , 用 来 指 定 查 询 条 件 ,
“where_condition”就是指定的查询条件。

2.1.使用比较运算符的查询

在这里插入图片描述

2.2.使用[NOT] BETWEEN AND 的范围查询

select column_name1, column_name2, ··· from table_name where column_name[not] between value1 and value2;

其中,“column_name”为指定要进行判断的字段名;
“between value1 and value2”表示字段的值在 value1 和 value2 之间(包括 value1 和 value2);
“not”为可选项,如果使用了 not 则查询的是指定范围之外的所有记录。

2.3.使用[NOT] IN 的指定集合查询

select column_name1, column_name2, ··· from table_name where column_name[not] in (value1, value2, ···);

其中,“column_name”为指定要进行判断的字段名;
“in (value1, value2, ···)”用来判断字段的值是否在(value1, value2, ···)这个集合中;
“not”为可选项,如果使用了 not则查询的是指定集合之外的所有记录。

2.4. 使用 IS [NOT] NULL 的空值查询

select column_name1, column_name2, ··· from table_name where column_name is[not] null;

其中,“column_name”为指定要进行判断的字段名;
“is null”用来判断字段的值是否为空;“not”为可选项,如果使用了 not 则查询的是字段值不为空的所有记录

2.5.使用[NOT] LIKE 的模糊查询

select column_name1, column_name2, ··· from table_name where column_name[not] like value;

其中,“column_name”为指定要进行比较的字段名;
“value”表示要进行匹配的字符串值,value 的值可以是一个完整的字符串,也可是包含有一个或者多个通配符(%或者_)的字符串;“not”为可选项,如果使用了 not 则查询的是字段值与 value 不匹配的所有记录。

2.6.使用 AND 的多条件查询

select column_name1, column_name2, · · · from table_name where
where_condition1 and where_condition2 [and where_condition3 ···];

其中,“where_condition1”、“where_condition2”和“where_condition3”为指定的多个查询条件,不同的查询条件之间使用 and 连接。

2.7.使用 OR 的多条件查询

select column_name1, column_name2, · · · from table_name where
where_condition1 or where_condition2 [or where_condition3 ···];

3. 限制查询

select column_name1, column_name2, ···
from table_name
where where_condition
limit [start_index,] row_count;

其中,“start_index”为可选项,表示显示记录的初始位置;“row_count”表示记录显示的行数

3.1. 不指定初始位置的限制查询

在不指定初始位置的限制查询中,查询结果中的记录会默认从满足条件的第一条记录开始显示,即“start_index”参数的值默认为 0(第一条记录对应的位置为 0,而不是 1)。

3.2.指定初始位置的限制查询

在指定初始位置的限制查询中,需要指定“start_index”参数的值。如果指定的start_index 为 0,则表示从第一条记录开始显示。如果指定的“start_index 为 1”,则表示从第二条记录开始显示,以此类推。

4.使用函数查询

4.1.单行函数

4.1.1.字符串函数

在这里插入图片描述
在这里插入图片描述

4.1.2.数值函数

在这里插入图片描述

4.1.3.日期与时间函数

在这里插入图片描述

4.1.4.流程函数

在这里插入图片描述
在这里插入图片描述

4.2.多行函数

在这里插入图片描述

5.分组查询

5.1.简单 GROUP BY 查询

select column_name1[, column_name2, ···]
from table_name
where where_condition
group by column_name3[, column_name4, ···];

其中,“group by”后边可以指定一个或多个字段,如果指定的为一个字段
“column_name3”,表示表示记录将按照该字段进行分组;如果指定的为多个字段
“column_name3”和“column_name4”等,表示记录首先按照字段“column_name3”
进行分组,然后针对每组按照字段“column_name4”进行分组,以此类推。

5.2.GROUP BY 与统计函数

select [column_name1, column_name2, ···,] function1()[, function2(), ···]
from table_name
where where_condition
group by column_name3[, column_name4, ···];

其中,“function1()”和“function2()”表示在分组查询中使用的统计函数。

5.3. GROUP BY 与 HAVING

select [column_name1, column_name2, ···,] function1()[, function2(), ···]
from table_name
where where_condition
group by column_name3[, column_name4, ···]
having group_condition;

其中,“group_condition”表示针对分组的限制条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值