一、       查询数据:

查询所有列: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(*)>值

Mysql查询数据库 整理的更多相关文章

  1. mysql查询数据库大小和表

    每个mysql都有一个库information_schema,里面有一张表TABLES存储了所有数据库表的信息,因此,可以从这张表中查看数据库大小和表大小 查询数据库大小 ,),'GB') as da ...

  2. mysql 查询数据库或某张表有多大(字节)

    转载:https://www.cnblogs.com/diandiandidi/p/5582309.html 1.要查询表所占的容量,就是把表的数据和索引加起来就可以了 select sum(DATA ...

  3. [功能集锦] 002 - mysql查询数据库字典+导出+样式一键整合至excel

    写在前面: 因为工作时候经常遇到半路接手项目的情况,由于年代久远,数据库字典这块经常缺失.故写此篇,以便复用,也希望对大家有点帮助. 随笔内容不高级,如有不妥,不吝指正. 20190730-加了一些简 ...

  4. MySql 查询数据库中所有表名

    查询数据库中所有表名select table_name from information_schema.tables where table_schema='csdb' and table_type= ...

  5. MYSQL查询数据库表索引的硬盘空间占用

    查询数据库的占用 SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ' MB') AS 'Total Index Size' , CONCA ...

  6. mysql查询数据库中包含某字段(列名)的所有表

    SELECT TABLE_NAME '表名',TABLE_SCHEMA '数据库名',ORDINAL_POSITION '顺序',COLUMN_NAME '字段',DATA_TYPE '类型' ,CH ...

  7. 【MySQL】MySQL查询数据库各表的行数

    #倒序查询数据库[各表记录数] use information_schema; select table_name,table_rows from tables where TABLE_SCHEMA ...

  8. MySql 查询数据库中所有表名以及对比分布式库中字段和表的不同

    查询数据库中所有表名select table_name from information_schema.tables where table_schema='数据库名' and table_type= ...

  9. MySQL查询数据库中表名或字段名

    查询数据库中所有表名 select table_name from information_schema.tables where table_schema='csdb' and table_type ...

随机推荐

  1. 解决vscode egg调试出现: this socket has been ended by other party【转】

    如果是最新的1.22 方案一 回退版本到1.21.1 https://code.visualstudio.com/updates/v1_21 方案二 退而求其次, 更改debug配置, 待官方或egg ...

  2. 洛谷P1123取数游戏题解

    题目 这是一道简单的搜索题,考查的还是比较基础的东西,其时搜索有时候并不难写,主要是要想到怎么搜.比如这个题,如果想二维四个方向搜则没有头绪,反之因为搜索是用递归实现的,所以我们可以使用递归的特性,把 ...

  3. [USACO2008 Mar]土地购买

    传送门:>HERE< 题意:购买一组土地的费用是最长的长乘以最长的宽.现给出n块土地,求购买所有土地(可以将土地分为任意组,不需按顺序)的最小费用 解题思路 动态规划+斜率优化 斜率优化在 ...

  4. 【XSY2714】大佬的难题 数学 树状数组

    题目描述 给你三个排列\(A,B,C\),求 \[ \sum_{1\leq x,y\leq n}[a_x<a_y][b_x<b_y][c_x<c_y] \] \(n\leq 2\ti ...

  5. 运行os.fork()报AttributeError: module 'os' has no attribute 'fork'

    现象 报错代码 def handle(s, c, db): pid = os.fork() if pid == 0: s.close() do_child(c, db) sys.exit() else ...

  6. PhantomJS报错warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '

    原因:Selenuim已经放弃PhantomJS3.x了,建议使用火狐或者谷歌无头浏览器. 解决方法: 1.phantomjs降级,换个2.x版本的 2.使用无头浏览器,示例代码(自己改了改,如有错误 ...

  7. 【HDU - 4927】Series 1

    BUPT2017 wintertraining(15) #5I 题意 输出序列A[1..n]的第n-1阶差分(一个整数). 题解 观察可知答案就是 \[ \sum_{i=0}^{n-1} {(-1)^ ...

  8. 信用算力基于 RocketMQ 实现金融级数据服务的实践

    微服务架构已成为了互联网的热门话题之一,而这也是互联网技术发展的必然阶段.然而,微服务概念的提出者 Martin Fowler 却强调:分布式调用的第一原则就是不要分布式. 纵观微服务实施过程中的弊端 ...

  9. 如何改变Android标准键的颜色?

    本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术,本文为大家讲解如何改变Android标准键的颜色 ...

  10. 【LOJ#2542】[PKUWC2018]随机游走(min-max容斥,动态规划)

    [LOJ#2542][PKUWC2018]随机游走(min-max容斥,动态规划) 题面 LOJ 题解 很明显,要求的东西可以很容易的进行\(min-max\)容斥,那么转为求集合的\(min\). ...