搜索
首页数据库mysql教程MySQL数据库单表查询

MySQL数据库单表查询

Jun 11, 2018 pm 11:13 PM
mysql

一、 简单查询

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)

对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中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
MySQL如何处理数据复制?MySQL如何处理数据复制?Apr 28, 2025 am 12:25 AM

MySQL通过异步、半同步和组复制三种模式处理数据复制。1)异步复制性能高但可能丢失数据。2)半同步复制提高数据安全性但增加延迟。3)组复制支持多主复制和故障转移,适用于高可用性需求。

您如何使用解释性语句分析查询性能?您如何使用解释性语句分析查询性能?Apr 28, 2025 am 12:24 AM

EXPLAIN语句可用于分析和提升SQL查询性能。1.执行EXPLAIN语句查看查询计划。2.分析输出结果,关注访问类型、索引使用情况和JOIN顺序。3.根据分析结果,创建或调整索引,优化JOIN操作,避免全表扫描,以提升查询效率。

您如何备份并还原MySQL数据库?您如何备份并还原MySQL数据库?Apr 28, 2025 am 12:23 AM

使用mysqldump进行逻辑备份和MySQLEnterpriseBackup进行热备份是备份MySQL数据库的有效方法。1.使用mysqldump备份数据库:mysqldump-uroot-pmydatabase>mydatabase_backup.sql。2.使用MySQLEnterpriseBackup进行热备份:mysqlbackup--user=root--password=password--backup-dir=/path/to/backupbackup。恢复时,使用相应的命

MySQL中慢速查询的常见原因是什么?MySQL中慢速查询的常见原因是什么?Apr 28, 2025 am 12:18 AM

MySQL慢查询的主要原因包括索引缺失或不当使用、查询复杂度、数据量过大和硬件资源不足。优化建议包括:1.创建合适的索引;2.优化查询语句;3.使用分表分区技术;4.适当升级硬件。

MySQL中有什么看法?MySQL中有什么看法?Apr 28, 2025 am 12:04 AM

MySQL视图是基于SQL查询结果的虚拟表,不存储数据。1)视图简化复杂查询,2)增强数据安全性,3)维护数据一致性。视图是数据库中的存储查询,可像表一样使用,但数据动态生成。

MySQL和其他SQL方言之间的语法有什么区别?MySQL和其他SQL方言之间的语法有什么区别?Apr 27, 2025 am 12:26 AM

mysqldiffersfromothersqldialectsinsyntaxforlimit,自动启动,弦乐范围,子征服和表面上分析。1)MySqluessLipslimit,whilesqlserverusestopopandoraclesrontersrontsrontsrontsronnum.2)

什么是mysql分区?什么是mysql分区?Apr 27, 2025 am 12:23 AM

MySQL分区能提升性能和简化维护。1)通过按特定标准(如日期范围)将大表分成小块,2)物理上将数据分成独立文件,3)查询时MySQL可专注于相关分区,4)查询优化器可跳过不相关分区,5)选择合适的分区策略并定期维护是关键。

您如何在MySQL中授予和撤销特权?您如何在MySQL中授予和撤销特权?Apr 27, 2025 am 12:21 AM

在MySQL中,如何授予和撤销权限?1.使用GRANT语句授予权限,如GRANTALLPRIVILEGESONdatabase_name.TO'username'@'host';2.使用REVOKE语句撤销权限,如REVOKEALLPRIVILEGESONdatabase_name.FROM'username'@'host',确保及时沟通权限变更。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)