Mysql查询——学习阶段
1、开篇
搞开发的都知道,当数据量很大的时候,我们的代码逻辑的简单性就显得十分重要,否则处理起来就需要花费相当多的时间。另外还有一个地方需要注意的是我们写的sql语句。
一个拥有多年开发的资深开发者可以相比于刚从事开发经验不足的开发者写的sql效率要高些,数据量小基本没有什么关系。但是假如你在拥有高数据的BAT,或者国家企业,那这
条sql的差异就明显就大了。所以,能写出好的sql是相当重要的。
2、简单的查询sql
(1)select * from pj_appoint_order; 查询所有的约单,*表示这个表中所有的字段
(2)select id,user_name,user_phone from pj_appoint_order; 查询所有约单中id,user_name,user_phone这几个字段。
当然你可以改变这个表中查询出来表中字段的名称,例如:
select id as '编号',user_name as '用户名称',user_phone as '用户手机' from pj_appoint_order;
select id '编号',user_name '用户名称',user_phone '用户手机' from pj_appoint_order;
有as和没有都可以。
(3)select distinct user_name from pj_appoint_order; distinct去掉重复的用户名(保留一个)
(4)select * from pj_account where score>88;查询用户积分大于88的用户,不包含88.
当然,在我们mysql中
大于号:>
小于号:<
大于等于>=
小于等于<=
不等于 != 或者 <>
(5)select * from stu where type ='超级会员' and score >90; 查询用户为超级会员并且积分大于90的用户所有信息
(6)表达式的学习: not , or ,in , between and
select * from pj_account where score between 75 and 85;
select * from pj_account where not type='超级会员';
select * from pj_account where type!='超级会员';
select * from pj_account where score = 70 or score=81 or score=59; 查询用户积分为70或者81或者59的用户信息
---------------------------------查询面积为400或者500或者600的约单----------------------------------------------------------
SELECT * FROM pj_appoint_order WHERE acreage IN(400,500,600);
SELECT * FROM pj_appoint_order WHERE acreage = 400 OR acreage=500 OR acreage=600;
(7)like 与 通配符的使用
_:占一个字符。
%:多个字符进行匹配
SELECT * FROM pj_appoint_order WHERE user_name LIKE '%哥%'
SELECT * FROM pj_appoint_order WHERE user_name LIKE '_哥_'
(8)一般而言查询值为null的情况比较少,但是也是会存在的,查询null需要用is
select * from pj_account where score is null;
select * from pj_account where score is not null;
(9)排序 order by mysql默认的是升序排序(asc)
select * from pj_account order by id desc
(10) 聚集函数。聚合函数不对null进行操作
count()//统计数量
sum()//求和
max() //最大
min()//最小
avg()//平均
select count(*) from pj_account; 查询用户表中有多少条记录,其他的类似。可以自己试试。
select round( avg(ifnull(score,0)),2) from pj_account; 求平均成绩。
解析:如果积分是null则赋值为0,然后求平均值,求完平均值后保留两位小数。
(11) where 与 having 区别
1. having 对聚集函数进行条件筛选 ,如果最后的条件是 聚集函数 那么我们就用 having
2. 具体的某一条数据
综合我们学习的查询相关关键字:
书写的顺序:
select,from,where,group by,having,order by;
执行的顺序:
from:找到我们要操作的表。
where,group by,having, 相当与我们的条件
select :查询
order by:排序。
3、一份耕耘一份收货!兢兢业业,必有丰收。
Mysql查询——学习阶段的更多相关文章
- mysql 查询各个阶段所消耗的时间
- Mysql查询——深入学习
1.开篇 之前上一篇的随笔基本上是单表的查询,也是mysql查询的一个基本.接下来我们要看看两个表以上的查询如何得到我们想要的结果. 在学习的过程中我们一起进步,成长.有什么写的不对的还望可以指出. ...
- [转]向facebook学习,通过协程实现mysql查询的异步化
FROM : 通过协程实现mysql查询的异步化 前言 最近学习了赵海平的演讲,了解到facebook的mysql查询可以进行异步化,从而提高性能.由于facebook实现的比较早,他们不得不对php ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- mysql 中语句执行的顺序以及查询处理阶段的分析
原文链接:http://www.php.cn/mysql-tutorials-408865.html 本篇文章给大家带来的内容是关于mysql中语句执行的顺序以及查询处理阶段的分析,有一定的参考价值, ...
- 【数据库】9.0 MySQL入门学习(九)——获得数据库和表的信息、日期计算、查询、选择特殊列
1.0 SELECT语句用来从数据表中检索信息. SELECT what_to_select FROM which_table WHERE conditions_to_satisfy; what_to ...
- 【数据库】7.0 MySQL入门学习(七)——MySQL基本指令:帮助、清除输入、查询等
1.0 help == ? 帮助指令,查询某个指令的解释.用法.说明等.详情参考博文: [数据库]6.0 MySQL入门学习(六)——MySQL启动与停止.官方手册.文档查询 https://www. ...
- mysql查询、子查询、连接查询
mysql查询.子查询.连接查询 一.mysql查询的五种子句 where子句(条件查询):按照“条件表达式”指定的条件进行查询. group by子句(分组):按照“属性名”指定的字段进行分组.gr ...
- 你真的会玩SQL吗?之逻辑查询处理阶段
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
随机推荐
- Uploadify 结合 Web API 2 上传问题
最近使用jQuery.Uploadify和Web API配合来做上传,碰到问题,还木有办法解决,记录一下: 环境:jQuery 1.10.2,Uploadify 3.2.1,SWFObject 2.2 ...
- 前端开发:面向对象与javascript中的面向对象实现(一)
前端开发:面向对象与javascript中的面向对象实现(一) 前言: 人生在世,这找不到对象是万万不行的.咱们生活中,找不到对象要挨骂,代码里也一样.朋友问我说:“嘿,在干嘛呢......”,我:“ ...
- Kafka资源汇总
终于下定决心写一点普及类的东西.很多同学对Kafka的使用很感兴趣.如果你想参与到Kafka的项目开发中,很多资源是你必须要提前准备好的.本文罗列了一些常用的Kafka资源,希望对这些develope ...
- C#开机自动启动程序代码
新建一个winform拖一个checkbox进来.. 然后设置它的changed事件. 已经测试过,可以直接复制使用. private void checkBox1_CheckedChanged(ob ...
- Entity Framework 教程——安装Entity Framework环境
安装Entity Framework环境 Entity Framework 5.0 API分布在两个地方,一个可在NuGet包管理器中找到,一个存在于.NET framework中..NET fram ...
- PHP如何实现网址伪静态
Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态. 主要步骤如下: 1.检测Apache是否开启mod_rewrite功能 可以通过php提供 ...
- vcredist_x64.exe vcredist_x86.exe 静默安装方法收集
vcredist_x64.exe /install /quiet /norestart 更多方法参考如下: http://www.cnblogs.com/lidabo/archive/2013/01/ ...
- java分解质因数
package test; import java.util.Scanner; public class Test19 { /** * 分析:对n进行分解质因数,应先找到一个最小的质数k * 最小 ...
- 微信小程序之基础简介
创建小程序项目后进入编辑环境中会有以下的初始配置文件: 文件夹: 1.pages(存放小程序的页面) 1.index 2.logs (页面里的js文件 以Page()方法开头 所有参数对象都存放在其里 ...
- 组件RecyclerView的应用(一)
首先我们知道RecyclerView组件是ListView的升级版,今天先介绍基础的RecyclerView的基本布局RecyclerView.Adapter和LayoutManager 第一: La ...