zoukankan      html  css  js  c++  java
  • mysql—常用查询语句总结

      1 关于MySQL常用的查询语句
      2 一查询数值型数据:
      3  SELECT * FROM tb_name WHERE sum > 100;
      4  查询谓词:>,=,<,<>,!=,!>,!<,=>,=<
      5  
      6 二查询字符串
      7  SELECT * FROM tb_stu  WHERE sname  =  '小刘'
      8  SELECT * FROM tb_stu  WHERE sname like '刘%'
      9  SELECT * FROM tb_stu  WHERE sname like '%程序员'
     10  SELECT * FROM tb_stu  WHERE sname like '%PHP%'
     11  
     12 三查询日期型数据
     13  SELECT * FROM tb_stu WHERE date = '2011-04-08'
     14  注:不同数据库对日期型数据存在差异: :
     15  (1)MySQL:SELECT * from tb_name WHERE birthday = '2011-04-08'
     16  (2)SQL Server:SELECT * from tb_name WHERE birthday = '2011-04-08'
     17  (3)Access:SELECT * from tb_name WHERE birthday = #2011-04-08#
     18  
     19 四查询逻辑型数据
     20  SELECT * FROM tb_name WHERE type = 'T'
     21  SELECT * FROM tb_name WHERE type = 'F'
     22  逻辑运算符:and or not
     23  
     24 五查询非空数据
     25  SELECT * FROM tb_name WHERE address <>'' order by addtime desc
     26  注:<>相当于PHP中的!=
     27  
     28 六利用变量查询数值型数据
     29  SELECT * FROM tb_name WHERE id = '$_POST[text]' 
     30 注:利用变量查询数据时,传入SQL的变量不必用引号括起来,因为PHP中的字符串与数值型数据进行连接时,程序会自动将数值型数据转变成字符串,然后与要连接的字符串进行连接
     31  
     32 七利用变量查询字符串数据 
     33 SELECT * FROM tb_name WHERE name LIKE '%$_POST[name]%' 
     34 完全匹配的方法"%%"表示可以出现在任何位置
     35  
     36 八查询前n条记录
     37  SELECT * FROM tb_name LIMIT 0,$N;
     38  limit语句与其他语句,如order by等语句联合使用,会使用SQL语句千变万化,使程序非常灵活
     39  
     40 九查询后n条记录
     41  SELECT * FROM tb_stu ORDER BY id ASC LIMIT $n
     42  
     43 十查询从指定位置开始的n条记录
     44  SELECT * FROM tb_stu ORDER BY id ASC LIMIT $_POST[begin],$n
     45  注意:数据的id是从0开始的
     46  
     47 十一查询统计结果中的前n条记录
     48  SELECT * ,(yw+sx+wy) AS total FROM tb_score ORDER BY (yw+sx+wy) DESC LIMIT 0,$num
     49  
     50 十二查询指定时间段的数据
     51  SELECT  要查找的字段 FROM 表名 WHERE 字段名 BETWEEN 初始值 AND 终止值
     52  SELECT * FROM tb_stu WHERE age BETWEEN 0 AND 18
     53  
     54 十三按月查询统计数据
     55  SELECT * FROM tb_stu WHERE month(date) = '$_POST[date]' ORDER BY date ;
     56  注:SQL语言中提供了如下函数,利用这些函数可以很方便地实现按年、月、日进行查询
     57  year(data):返回data表达式中的公元年分所对应的数值
     58  month(data):返回data表达式中的月分所对应的数值
     59  day(data):返回data表达式中的日期所对应的数值
     60  
     61 十四查询大于指定条件的记录
     62  SELECT * FROM tb_stu WHERE age>$_POST[age] ORDER BY age;
     63  
     64 十五查询结果不显示重复记录
     65  SELECT DISTINCT 字段名 FROM 表名 WHERE 查询条件 
     66 注:SQL语句中的DISTINCT必须与WHERE子句联合使用,否则输出的信息不会有变化 ,且字段不能用*代替
     67  
     68 十六NOT与谓词进行组合条件的查询
     69  (1)NOT BERWEEN … AND … 对介于起始值和终止值间的数据时行查询 可改成 <起始值 AND >终止值
     70  (2)IS NOT NULL 对非空值进行查询 
     71  (3)IS NULL 对空值进行查询
     72  (4)NOT IN 该式根据使用的关键字是包含在列表内还是排除在列表外,指定表达式的搜索,搜索表达式可以是常量或列名,而列名可以是一组常量,但更多情况下是子查询
     73  
     74 十七显示数据表中重复的记录和记录条数
     75  SELECT  name,age,count(*) ,age FROM tb_stu WHERE age = '19' group by date
     76  
     77 十八对数据进行降序/升序查询
     78  SELECT 字段名 FROM tb_stu WHERE 条件 ORDER BY 字段 DESC 降序
     79  SELECT 字段名 FROM tb_stu WHERE 条件 ORDER BY 字段 ASC  升序
     80  注:对字段进行排序时若不指定排序方式,则默认为ASC升序
     81  
     82 十九对数据进行多条件查询
     83  SELECT 字段名 FROM tb_stu WHERE 条件 ORDER BY 字段1 ASC 字段2 DESC 84  注意:对查询信息进行多条件排序是为了共同限制记录的输出,一般情况下,由于不是单一条件限制,所以在输出效果上有一些差别。
     85  
     86 二十对统计结果进行排序
     87  函数SUM([ALL]字段名) 或 SUM([DISTINCT]字段名),可实现对字段的求和,函数中为ALL时为所有该字段所有记录求和,若为DISTINCT则为该字段所有不重复记录的字段求和
     88  如:SELECT name,SUM(price) AS sumprice  FROM tb_price GROUP BY name
     89  
     90 SELECT * FROM tb_name ORDER BY mount DESC,price ASC
     91  
     92 二十一单列数据分组统计
     93  SELECT id,name,SUM(price) AS title,date FROM tb_price GROUP BY pid ORDER BY title DESC
     94  注:当分组语句group by排序语句order by同时出现在SQL语句中时,要将分组语句书写在排序语句的前面,否则会出现错误
     95  
     96 二十二多列数据分组统计
     97  多列数据分组统计与单列数据分组统计类似 
     98 SELECT *SUM(字段1*字段2) AS (新字段1) FROM 表名 GROUP BY 字段 ORDER BY 新字段1 DESC
     99  SELECT id,name,SUM(price*num) AS sumprice  FROM tb_price GROUP BY pid ORDER BY sumprice DESC
    100  注:group by语句后面一般为不是聚合函数的数列,即不是要分组的列
    101  
    102 二十三多表分组统计
    103  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;
  • 相关阅读:
    从零开始,SpreadJS新人学习笔记【第4周】
    如何使用JavaScript实现前端导入和导出excel文件
    【案例分享】在 React 框架中使用 SpreadJS 纯前端表格控件
    中国高考志愿填报与职业趋势分析
    Vue 2019开发者图谱
    从零开始,SpreadJS新人学习笔记【第3周】
    从零开始,SpreadJS 新人学习笔记(第二周)
    从零开始,SpreadJS 新人学习笔记
    Spread.NET 表格控件 V12.1 正式发布
    汇编语言-端口
  • 原文地址:https://www.cnblogs.com/chenleixing-2017/p/7647809.html
Copyright © 2011-2022 走看看