MySQL数据库学习05-查询数据:单表查询
2017-11-17 21:27
176 查看
一、基本查询语句
MySQL从数据表中查询数据的基本语句为select语句,格式如下:
1.{*|字段列表}:包含星号通配符选择字段列表,表示查询的字段,其中字段至少包含一个字段名称,如果要查询多个字段,多个字段间用逗号隔开,最后一个字段后不要加逗号。
2.FROM 表1,表2,… :表示查询数据的来源,可以是单个或者多个。
3.WHERE :WHERE子句之后都是可选项,WHERE用于限定查询到的行必须满足的条件。
4.GROUP BY 字段 :将查询出来的数据按照指定的字段分组。
5.ORDER BY 字段 :将查询出来的数据按之地当顺序排序后显示,有:升序(ASC)、降序(DESC)。
6.LIMIT 行数 :查询出来的数据每次显示的行数。
示例:
a.创建一张名为fruits的表并插入数据
b.使用select语句查询f_name和f_price字段的数据
二、单表查询
1.查询所有字段
a.使用星号通配符(*)可以查询所有字段
2.查询指定字段,操作同“一、基本查询语句”中示例相同。
3.查询指定记录
查询表中的指定记录即对数据进行过滤。在SELECT语句中,可以通过WHERE语句对数据进行过滤。
a.查询价格为10.30的水果信息
·数值类型直接写在“=”后面。
b.查找名称为“apple”的水果价格
·字符型要用单引号。
c.查询价格大于等于10的水果名字
4.带IN关键字的查询
IN(NOT IN)操作符用来查询满足指定范围内条件的记录。使用IN(NOT IN)操作符,将所有检索条件用括号括起来,检索条件之间用逗号分隔开,只要满足条件范围内的一个值即为匹配项(NOT IN相反)。
a.查询s_id为101和102的记录
b.查询s_id不为101和102的记录
5.带BETWEEN AND的范围查询
BETWEEN AND 用来查询某个范围内的值,该操作需要两个参数,即范围的开始值和结束值。
a.查询价格在2.00元到10.20元之间的水果名称和价格
·BETWEEN匹配范围中的所有值,包括端点值(此处为10.02)。
b.查询价格不在5.00到10.02之间的水果
6.带LIKE的字符匹配查询
MySQL中可以使用关键字LIKE进行通配符匹配查找。可以和LIKE一起使用的通配符有“%”和“_”。
a.百分号通配符’%’,匹配任意长度的字符,甚至包括零字符
·’b%’查找所有以’b’开头的水果名称。
·’%g%’查找名字中带有’g’的水果名称。
‘b%y’查找名字以b开始以y结束的水果名称
b.下划线通配符’_’,一次只能匹配任意一个字符
7.查询空值
使用IS NULL查询某字段中内容为空的记录。
a.创建表并添加数据
b.查询表中c_email为空的记录的c_id和c_name
·与IS NULL相反的时NOT IS NULL,查询不为空的记录。
8.带AND的多条件查询
可以使用AND连接二至多条查询条件,查找满足所有条件的记录。
a.在fruits表中查找s_id=101或者102,且price大于5的水果名称和价格
9.带OR的多条件查询
可以使用OR连接多个条件,只要满足其中一个条件即可。
a.查询s_id为101或者102,且价格在5.00以上的水果
·OR 和AND一起使用时,由于AND优先级高于OR,先执行AND两边的操作,此处用括号使OR两端的操作作为一个整体没有被AND分开,若不使用括号则查询得不到预计结果。
·OR操作符和IN操作符得到的结果相同,但是IN操作符执行速度高于OR且书写更加简洁。
10.查询结果消除重复
使用DISTINCT关键字消除重复记录值。
a.查询fruits表中s_id,存在重复值
b.使用DISTINCT关键字消除重复值
MySQL从数据表中查询数据的基本语句为select语句,格式如下:
SELECT *|字段列表 FROM 表1,表2,... WHERE 表达式 GROUP BY 字段 HAVING 表达式 ORDER BY 字段 LIMIT 行数;
1.{*|字段列表}:包含星号通配符选择字段列表,表示查询的字段,其中字段至少包含一个字段名称,如果要查询多个字段,多个字段间用逗号隔开,最后一个字段后不要加逗号。
2.FROM 表1,表2,… :表示查询数据的来源,可以是单个或者多个。
3.WHERE :WHERE子句之后都是可选项,WHERE用于限定查询到的行必须满足的条件。
4.GROUP BY 字段 :将查询出来的数据按照指定的字段分组。
5.ORDER BY 字段 :将查询出来的数据按之地当顺序排序后显示,有:升序(ASC)、降序(DESC)。
6.LIMIT 行数 :查询出来的数据每次显示的行数。
示例:
a.创建一张名为fruits的表并插入数据
b.使用select语句查询f_name和f_price字段的数据
二、单表查询
1.查询所有字段
a.使用星号通配符(*)可以查询所有字段
2.查询指定字段,操作同“一、基本查询语句”中示例相同。
3.查询指定记录
查询表中的指定记录即对数据进行过滤。在SELECT语句中,可以通过WHERE语句对数据进行过滤。
a.查询价格为10.30的水果信息
·数值类型直接写在“=”后面。
b.查找名称为“apple”的水果价格
·字符型要用单引号。
c.查询价格大于等于10的水果名字
4.带IN关键字的查询
IN(NOT IN)操作符用来查询满足指定范围内条件的记录。使用IN(NOT IN)操作符,将所有检索条件用括号括起来,检索条件之间用逗号分隔开,只要满足条件范围内的一个值即为匹配项(NOT IN相反)。
a.查询s_id为101和102的记录
b.查询s_id不为101和102的记录
5.带BETWEEN AND的范围查询
BETWEEN AND 用来查询某个范围内的值,该操作需要两个参数,即范围的开始值和结束值。
a.查询价格在2.00元到10.20元之间的水果名称和价格
·BETWEEN匹配范围中的所有值,包括端点值(此处为10.02)。
b.查询价格不在5.00到10.02之间的水果
6.带LIKE的字符匹配查询
MySQL中可以使用关键字LIKE进行通配符匹配查找。可以和LIKE一起使用的通配符有“%”和“_”。
a.百分号通配符’%’,匹配任意长度的字符,甚至包括零字符
·’b%’查找所有以’b’开头的水果名称。
·’%g%’查找名字中带有’g’的水果名称。
‘b%y’查找名字以b开始以y结束的水果名称
b.下划线通配符’_’,一次只能匹配任意一个字符
7.查询空值
使用IS NULL查询某字段中内容为空的记录。
a.创建表并添加数据
b.查询表中c_email为空的记录的c_id和c_name
·与IS NULL相反的时NOT IS NULL,查询不为空的记录。
8.带AND的多条件查询
可以使用AND连接二至多条查询条件,查找满足所有条件的记录。
a.在fruits表中查找s_id=101或者102,且price大于5的水果名称和价格
9.带OR的多条件查询
可以使用OR连接多个条件,只要满足其中一个条件即可。
a.查询s_id为101或者102,且价格在5.00以上的水果
·OR 和AND一起使用时,由于AND优先级高于OR,先执行AND两边的操作,此处用括号使OR两端的操作作为一个整体没有被AND分开,若不使用括号则查询得不到预计结果。
·OR操作符和IN操作符得到的结果相同,但是IN操作符执行速度高于OR且书写更加简洁。
10.查询结果消除重复
使用DISTINCT关键字消除重复记录值。
a.查询fruits表中s_id,存在重复值
b.使用DISTINCT关键字消除重复值
相关文章推荐
- MySQL数据库学习07-查询数据:聚合函数
- MySQL数据库学习10-查询数据:合并查询结果、取别名
- MySQL数据库学习06-查询数据:排序和分组
- MySQL数据库学习09-查询数据:子查询
- MYSQL数据库学习十一 多表数据记录查询
- MySQL数据库学习07-查询数据:聚合函数
- MYSQL数据库学习十 单表数据记录查询
- MySql数据库-07DDQL数据查询语言(中)
- Mybatis学习之实现关联数据的查询(4)
- ASP.NET学习笔记---- 数据查询与展示GridView
- solr学习(四)-solr 7.2.1 导入Mysql数据库,表数据
- MySQL数据库学习——操作数据表中数据
- Python玩转数据分析学习笔记-05数据
- C# - 反射学习,附带绑定实体类从数据库查询数据中,带源码学习!
- Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)
- mysql数据库千万级别数据的查询优化和分页测试
- Hive学习笔记 5 Hive的数据查询、函数
- linux下solr6.4通过虚拟机连接mysql数据库导入数据查询
- 数据查询学习
- 一步一步跟我学习hadoop(7)----hadoop连接mysql数据库运行数据读写数据库操作