mysql--查询语句

1.  查询      重点是模糊查询  降序升序  限制数量查询

(1)不带条件的查询

select * from  表名    //查询表的所有字段

select  filed1,filed2 ...  filedn    from  表名   //filed为表中 字段名

select name,age from employee

(2)带条件的查询

分为下面的几种情况

-----带关系运算符和逻辑运算符的条件数据查询

-----带between  and关键字的条件数据查询

-----带is null关键字的条件数据查询

-----带in关键字的条件数据查询(较少用到)

-----带like关键字的条件数据查询

<1> 带关系运算符和逻辑运算符的条件数据查询

>    <    >=    <=   != 

select * from employee WHERE id>2;

AND(&&) 逻辑与    OR( || )逻辑或    XOR逻辑异或   NOT( !)逻辑非

带多个条件的查询

SELECT * from employee WHERE id!=2  and  age<20;

<2> 带between  and的条件数据查询

SELECT * from employee WHERE age BETWEEN 12 AND 20;
SELECT * from employee WHERE age NOT BETWEEN 14 AND 22;

<3>带is null关键字的条件数据查询

SELECT * from employee WHERE NAME IS NULL;
SELECT * from employee WHERE NAME IS NOT NULL;

<5>带like关键字的模糊查询

(1)带有% 通配符的查询

%通配符   可以匹配任意长度的字符   可以是0个  1个  或者是很多个

select * from employee WHERE name like 'x%';


'x%'   表示以字母x开头的数据记录,x不区分大小写  这里X和x是一样的

"_"  下划线通配符   只能匹配单个字符串

select * from employee WHERE name like '_i%';//查询name属性第二个字母是i的记录

select * from employee WHERE  name  like '__a%';  __ a  查询name属性第三个字母s是a的记录

还有  select field1,field2... fieldn   from   表名   where  field  NOT LIKE  value;

select * from employee WHERE  age NOT  like  14; //查询age 不是14的记录

(2)%s%非常重要     这里s  可以是任意字符 或者数字

     如果什么都没有  %%   就是匹配查询所有记录

select * from employee WHERE  name like  '%a%';//查询name属性所有包含a字母的的记录
select * from employee WHERE  age like  '%2%'; //查询age属性包含数字2的记录
select * from employee WHERE  name like  '%%';//就是查询name所有 非null的记录

2. 排序数据记录查询

DESCdescend 降序意思 

ASCascend 升序意思  (记住了  ascend是攀登、上升的意思。2012年从华为Ascend P1 S 开始

select field1,field2... fieldn   from   表名   (where  condition)   order  by  filedm   asc/desc

=1=  按单字段排序

select * from employee  ORDER BY age asc; //age 由小到大 上升

=2= 按多字段排序

//由于字段中可能存在多个值相同的数据记录

  先按照第一字段排序     ,  遇到相同的字段值   按第二个字段排序

我的表里面是这些数据


select * from employee  ORDER BY age asc, id desc;

可以看到age  由小到大    相同字段值的 id   大的在前  降序排列


3.限制数据记录查询数量

很重要

select field1,field2... fieldn   from   表名   (where  condition)  limit   offset_start ,  row_count;

通过关键字limit来限制数据查询结果的数量

 offset_start  :数据起始偏移量

row_count  :显示的行数

也是不知道初始位置  直接  limit  row_count

select * from employee  limit 2; //显示最开始的两行数据
select * from employee where name is null limit 2;//显示name是空的数据

select * from employee limit 10;   //行数大于 记录数  显示所有的记录

指定初始位置

select * from employee limit 3,5;   //从第4条记录开始  查询5行记录


4. 统计函数和分组数据记录查询

count()函数:实现统计表中的记录数

avg()   :实现 计算字段的平均值

sum():实现计算字段的总和

max():查询字段的最大值

min():查询字段的最小值

select function(field)from 表名  where  condition

select count(*)  age FROM  employee;   //总记录数


select avg(id)  age FROM  employee;  //求id的平均值

和也是一样的 ,最后来一个最大值和最小值

select MAX(id) id, MIN(age) age FROM employee; //id最大 age最小











  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值