Mysql常用的查询语句,记录一下,好东西大家共享

 一查询数值型数据:
    SELECT * FROM tb_name WHERE sum > 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 = ‘2011-04-08‘
   注:不同数据库对日期型数据存在差异: :
   (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 <>‘‘ order by addtime desc
   注:<>相当于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;

原文地址:https://www.cnblogs.com/fzdwr/p/11029336.html

时间: 2024-10-09 16:56:49

Mysql常用的查询语句,记录一下,好东西大家共享的相关文章

SQL注入之MySQL常用的查询语句

MySQL是一种使用很广的数据库,大部分网站都是用MySQL,所以熟悉对MySQL数据库的注入很重要. 首先来说下MySQL注入的相关知识点 在MySQL5.0版本之后,MySQL默认在数据库存放一个“information_schema”的数据库,在这个库中, SCHEMATA,TABLES和COLUMNS这三个表名是必须记住的. SCHEMATA表存储该用户创建的所有数据库的库名,在该表中记录数据库名的字段为SCEMA_NAME. TABLES表存储该用户创建的所有数据库的库名和表名,在该表

mysql 常用的查询语句

1 1.连接数据库代码: 2 >mysql -h 主机的ip地址 -u 登入数据库用户名 -p 登入密码 3 4 2.显示数据库 5 >show databases; 6 7 3.连接数据库 8 >use dbname; 9 10 4.显示当前连接的数据库 11 >select database(); 12 13 5.显示表结构 14 >desc tablename 15 16 17 操作表: 18 1.修改表名 19 >alter table table_old re

MySQL常用的查询语句回顾

让你快速复习语句的笔记宝典. create table users(    username varchar(20) primary key,    userpwd varchar(20) ) alter table users add age int insert into stu (sname)values('sdfdsfdsfeeeeee') update cj set cj=60 where sid=1 delete from cj where sid=2 --所有行所有列 select

python 3 mysql sql逻辑查询语句执行顺序

python 3 mysql sql逻辑查询语句执行顺序 一 .SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by_list> HAVING <havin

工作中常用SQL 查询语句备忘

--当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列.select (case when a>b then a else b end ), (case when b>c then b esle c end) from table_name --求和查询 create table #tmp(rq varchar(10), shengfu nchar(1)) insert into #tmp values('2005-05-09','胜') insert into #tm

跟王老师学MySQL: 基本查询语句

跟王老师学MySQL: 基本查询语句 主讲教师:王少华   QQ群号:483773664 学习内容 查询语句的基本语法 查询数据指从数据库中获取所需要的数据.MySQL中是使用SELECT语句来查询数据的 一.select的基本语法形式如下 1 2 3 4 5 SELECT  属性列表  FROM  表名 [ WHERE  条件表达式1 ] [ GROUP BY  属性名1  [ HAVING 条件表达式2 ] ] [ ORDER BY  属性名2  [ ASC | DESC ] ] 属性列表:

SQL Server 常用日期查询语句

--本月月初select  dateadd(mm,datediff(mm,0,getdate()),0) --本月月末select  DATEADD(DD,-1,DATEADD(MONTH,1+DATEDIFF(MONTH,0,GETDATE()),0))--设置每周的第一天为星期一SET  DateFirst 1declare @cur_week1 varchar(10)--本周第一天select @cur_week1=DATEADD(DAY,1-DATEPART(WEEKDAY,getdat

[学习记录]MySQL之初级查询语句(select,where)

标准的查询语句如下 select 列名1,列名2,列名3 from 表名 该语句将返回该表中对应列的所有行 如果想要检索表中所有列则可以使用* select * from 表名a 由于表中非码属性允许重复,所以发现检索结果中有重复项,可以通过distinct过滤 select distinct 列名 from 表名f 如果只关心检索结果的前若干行,可以使用limit子句 select 列名 from 表名 limit a,b 意思为输出从第a行开始一共b行元素,如果不提供a则从第1行开始 如果需

转载《mysql 一》:mysql的select查询语句内在逻辑执行顺序

原文:http://www.jellythink.com/archives/924 我的抱怨 我一个搞应用开发的,非要会数据库,这不是专门的数据库开发人员干的事么?话说,小公司也没有数 据库开发人员这么个职位吧.好吧,对数据库最深的印象还停留在大学<数据库原理>这堂课上,什么第一范式,第二范式…,这些理论的东西,多多少少还是记得 点,至于更深层次的,我不会.所以呢,撸起袖子,开始学习吧. 干程序员,最不怕的就是学习,如果你连学习都怕了,那还是早点退出这行吧.你说是吧.而我今天这篇文章,既不总结