文档章节

mysql查询

noteman
 noteman
发布于 2015/11/20 11:46
字数 1332
阅读 56
收藏 0

MySQL查询参考资料网址:

http://my.oschina.net/yoyo1987/blog/184806

http://bbs.csdn.net/topics/390407669

一:查询数值型:

    select * from tb_name where num>100;

  比较运算符:

     {常用谓词: > (大于);<(小于);=(等于);<>()

二:查询字符串类型:

      SELECT * FROM tb_stu  WHERE sname  =  '小刘';
      SELECT * FROM tb_stu  WHERE sname like '刘%';
      SELECT * FROM tb_stu  WHERE sname like '%程序员';
     SELECT * FROM tb_stu  WHERE sname like '%PHP%';

三:查询日期类型:

    SELECT * FROM tb_stu  where date='2010-08-28';

    注:不同数据库对日期型数据存在差异: :
    (1)MySQL:SELECT * from tb_name WHERE birthday = '2011-04-08';
    (2)SQL Server:SELECT * from tb_name WHERE birthday = '2011-04-08';
    (3)Access:SELECT * from tb_name WHERE birthday = #2011-04-08#;

四:查询逻辑类型数据:

        SELECT * FROM tb_name WHERE type = 'T';
        SELECT * FROM tb_name WHERE type = 'F';
        逻辑运算符:and or not

五:查询非空数据:

       SELECT * FROM tb_name WHERE address <>'' ;

         注:<>相当于PHP中的!=

六:利用变量进行数值型数据查询

         SELECT * FROM tb_name WHERE id = '$_POST[text]' ;
         注:利用变量查询数据时,传入SQL的变量不必用引号括起来,因为PHP中的字符串与数值型数据进行连接

         时,程序会自动将数值型数据转变成字符串,然后与要连接的字符串进行连接

七:利用变量进行字符串型数据查询

          SELECT * FROM tb_name WHERE name LIKE '%$_POST[name]%' ;
          完全匹配的方法"%%"表示可以出现在任何位置 

八:查询前n条数据:

            SELECT * FROM tb_name LIMIT 0,$N;
            limit语句与其他语句,如order by等语句联合使用,会使用SQL语句千变万化,使程序非常灵活

九:查询后n条数据:

            SELECT * FROM tb_stu ORDER BY id ASC LIMIT $n;

十:查询从指定位置开始的n条数据:

             SELECT * FROM tb_stu ORDER BY id ASC LIMIT $_POST[begin],$n;
             注意:数据的id是从0开始的

十一查询统计结果中的前n条记录
 SELECT * ,(yw+sx+wy) AS total FROM tb_score ORDER BY (yw+sx+wy) DESC LIMIT 0,$num
 
十二查询指定时间段的数据
 SELECT  要查找的字段 FROM 表名 WHERE 字段名 BETWEEN 初始值 AND 终止值
 SELECT * FROM tb_stu WHERE age BETWEEN 0 AND 18
 
十三按月查询统计数据
 SELECT * FROM tb_stu WHERE month(date) = '$_POST[date]' ORDER BY date ;
 注:SQL语言中提供了如下函数,利用这些函数可以很方便地实现按年、月、日进行查询
 year(data):返回data表达式中的公元年分所对应的数值
 month(data):返回data表达式中的月分所对应的数值
 day(data):返回data表达式中的日期所对应的数值
 
十四查询大于指定条件的记录
 SELECT * FROM tb_stu WHERE age>$_POST[age] ORDER BY age;
 
十五查询结果不显示重复记录
 SELECT DISTINCT 字段名 FROM 表名 WHERE 查询条件 
注:SQL语句中的DISTINCT必须与WHERE子句联合使用,否则输出的信息不会有变化 ,且字段不能用*代替
 
十六NOT与谓词进行组合条件的查询
 (1)NOT BERWEEN … AND … 对介于起始值和终止值间的数据时行查询 可改成 <起始值 AND >终止值
 (2)IS NOT NULL 对非空值进行查询 
 (3)IS NULL 对空值进行查询
 (4)NOT IN 该式根据使用的关键字是包含在列表内还是排除在列表外,指定表达式的搜索,搜索表达式可以是常量或列名,而列名可以是一组常量,但更多情况下是子查询
 
十七显示数据表中重复的记录和记录条数
 SELECT  name,age,count(*) ,age FROM tb_stu WHERE age = '19' group by date
 
十八对数据进行降序/升序查询
 SELECT 字段名 FROM tb_stu WHERE 条件 ORDER BY 字段 DESC 降序
 SELECT 字段名 FROM tb_stu WHERE 条件 ORDER BY 字段 ASC  升序
 注:对字段进行排序时若不指定排序方式,则默认为ASC升序
 
十九对数据进行多条件查询
 SELECT 字段名 FROM tb_stu WHERE 条件 ORDER BY 字段1 ASC 字段2 DESC  …
 注意:对查询信息进行多条件排序是为了共同限制记录的输出,一般情况下,由于不是单一条件限制,所以在输出效果上有一些差别。
 
二十对统计结果进行排序
 函数SUM([ALL]字段名) 或 SUM([DISTINCT]字段名),可实现对字段的求和,函数中为ALL时为所有该字段所有记录求和,若为DISTINCT则为该字段所有不重复记录的字段求和
 如:SELECT name,SUM(price) AS sumprice  FROM tb_price GROUP BY name
 
SELECT * FROM tb_name ORDER BY mount DESC,price ASC
 
二十一单列数据分组统计
 SELECT id,name,SUM(price) AS title,date FROM tb_price GROUP BY pid ORDER BY title DESC
 注:当分组语句group by排序语句order by同时出现在SQL语句中时,要将分组语句书写在排序语句的前面,否则会出现错误
 
二十二多列数据分组统计
 多列数据分组统计与单列数据分组统计类似 
SELECT *,SUM(字段1*字段2) AS (新字段1) FROM 表名 GROUP BY 字段 ORDER BY 新字段1 DESC
 SELECT id,name,SUM(price*num) AS sumprice  FROM tb_price GROUP BY pid ORDER BY sumprice DESC
 注:group by语句后面一般为不是聚合函数的数列,即不是要分组的列
 
二十三多表分组统计
 SELECT a.name,AVG(a.price),b.name,AVG(b.price) FROM tb_demo058 AS a,tb_demo058_1 AS b WHERE a.id=b.id GROUP BY b.type;

       

© 著作权归作者所有

noteman
粉丝 14
博文 233
码字总数 44869
作品 0
六安
私信 提问
使用Swoole测试MySQL在特定SQL下的并发性能

场景描述 从全文检索或者缓存中获取ID,根据ID查询数据库获取基础信息,进行页面展示 SQL:select * from table where id in(id1,id2,id3...id40) 此种场景的常规方案是将id对应的基础信息在...

wx584e19a803200
2018/04/16
0
0
mysql中SQL执行过程详解

mysql执行一个查询的过程,到底做了些什么: 客户端发送一条查询给服务器; 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。 服务器段进行SQL解析...

echojson
04/20
0
0
第六章 查询性能优化 高性能MySql阅读总结

前面的章节我们介绍了如何设计最优的库表结构、 如何建立最好的索引, 这些对于高性能来说是必不可少的。 但这些还不够一一还需要合理的设计查询。 如果查询写得很糟糕,即使库表结构再合理、...

好好学习Sun
2018/07/09
0
0
mysql_query与mysql_unbuffered_query的区别

mysqlunbufferedquery (PHP 4 >= 4.0.6, PHP 5) mysqlunbufferedquery -- 向 MySQL 发送一条 SQL 查询,并不获取和缓存结果的行 说明 resource mysqlunbufferedquery ( string query [, reso......

hejunyi1204
2018/06/29
0
0
MySQL探秘(二):SQL语句执行过程详解

 昔日庖丁解牛,未见全牛,所赖者是其对牛内部骨架结构的了解,对于MySQL亦是如此,只有更加全面地了解SQL语句执行的每个过程,才能更好的进行SQL的设计和优化。  当希望MySQL能够以更高的...

ztelur
2018/08/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IT兄弟连 Java语法教程 流程控制语句 控制循环结构2

使用continue忽略本次循环剩下的语句 continue的功能和break有点类似,区别是continue只是忽略本次循环剩下的语句,接着开始下一次循环,并不会终止循环;而break则是完全终止循环本身。如下...

老码农的一亩三分地
39分钟前
1
0
[java]str.replaceAll(" ", "")替换空格不行

str.replaceAll(" ", ""); //去掉所有空格,包括首尾、中间 不行? 全角半角空格 https://blog.csdn.net/qq_33210042/article/details/78087713 https://www.cnblogs.com/shuilangyizu/p/66......

Danni3
39分钟前
3
0
Python登录豆瓣并爬取影评

上一篇我们讲过Cookie相关的知识,了解到Cookie是为了交互式web而诞生的,它主要用于以下三个方面: 会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息) 个性化设置(如...

猪哥66
55分钟前
1
0
常见排序的指针实现【C++ Code】

本来是想加上传cmp函数的,后来也懒得写了 然后基数排序虽然写的是模板类,但也只是支持整数了… #include <cstdio> #include <cstring> #include <algorithm> #include <typeinfo> using name......

shzwork
今天
3
0
OSChina 周一乱弹 —— 带这么多钱,你要泡我吗

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :白给?#今日歌曲推荐# 分享Lana Del Rey的单曲《Yayo》: 《Yayo》- Lana Del Rey 手机党少年们想听歌,请使劲儿戳(这里) @红薯...

小小编辑
今天
2.2K
19

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部