zoukankan      html  css  js  c++  java
  • 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)*每页显示多少条,每页显示多少条;

    查询第xx条记录

     

    查询排序(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(*)>值

  • 相关阅读:
    FireFox 火狐浏览器 新标签页的常用网站恢复默认设置
    有关BT下载的Tracker
    优化分页展示
    导航条
    Bootstrap栅格系统
    分页器
    浅谈深拷贝和浅拷贝
    浅谈==和===
    浅谈typeof 和instanceof
    浅谈JavaScript中的this
  • 原文地址:https://www.cnblogs.com/mengmengi/p/10282620.html
Copyright © 2011-2022 走看看