mysql查询 带数据库_Mysql查询数据库 整理

一、查询数据:

查询所有列:SELECT * FROM student;

查询指定列:SELECT id,NAME,gender FROM student;

格式:select字段名, 字段名, 字段名 from 表名

查询时添加常量列:

在查询xxx表时添加一个班级列,内容为“xxx”

SELECT id,NAME,gender,age,'xxx' AS '年级'  FROM xxx;

查询时合并列:

需求: 查询每个学生的servlet和jsp的总成绩

SELECT id,NAME,(servlet+jsp) AS '总成绩' FROM student;

注意:合并列只能合并数值类型的字段

SELECT id,(NAME+servlet) FROM student;

查询时去除重复记录:

需求: 查询学生的性别     男 女

SELECT DISTINCT gender FROM student;

另一种语法

SELECT DISTINCT(gender) FROM student;

条件查询(where):

1)    逻辑条件: and(与)     or(或)

a)         需求: 查询id为2,且姓名为李四的学生

SELECT * FROM student WHERE id=2 AND NAME='李四'; -- 交集

b)         需求: 查询id为2,或姓名为张三的学生

SELECT * FROM student WHERE id=2 OR NAME='张三'; -- 并集

2)    比较条件: >   =  <=  =  <>(不等于) between and (等价于>= 且 <=)

a)         需求: 查询servlet成绩大于70分的学生

SELECT * FROM student WHERE servlet>70;

b)         需求: 查询jsp成绩大于等于75,且小于等于90分的学生

a)         SELECT * FROM student WHERE jsp>=75 AND jsp<=90;

另一个语法

b)         SELECT * FROM student WHERE jsp BETWEEN 75 AND 90; -- (包前包后)

3)    判空条件(null 空字符串):  is null / is not null / =''  / <>''

a)         需求: 查询地址为空的学生(包括null和空字符串)

null vs  空字符串

null:表示没有值

空字符串:有值的,但是值是空字符串

b)         判断null

SELECT * FROM student WHERE address IS NULL ;

c)         判断空字符串

i.              SELECT * FROM student WHERE address='';

ii.              SELECT * FROM student WHERE address IS NULL OR address=''; -- (包括null和空字符串)

d)         需求: 查询有地址的学生(不包括null和空字符串)

SELECT * FROM student WHERE address IS NOT NULL AND address<>'';

4)    模糊条件: like

通常使用以下替换标记:

% : 表示任意个字符

_ : 表示一个字符

i.              需求: 查询姓‘张’的学生

SELECT * FROM student WHERE NAME LIKE '李%';

ii.              需求: 查询姓‘李’,且姓名只有两个字的学生

SELECT * FROM student WHERE NAME LIKE '李_';

聚合查询

常用的聚合函数:sum()  avg()  max()  min()  count()/*记录*/

求和:

Select sum(字段名) from 表名

求平均:

Select avg(字段名) from 表名

最大值:

Select sum(字段名) from 表名

最小值:

Select sum(字段名) from 表名

统计表记录数(常用):

Select count(*) from 表名

分页查询(limit 起始行,查询几行)

分页查询当前页的数据的sql:

公式:

SELECT * FROM student LIMIT (当前页-1)*每页显示多少条,每页显示多少条;

查询第x,x条记录

查询排序(order by)

语法: order by 字段 asc正序/desc倒序

asc: 顺序,正序。数值:递增,字母:自然顺序(a-z)

SELECT * FROM student ORDER BY id ASC;

格式:select * from 表名order by 字段名 desc

desc: 倒序,反序。数值:递减,字母:自然反序(z-a)

SELECT * FROM student ORDER BY id DESC;

格式:select * from 表名 order by 字段名 desc

分组查询(group by)

SELECT gender,COUNT(*) FROM student GROUP BY gender;

格式:select 字段名,count(*) from 表名group by

分组查询后筛选(group by   having)

筛选出人数大于2的记录

SELECT gender,COUNT(*) FROM student GROUP BY gender HAVING COUNT(*)>2;

格式:select 字段名,count(*或者字段名) from 表名 group by  字段名 having  count(*)>值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值