MySQL数据库单表查询

jacklove
发布: 2018-06-11 23:13:12
原创
4704人浏览过

一、 简单查询

1.     Select语句

Select [distinct] * | {字段名1,字段名2,字段名3,。。。}

         From表名

         [where条件表达式1]

         [groupby 字段名 [having 条件表达式2]]

         [orderby 字段名 [asc|desc]]

         [limit[offset] 记录数]

(1)   Distinct是可选参数,用于剔除查询结果中重复的数据;

(2)   Group by是可选参数,用于将查询结果按照指定字段进行分组;having也是可选次参赛,用于对分组后的结果进行过滤

(3)   Order by是可选参数,用于将查询结果按照指定字段进行排序,排序方式由参数ASC或DESC控制,如果不指定,则默认为升序排列(ASC)

(4)   Limit 是可选参数,用于限制查询结果的数量,limit后面可以跟两个参数,第一个参数offset表示偏移量,如果偏移量为0,则从查询结果的第一条记录开始,偏移量为n则从查询结果中的第n+1条记录开始。如果不指定,则默认为0. 第二个参数‘记录数’表示返回查询记录的条数。

2.     查询所有字段

(1)   在select语句中指定所有字段

(2)   在select语句中使用*通配符代替所有字段:查询结果只能按照字段在表中定义的顺序显示。

3.     查询指定字段

二、 按条件查询

1.     带关系运算符的查询

2.     带in关键字的查询:in关键字用于判断某个字段的值是否在指定集合中。

3.     带between and关键字的查询:用于判断某个字段的值是否在指定的范围内。

4.     空值查询

5.     带distint关键字的查询:过滤掉查询记录中重复的值

当distinct关键字作用于多个字段时,只有它后面指定的多个字段值都相同,才会被认为是重复记录。

6.     带like关键字的查询:like关键字可以判断两个字符串是否相匹配。格式如下:

        Select * | [{字段名1,字段名2,…} from 表名

        Where 字段名 [not] like ‘匹配字符串’;

(1)   百分号(%)通配符:匹配任意长度的字符串,包括空字符串

可以使用多个%通配符,也可以和not一起使用

(2)   下划线(_)通配符:只能匹配单个字符,如果要匹配多个字符,需要使用多个下划线通配符,如果使用多个下划线匹配多个连续的字符则下划线之间不能有空格。如‘M_ _QL’中间有一个空格,只能匹配’My SQL’而不能匹配‘MySQL’。

(3)   使用百分号和下划线通配符进行查询操作:

注意:如果要匹配字符串中的百分好和下划线,就需要在铜牌字符串中使用‘\’对百分号和下划线进行转义,如’\%’匹配百分号字面值。

7.     带and关键字的多条件查询:使用and关键字可以连接两个或者多个查询条件,只有满足所有条件的记录才会被返回。每多加一个查询条件就多加一个and关键字。

8.     带or关键字的多条件查询:只要满足一个条件即返回记录。

9.     Or和and关键字在一起使用的情况:and的优先级高于or, 应优先运算and两边的条件表达式,再运算or两边的条件表达式。

三、 高级查询

1.     聚合函数:count(),sum(),avg(),max()和min()

(1)     count()函数用来统计记录的条数:selectcount(*) from 表名

(2)     sum()函数用于求出表中某个字段所有值的总和:select sum(字段名) from 表名

(3)     avg()函数用于求出某个字段所有值的平均值:select avg(字段名) from 表名;

(4)     max()函数是求最大值的函数,用于求出某个字段的最大值:select max(字段名) from 表名。

(5)     min()函数是求最小值的函数:selectmin(字段名) from 表名

2.     对查询结果排序

Select 字段名1,字段名2,… from表名 order by 字段名1[ASC | DESC],字段名2[ASC | DESC]…

3.     分组查询

Select 字段名1,字段名2,… from 表名 group by 字段名1,字段名2,… [having 条件表达式];

(1)   单独使用group by分组:查询结果安装字段中不同的值进行分类,查询结果只显示每个组中的一条记录。

(2)   Group by 和聚合函数一起使用

(3)   Group by和having关键字一起使用

Having关键字和where关键字的作用相同,都用于设置条件表达式对查询结果进行过滤,两者的区别在于having关键字后可以跟聚合函数,而where关键字不能。通常having关键字都和group by一起使用,用于对分组后的结果进行过滤。

4.     使用LIMIT限制查询结果的数量:指定查询结果从哪一条记录开始以及一共查询多少条信息。

        Select 字段名1,字段名2,… from表名 limit [offset,] 记录数

5.     函数(列表)

数学函数

函数名称

作用

Abs(x)

返回x的绝对值

Sqrt(x)

返回x的非负2次方根

Mod(x,y)

返回x被y除后的余数

Ceiling(x)

返回不小于x的最小整数

Floor(x)

返回不大于x的最大整数

Round(x,y)

Block Survey
Block Survey

BlockSurvey是一个保护隐私和数据安全调查工具,可以让你使用AI来创建调查表单。

Block Survey 28
查看详情 Block Survey

对x进行四舍五入操作,小数点后保留y位

Runcate(x,y)

舍去x中小数点y位后面的数

Sign(x)

返回x的符号,-1,0或1

 

字符串函数

函数名称

作用

Length(str)

返回字符串str的长度

Concat(s1,s2,…)

返回一个或者多个字符串连接产生的新的字符串

Trim(str)

删除字符串两侧的空格

Replace(str,s1,s2)

使用字符串s2替换字符串str中所有的字符串s1

Substring(str,n,len)

返回字符串str的子串,起始位置为n,长度为len

Reverse(str)

返回字符串反转后的结果

Locate(s1,str)

返回子串s1在字符串str中的起始位置

日期和时间函数

函数名称

作用

Curdate()

获取系统当前日期

Curtime()

获取系统当前时间

Sysdate()

获取当前系统日期和时间

Time_to_sec()

返回将时间转换成秒的结果

Adddate()

执行日期的加运算

Subdate()

执行日期的减运算

Date_format()

格式化输出日期和时间值

 

条件判断函数

函数名称

作用

If(expr, v1, v2)

如果expr表达式为true返回v1,否则返回v2

Ifnull(v1,v2)

如果v1不为null返回v1,否则返回v2

Case expr when v1 then r1 [when v2 then r2…] [else rn] end

如果expr值等于v1、v2等,则返回对应位置then后面的结果,否则返回else后的结果rn

 

加密函数

函数名称

作用

Md5(str)

对字符串str进行MD5加盟

Encode(str, pwd_str)

使用pwd作为密码加密字符串str

Decode(str, pwd_str)

使用pwd作为密码解密字符串str

 

(1)   Concat(str1,str2,…)返回结果为连接参数产生的字符串,如果任何一个参数为null,则返回值为null.

四、 为表和字段取别名

1.     为表取别名:select * from 表名 [as] 别名;

如下例子,s.gender表示student表的gender字段

2.     为字段取别名:select 字段名 [AS] 别名 [,字段名 [as] 别名,…] from 表名;

本文讲解了MySQL数据库单表查询,更多相关内容请关注php中文网。

相关推荐:

$选择器--是如何将DOM封装成jquery对象

原生js组件化开发简单轮播图实例代码

css3动画导航栏3D

以上就是MySQL数据库单表查询的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号