2018-04-01

其中有一个查询,这次就较为全面的写一下MySQL的查询

查询的基本语法为:

select  *  from  表名;

在select后面列使用distinct可以消除重复行,语法为:

select  distinct  字段名  from  表名;

使用where字句对表中的数据筛选,结果为true的行会出现在结果集中,语法为:

select  *  from  表名  where  条件;

比较运算符:

等于 =

大于 >

大于等于  >=

小于 <

小于等于 <=

不等于  != 或 <>

查询标号不大于4的科目

select  *  from  表名  where  id <= 4;

查询姓名不是张三的学生

select  *  from  表名  where  name != "张三";

查询没被删除的男生

select  *  from  表名  where  isdelete=0  and  sex=1;


逻辑运算符:

and     or   not 

查询编号大于3的女同学

select  *  from  表名  where  id>3  and  sex=0;

模糊查询:

like  

%表示任意多个任意字符

_表示一个任意字符

查询姓黄的学生:

select  *  from  表名  where  name  like '黄%';



范围查询:

in 表示在一个非连续的范围内

between...and...   表示在一个连续的范围内

优先级:

小括号,not,比较运算符,逻辑运算符

and比or选运算,如果同时出现并希望先算or,需要结合()使用

聚合函数:

count()表示计算总行数,括号中写星或列名,结果是相同的

max(列)  表示求此列的最大值

min(列)   表示求此列的最小值

sum(列)  表示求此列的和

avg(列)   表示求此列的平均值

分组:

语法:select 列1,列2,聚合... from 表名 group by 列1,列2,列3...

分组后的数据筛选:

select  列1,列2,聚合...from  表名

group  by   列1,列2,列3...

having  列1,....聚合...

having后面的条件运算符与where的相同

对比where与having

where 是对from 后面指定的表进行数据筛选,属于对原始数据的筛选

having是对group  by的结果进行筛选

排序:

语法为下

slelect   *  from  表名

order  by  列1  asc(从小倒下排列,即升序)

select  *  from  表名

orser  by  列1  desc(从大到小排列,即降序)

分页


select *  from  表名

limit  start,count

从start开始,获取count条数据

start索引从0开始

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 追加一下数据库的基本操作 修改 update 表名 set 列名='内容'... where 条件 修改值 upd...
    郭强成就阅读 196评论 0 0
  • 过完年回来已经一个月了,也过完了第一个教学月度,前段学完了,开始学数据库了,等完全学完数据库就开始能自己运营网页了...
    狂风舞蝶丶阅读 155评论 0 0
  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 9,831评论 0 44
  • 文/萧让 午后柔抚的阳光 像恋人的眸子泛着 亲切柔和的光芒 流连着我也驿动着你 温暖明媚的春天啊 我从来没有 像现...
    萧让听雪阅读 202评论 0 0
  • 在《总是那么流利》(Fluent Forever)一书中,通晓多国语言的作者 Gabriel Wyner 认为,学...
    Jodoo阅读 30,651评论 144 1,141