查询语句:select 字段 from 表名 ;

字段别名:as  给字段或者 表名 一个表名 为了显示方便起见,可以设置字段别名。

select 后面选项 all 代表不去除重复行,distinct 取出结果集中的重复行,查询字段中含有主键,其他字段值相等时,不能算作重复行。

运算符:

逻辑运算符:

逻辑与:and

逻辑或:or

运算符分类:

= 在mysql中既可以充当赋值运算符的作用,又可以充当比较运算符作用。

in (x,x,x)

字段取的值可以为多个选项中的一个时,使用in指定可取的选项。

#例 指定字段数据的取值为哪些具体值 a或b或cselect * from tables where id in(1,2,3)

#notin排除数据select * from tables where id not in(1,2,3)

between x and x

#取值为10到20范围之内的任意值,包括10,20

select * from tables where id between 10 and 20;

#取值不为10到20范围之内的任意值,包括10,20

select * from tables where id not between 10 and 20;

is null

null相当于录入一行记录时,特定的字段没有录入数据。null不等于任何值(空字符串,以及null本身)

#直接插字段 = null 是查不到数据的 需要用is null查询select * from tables where id is null;

区分空字符串与null:

空字符串:黑户,没有籍贯信息

null:有可能有,可能没有 ,只是没有录入

like

like,用于实现模糊查询,后面跟对应的匹配条件,一般和统配符结合使用。可以用来做简单的站内查询。

#like 模糊查询 %表示通配符 写在前面表示 匹配以这个开始的,写在后面是以这个结束的 都写是包含这个内容的

#以张开始的select * from tables where name like '%张';

#以张结束的select * from tables where name like '张%';

#包含张的select * from tables where name like '%张%';

通配符:

l  % :使用任意多个字符(包括0个)进行匹配

l  _:  使用单个字符进行匹配

五子句:

where:

where字句中不能使用别名,可以使用逻辑运算符 and/or

#例

select * from table where id=1;

#id是1 并且name是小明的

select * from table where id=1 and name=‘小明’;

#id是1或者name是小明的

select * from table where id=1 or name=‘小明’;

where的本质是从磁盘返回所有行,逐行进行条件判断。

满足条件,返回true,该行在结果集中显示。否则返回false,不显示。

#特殊情况 每一行条件都会判断都会返回trueselect * from tables where 1;

sql注入:

例如用户提交万能用户名:

#例select * from tables where name =’123’ or 1#最终结果为真,返回所有行

PHP用这个函数进行转义:addslashes();

group by 字句

对一组数据进行统计,计算平均值,最小值,最大值等,需要使用聚合函数。

聚合函数:

聚合函数本质为系统函数。如同now();

avg():一组数的平均值,average

count():计数,有多少行

max():最大值

min():最小值

sum():求和

特点:返回的都是单一确定的值,也就是一行一列。

聚合出一些信息出来:最大,最小,平均值等。

回溯统计:with rollup;

having字句:

对数据表的数据执行group by操作之后,可以聚合出一些数据表中本身不存在的数据,如最大值,最小值等。再按照这些条件对数据进行再次筛选时,无法再使用where条件,必须使用having。

having与where的区别:

where 后面不能跟别名:取数据表中找对应字段

having:可以 跟聚合函数(分组计算出来)

where子句是把磁盘上的数据筛选到内存上,而having子句是把内存中的数据(初步结果集,比较条件可以是聚合函数统计出来的结果)进行再次筛选。

where后面的字段必须是原始表中的字段,不能使用字段别名或者聚合函数;而having字段可以是结果集中的字段(也可以是普通字段,或者字段别名或者聚合函数)

分组只要再检查最大值、最小值等,必然会使用到having子句。

having在不分组的SQL语句中,相当于where。即where不能实现having的全部功能,having可以实现where的功能。

order by:

可以按照升序 asc   降序排序 desc

select  字段列表 from tb where子句 group by 子句  having子句 order by 字段1 DESC| ASC,字段2 DESC | ASC;

limit  子句:

类似与分页  从多少条数据 往后去到少条数据

偏移量:就是从多少条开始取数据

select 字段列表 from tb where子句  group by子句 having子句 order by子句 limit  [ 偏移量= 0],每页显示的行数;

