MySQL----MySQL数据库入门----第四章 单表查询
select [distinct] * | 字段1,字段2,字段3...
from 表名
[where 条件表达式]
[group by 字段名] [having 条件表示式]
[order by 字段名] [asc | desc ]
[limit [offset] 记录数]
“distinct” 是可选参数,用于剔除查询结果中重复的数据。
4.1 简单查询
①查询所有字段
#方法1
select 字段1,字段2,...,字段n from 表名 //所有字段
#方法2
select * from 表名
注意:
1、一般情况下,除非需要使用表中所有字段的数据,否则最好不要使用星号通配符,使用通配符虽然可以节省输入查询语句的时间,但由于获取的数据过多会降低查询的效率;
2、对于字段显示的信息较多时,分号可以使用\G替换,显示更清晰。
②查询指定字段
select 字段1,字段2,... from 表名;//部分字段
4.2 按条件查询
①带关系运算符查询
select * | 字段1,字段2,... from 表名 where 字段名 > | < | <= | >= | = |!= 字段值;
②带in关键字查询
select * | 字段1,字段2,... from 表名 where 字段名 [not] in (值1,值2,值3,...);
③带between......and 关键字查询
select * | 字段1,字段2,... from 表名 where 字段名 [not] between 值1 and 值2; //值1和值2也包括在查询范围内
④空值查询
select * | 字段1,字段2... from 表名 where 字段名 is [not] NULL;
⑤带distinct关键字查询
select distinct 字段名 from 表名; #只查询该字段中不重复的值
select distinct 字段名1,字段名2,... from 表名; #只有当所列字段值都相等时候才认定为重复数据
⑥带like关键字的查询
select * | 字段1,字段2,... from 表名 where 字段名 like "%值%"; #%匹配任意长度的字符串,包括空字符串
select * | 字段1,字段2,... from 表名 where 字段名 like "_值_"; #_匹配单个字符,若要匹配多个字符,需要使用多个_
⑦带and关键字的多条件查询
select * | 字段1,字段2... from 表名 where 表达式1 and 表达式2;
⑧带or关键字的多条件查询
select * | 字段1,字段2... from 表名 where 表达式1 or 表达式2;
注意:
or关键字和and关键字可以一起使用,需要注意的是,and的优先级高于or,因此当两者在一起使用时,应该先运算and两边的条件表达式,再运算or两边的条件表达式。
4.3 高级查询
①聚合函数
count() 返回数据行数
sum() 返回某列值的和
max() 返回某列值的最大值
min() 返回某列值的最小值
avg() 返回某列值的平均值
②对查询结果排序
select * | 字段1,字段2,... from 表名 where 表达式 order by 字段1[asc | desc] , 字段2[asc | desc] , ...;
查询结果先按照字段1以规定的顺序进行排序,对于字段1值相同的数据,再按照字段2以规定的顺序进行排序。
③分组查询
select * | 字段1,字段2,... from 表名 where 表达式 group by 字段1 , 字段2 , ... [having 条件表达式];
注意:
group by 一般和聚合函数在一起使用,如果查询的字段出现在group by之后,却没有包含在聚合函数中,该字段显示的是分组后的第一条记录的值;
having关键字指定条件表达对分组后的内容进行过滤;
④limit限制查询结果的数量
select * | 字段1,字段2,... from 表名 where 表达式 limit [offset] 每页显示的行数pagesize;
满足条件的数据可能很多,通过limit子句,限定返回的是哪些行的数据。减少数据的传输,便于用户查看数据。
对于一个页面,每页显示的行pagesize一般为固定的。
偏移量:偏移指定行之后,再开始显示。
假设每页显示10行,当前页码为page
显示第二页 偏移2-1页数据(2-1) *10 =10
显示第三页 偏移3-1页数据(3-1) *10 =20
第n页,偏前n-1页已经显示的内容。offset =(page -1 ) * pagesize
4.4 为表和字段取别名
①给表取别名
select * | 字段1,字段2,... from 表名 [as] 别名;
②给字段取别名
select 字段1 [as] 别名,字段2 [as] 别名,... from 表名;
MySQL----MySQL数据库入门----第四章 单表查询的更多相关文章
- 数据库开发-Django ORM的单表查询
数据库开发-Django ORM的单表查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询集 1>.查询集相关概述 查询会返回结果的集,它是django.db.mod ...
- mysql四-1:单表查询
一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键 ...
- Mysql(四)-1:单表查询
一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键 ...
- Python、mysql四-1:单表查询
一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键 ...
- 第二章 单表查询 T-SQL语言基础(1)
单表查询(1) 本章:逻辑查询处理,特定的SELECT查询生成正确的结果集而要经历的一系列逻辑阶段;单表查询的其他方面,包括:运算符,空值(NULL),字符的处理和临时数据,分级(ranking),C ...
- 第二章 单表查询 T-SQL语言基础(3)
单表查询(3) 2.6 处理字符数据 字符数据的查询处理,内容包括:类型,排序规则,运算符和函数,以及模式匹配. 2.6.1 数据类型 SQL Server支持两种字符数据类型----普通字符和Uni ...
- 第二章 单表查询 T-SQL语言基础(2)
单表查询(2) 2.2 谓词和运算符 T-SQL有几种不同的语言元素可以指定逻辑表达式,例如,查询过滤器(WHERE和HAVING),CHECK约束,等等. 在逻辑表达式中可以使用各种谓词(取值为TR ...
- Mybatis入门(四)------联表查询
Mybatis联表查询 一.1对1查询 1.数据库建表 假设一个老师带一个学生 CREATE TABLE teacher( t_id INT PRIMARY KEY, t_name VARCHAR(3 ...
- MySQL----MySQL数据库入门----第五章 多表操作
5.1 外键 比如说有两个数据表,分别是学生信息表student和年级表grade.在student表中有存储学生年级的字段gid(外键),在grade表也有存储学生年级的字段id(主键),stude ...
随机推荐
- android OrmLite
最近在使用ormlite框架进行数据库的操作,下面简单的写个demo来学习下 1.下载jar包 这里使用的是ormlite-core-5.0.jar 和 ormlite-android-5.0.jar ...
- mac下同时安装jdk1.7和jdk1.8
1.安装jdk1.7时会弹出报错,说版本不兼容. 解决方案 双击安装包,使安装包挂在到机器上,即在Finder里可以看到一个名字为JDK 7 Update 60的Device. 在terminal下输 ...
- 外贸电商的ERP有很多
经常有人问我:市面上针对外贸电商的ERP有很多,为什么有的卖家用得风生水起,而我却觉得每款都不合适?一般我都是拒绝回答的,一是因为这种情况大多数跟ERP实施有关,很难用短短几千字就说清楚:二是因为我也 ...
- Python学习---Django重点之静态资源配置
[官网静态文件介绍] https://docs.djangoproject.com/en/1.10/howto/static-files/ # settings.py 配置静态资源文件 # STATI ...
- Mac OS 10.8 配置SVN服务器
Mac 10.8开始,不再默认安装svn,需要自行安装 如果您安装了XCode,会随同安装svn 更省事的办法: 1.安装homebrew,看看官网 http://brew.sh/index_zh-c ...
- [T-ARA][거짓말(Part.1)][谎言(Part.1)]
歌词来源:http://music.163.com/#/song?id=5403062 作曲 : 赵英秀 [作曲 : 赵英秀] 作词 : 安英民 [作词 : 安英民] 사랑한단 거짓말 보고싶을거란 ...
- Maximum Flow and Minimum Cut
最大流最小割 Introduction Mincut Problem 最小割问题,输入是带权有向图,有一个源点 s(source)和一个汇点 t(target),边的权重在这里称作容量(capacit ...
- EDM邮件营销激活不活跃客户群的五大策略
有很多朋友给U-Mail马工大倒苦水:我邮件群发做了大量工作,可是有一些潜在消费者却始终无动于衷,你要说他没什么用吧,可是明明显示他有打开过,你把这个地址排除出去又有点可惜了,你要说他不可或缺,可是他 ...
- 2、Python文件操作工具 xlrd 工具
#打开excel文档workbook = xlrd.open_workbook('..\cye.xls',encoding_override='utf-8') #获取sheet页信息sheet = w ...
- 3171. [TJOI2013]循环格【费用流】
Description 一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子.每个元素有一个坐标(行,列),其中左上角元素坐标为(0,0).给定一个起始位置(r,c) ,你可以沿着箭头防线在格 ...