ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库查询: 列出表的所有字段,“*”符号,查询指定字段数据,DISTINCT查询,IN查询,BETWEEN AND查询,LIKE模糊查询,对查询结果排序,分组查询,统计分组查询

2021-05-16 14:57:52  阅读:180  来源: 互联网

标签:LIKE tablename 查询 关键字 分组 fieldn SELECT


数据库查询

列出表的所有字段

通过SQL语句SELECT列出表的所有字段,具体语法形式如下:
SELECT field1,field2,…,fieldn FROM tablename;
其中,filed1~fieldn参数表示需要查询的字段名;tablename参数表示表的名称。

“*”符号

查询所有字段数据,除了使用上面的方式外,还可以通过符号“”来实现,具体语法形式如下:
SELECT * FROM tablename;
其中,符号“
”表示所有字段名;tablename参数表示表的名称。与上一种方式相比,“*”符号方式的优势比较明显,即可用该符号代替表中的所有字段,但是这种方式不够灵活,只能按照表中字段的固定顺序显示,不能随便改变字段的顺序。

查询指定字段数据

查询指定字段数据,只需修改关键字SELECT后的字段列表为指定字段即可。
SELECT field1,field2,…,fieldn FROM tablename;
例如,从班级表中查询班主任字段,SQL语句如下所示。
SELECT teacher FROM class;
如果关键字SELECT后面的字段不包含在所查询的表中,那么MySQL会报错。
在这里插入图片描述

DISTINCT查询

当在MySQL中执行简单数据查询时,有时会显示出重复数据。为了实现查询不重复数据,MySQL提供了DISTINCT功能,SQL语法如下:
SELECT DISTINCT field1,field2,…,fieldn FROM tablename;
在上述语句中,关键字DISTINCT去除重复的数据。
在这里插入图片描述

IN查询

有的时候,当我们需要查询的目标记录限定在某个集合中的时候,在MySQL中可以使用关键字IN来实现,关键字IN可以实现判断字段的数值是否在指定集合中,该关键字的具体语句形式如下:
SELECT field1,field2,…,fieldn
FROM tablename WHERE filedm IN(value1,value2,value3,…,valuen);
注:参数fieldn表示名称为tablename的表中的字段名,参数valuen表示集合中的值,通过关键字IN来判断字段fieldm的值是否在集合(value1,value2,value3,…,valuen)中,如果字段fieldm的值在集合中,就满足查询条件,该记录会被查询出来,否则不会被查询出来。
在这里插入图片描述

BETWEEN AND查询

当我们需要查询指定范围内的数据(如: id 从0 到 100)的时候,MySQL提供了关键字BETWEEN AND,用来实现判断字段的数值是否在指定范围内的条件查询。该关键字的具体语法形式如下:
SELECT field1,field2,…,fieldn
FROM tablename WHERE fieldm BETWEEN minvalue AND maxvalue
在上述语句中,参数fieldn表示名称为tablename的表中的字段名,通过关键字BETWEEN和AND来设置字段field的取值范围,如果字段field的值在所指定的范围内,那么满足查询条件,该记录会被查询出来,否则不会被查询出来。
BETWEEN minvalue AND maxvalue,表示的是一个范围间的判断过程,只针对数字类型。
在这里插入图片描述
在这里插入图片描述

7.LIKE模糊查询

当我们只想用字符串中间的一部分特征查找含有特征字串的信息时,MySQL提供了关键字LIKE来实现模糊查询,需要使用通配符,具体语法形式如下:
SELECT field1,field2,…,fieldn
FROM tablename WHERE fieldm LIKE value;
在上述语句中,参数tablename表示表名,参数fieldn表示表中的字段名字,通过关键字LIKE来判断字段field的值是否与value字符串匹配,如果相匹配,则满足查询条件,该记录就会被查询出来;否则就不会被查询出来。
在MySQL中,字符串必须加上单引号(’’)和双引号(″″)。

在这里插入图片描述

对查询结果排序

在MySQL中,从表中查询出的数据可能是无序的,或者其排列顺序不是用户所期望的顺序,为了使查询结果的顺序满足用户的要求,可以使用关键字ORDER BY对记录进行排序,其语法形式如下:
SELECT field1, field2, field3, …, fieldn
FROM tablename ORDER BY fieldm [ASC|DESC]
在上述语句中,参数tablename表示所要进行排序的表名,参数fieldn表示表中的字段名字,参数fieldm表示按照该字段进行排序;ASC表示按升序进行排序;DESC表示按降序进行排序。默认的情况下按ASC进行排序。
注意:如果存在一条记录字段的值为空值(NULL),那么按升序排序时,含空值的记录将最先显示,可以理解为空值是该字段的最小值;按降序排列时,字段为空值的记录将最后显示。
在这里插入图片描述

分组查询

MySQL软件提供了5个统计函数来帮助用户统计数据,可以使用户很方便地对记录进行统计数、计算和、计算平均数、计算最大值和最小值,而不需要查询所有数据。
在具体使用统计函数时,都是针对表中所有记录数或指定特定条件(WHERE子句)的数据记录进行统计计算。在现实应用中,经常会先把所有数据记录进行分组,再对这些分组后的数据记录进行统计计算。
MySQL通过SQL语句GROUP BY来实现,分组数据查询语法如下:
SELECT function()[,filed ]
FROM tablename WHERE CONDITION GROUP BY field;
在上述语句中,参数field表示某字段名,通过该字段对名称为tablename的表的数据记录进行分组。
注意:在具体进行分组查询时,分组所依据的字段上的值一定要具有重复值,否则分组没有任何意义。

五个统计函数简介:

  1. 统计数量
    COUNT(*):该种方式可以实现对表中记录进行统计,不管表字段中包含的是NULL值还是非NULL值。
    COUNT(field):该种方式可以实现对指定字段的记录进行统计,在具体统计时将忽略NULL值。
  2. 统计计算平均值
    该函数只有一种使用方式。
    AVG(field)使用方式:该种方式可以实现对指定字段的平均值进行计算,在具体统计时将忽略NULL值。
  3. 统计计算求和
    该函数只有一种使用方式。
    SUM(field)使用方式:该种方式可以实现计算指定字段值之和,在具体统计时将忽略NULL值。
  4. 统计最大值
    该函数只有一种使用方式。
    MAX(field)使用方式:该种方式可以实现计算指定字段值中的最大值,在具体统计时将忽略NULL值。
  5. 统计最小值
    该函数只有一种使用方式。
    MIN(field)使用方式:该种方式可以实现计算指定字段值中的最小值,在具体统计时将忽略NULL值。

在这里插入图片描述

统计分组查询

在MySQL中,只实现简单的分组查询有时候可能没有任何实际意义,因为关键字GROUP BY单独使用时,默认查询出每个分组中随机的一条记录,具有很大的不确定性,一般建议将分组关键字与统计函数一起使用。
如果想显示每个分组中的字段,可以通过函数GROUP_CONCAT()来实现。该函数可以实现显示每个分组中的指定字段,函数的具体语法形式如下:
SELECT GROUP_CONCAT(field)
FROM tablename
WHERE CONDITION GROUP BY field;
在上述语句中会显示每个数组中的字段值。

在这里插入图片描述

标签:LIKE,tablename,查询,关键字,分组,fieldn,SELECT
来源: https://blog.csdn.net/m0_46376834/article/details/116891231

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有