mysql怎么查询不是张姓的_mysql 中的常用查询相关推荐

  1. mysql怎么查询不是张姓的_mysql 判断是否为子集的方法步骤

    一.问题 故事起源于一个查询错漏率的报表:有两个查询结果,分别是报告已经添加的项目和报告应该添加的项目,求报告无遗漏率 何为无遗漏?即,应该添加的项目已经被全部添加 报告无遗漏率也就是无遗漏报告数占报 ...

  2. mysql结果作为另一次查询_MySql中一次查询结果用作二次查询条件

    Sql的截取关联查询 最近在写sql时,碰到了如下情况, 需求是通过一个账户的id去查询关联的该账户下的所有简历,其中地址字段要通过另一个表进行关联查询.地址字段存的是地址表中对应的编号. 例如210 ...

  3. mysql统计出每个姓氏的人数_基于SQL中的数据查询语句汇总

    where条件表达式 --统计函数 Select count(1) from student; --like模糊查询 --统计班上姓张的人数 select count(*) from student ...

  4. Mysql 查询blob数据很慢,关于oracle中clob字段查询慢的问题及解决方法

    关于oracle中clob字段查询慢的问题及解决方法 最近在用oracle的过程中用到了对blob字段模糊查询的问题,对oracle来说,我并不是高手,找了很多的资料终于能够查出来了. blob字段直 ...

  5. mysql中怎么查询单行单列_MySql中的子查询-结果单行单列

    MySQL是开源免费和功能多面的小型数据库,MySQL也是目前流行通用的关系型数据库,已经被 Oracle 收购了.随着版本更新升级,加入一些高级功能,MySQL6.x 版本也开始收费.不过本教程将使 ...

  6. mysql api查询例子_MySQL数据库:常用查询的例子Frommysqlapi

    本文主要向大家介绍了MySQL数据库的常用查询的例子Frommysqlapi,通过具体的实例让大家了解,希望对大家学习MySQL数据库有所帮助. 常用查询的例子 下面是一些学习如何用MySQL解决一些 ...

  7. mysql 子查询怎么写_MySQL中两种子查询的写法

    MySQL的测试环境 测试表如下 create table test_table2 ( id int auto_increment primary key, pay_id int, pay_time ...

  8. mysql子查询走索引吗_MySQL中in子查询会导致无法使用索引问题(转)

    MySQL的测试环境 测试表如下 create tabletest_table2 ( idint auto_increment primary key, pay_idint, pay_timedate ...

  9. mysql 电话模糊查询_mysql中的模糊查询

    转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...

最新文章

  1. node 获取表单数据 为空_数据结构与算法(python)单向循环链表
  2. 比尔盖茨,马斯克、霍金都告诉你:为什么要警惕人工智能(中)
  3. java调用webservice几种方式
  4. Java获取指定日期的月初和月末日子
  5. 14个超有料的优质公众号,关注了就舍不得删
  6. WordPress 如何通过ID获取文章标题、内容等信息
  7. jmeter配置文件--随机变量
  8. 如何在Vue中使用websocket?
  9. Win7 FTP搭建
  10. android三指截屏apk,手机也能截长图!360 OS三指截屏详解
  11. 【DA】z检验p值的计算
  12. 计算机睡眠和休眠的区别win10,教你Win10电脑休眠和睡眠的区别
  13. win10 屏幕保护时间到了不触发_你真的了解Win10么?网友教你玩转Win10!
  14. 【个人随笔】留下第一个脚印
  15. 首次试水天池数据大赛——7个小时玩了把美年健康AI大赛
  16. 小贝SEO博客_专注于SEO优化_软件_活动分享
  17. Leetcode_数据库刷题_577. 员工奖金
  18. 577-冒泡排序算法的思想和性能分析
  19. ant design 地区选择(级联)
  20. 3601lpk.dll劫持病毒分析

热门文章

  1. 40G/100G万兆交换机如何选择?
  2. 分析网站如何检测已经登录的QQ帐号
  3. linux lvm删除分区,Linux LVM中的PV物理卷(硬盘或分区)删除方法
  4. js中返回今天是星期几的方法
  5. vue3中 provide 和 inject 用法
  6. C# 操作docx文档
  7. python爬取虎扑评论_Python爬取NBA虎扑球员数据
  8. k8s部署EFK实现日志管理(mac desktop)
  9. CC00034.bigdatajava——|Java方法封装.V16|——|Java.v16|费氏数列.v02|递推实现|
  10. 你还为没有数据测试而发愁吗?介绍一个专业Fake的python库,什么个人信息、IP、UserAgent统统搞定