怎么在MySQL中使用DQL命令查询数据


怎么在MySQL中使用DQL命令查询数据?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。SELECT 语法
基本查询语句&AS以下例子用student表中的数据。查询表中所有数据列结果,采用 “*” 符号,效率低可指定查询列,效率高AS 子句的作用和用法注意:AS 可省略不写(1)可给数据列取一个新别名(2)给表取别名(3)可把计算或总结的结果用另一个新名称来代替DISTINCT 关键字作用:去掉SELECT查询出来的重复值(当所有返回值都相同时,只返回一条记录)语法:注意:ALL 关键字是默认的,返回所有记录,与之相反当过滤多列重复值时,只有当选择过滤的列都存在重复值才进行过滤过滤单列:查询学生表中的地址SQL语句中的表达式避免SQL返回结果中包含“.” ,“*”,和括号等干扰开发语言程序拼接CONCAT数值类型相加比较运算符&通配符where条件语句:用于检索数据表中符合条件的记录搜索条件可以由一个或多个逻辑表达式组成,结果一般为真或假搜索条件的组成:逻辑操作符、比较操作符逻辑操作符比较操作符使用 LIKE 关键字进行模糊查询与“%”一起使用,表示匹配0个或任意个字符与“_”一起使用 表示匹配单个字符注意:数值数据类型的记录之间才能进行算数运算相同的数据类型的数据之间才能进行比较NULLnull 代表“无值”区别于零值0和空字符串“ ”只能出现在定义允许为NULL的字段须使用 IS NULL 或 IS NOT NULL 比较操作符去比较内连接&自查询如果需要多张数据表的数据进行查询,则可以通过连接运算符实现多个查询。分类包括:内连接(inner jion):等值和非等值的连接查询自身连接查询外连接(out jion)左连接(LEFT JION)右连接(RIGHT JION)ORDER BY 排序查询对select 语句查询得到的结果,按某些字段进行排序与DESC(降序)或ASC(升序)搭配使用,默认为ASC以subject表和grade表数据为例:多字段排序:先按照第一个字段排序,再按照第二个字段排序。如果第一个字段数据相同,再按照第二个字段排序。LIMIT分页LIMIT [m,] n 或 LIMIT n OFFSET m限制SELECT返回结果的行数m为第一个返回记录行的偏移量n返回记录行的数目注意:m不指定,则偏移量为0,从第一条开始返回前n条记录LIMIT 常用于分页显示如果超出表中数据,则显示全部例如:总记录数:total总页数:int totalPage = total %pagesize ==0 ? total / pagesize : total / pagesize + 1子查询在查询语句WHERE 条件开发云主机域名子句中,又嵌套了另外一个查询语句注意:子查询返回的结果一般是集合,建议使用IN关键字聚合函数常用的统计函数:COUNT()、SUM()、AVG()、MAX()、MIN()分组GROUP BY使用 GROUP BY 关键字对查询结果分组对所有的数据进行分组统计分组的字段可以有多个,并依次分组与 HAVING 结合使用,进行分组后的数据筛选以 student 表为例(1)对student 表按照地址分组统计 group byHAVING 过滤分组的记录必须满足的次要条件(2)对 student 表 按照地址分组,满足地址=1的 HAVING合并 UNION 、UNIONALLUNION#合并完全相同数据UNION ALL #合并所有数据注意:合并两张表时,列数必须一样才能合并。两表列数不同时,会报以下错误: [SQL]SELECT * FROM grade UNION SELECT * FROM student;
[Err] 1222 – The used SELECT statements have a different number of columns
(1)合并 subject 表和student表子查询 EXISTS——>true falseEXISTS / NOT EXISTS 子查询条件成立则显示父查询的结果,否则不显示结果(1)子查询条件为真 (grade 表中 gradeid 1~5,存在1)或(2)子查询条件为假(grade 表中 gradeid 1~5,不存在999)或子查询(any & all)ANY :判断条件中,若子查询中任意一个值满足条件,则执行父查询
ALL :判断条件中,若子查询中所有值满足条件,则执行父查询
(1)满足条件:存在 subject.gradeid >= grade.gradeid ,执行父查询(2)不满足条件:所有subject.gradeid >= grade.gradeid ,不执行父查询看完上述内容,你们掌握怎么在MySQL中使用DQL命令查询数据的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注开发云行业资讯频道,感谢各位的阅读!

相关推荐: CentoS 6.X安装xtrabackup 2.2.13

作为一线运维或者DBA对数据备份绝对不会陌生,mysqldump、xtrabackup等常见备份姿势更是非常熟悉,还有很多商业备份工具以及其他的开源备份工具,所谓的冷备、热备、增量备份什么的,各种名词直接晃悠的你头疼。接下来跟着我继续踩一遍软件安装的坑吧。操作…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/15 17:57
下一篇 06/15 17:57

相关推荐