ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

03:MySQL查询操作笔记3

2020-06-23 10:05:24  阅读:197  来源: 互联网

标签:语句 03 笔记 查询 操作符 MySQL where order select


01:select 查询语句

  • MySQL 使用select语句查询数据
  • select语句的作用是从一个或多个表中查询信息
  • 使用select语句,必须至少给出两条信息:
  1. 选择什么
  2. 从什么地方选择
  • 注意:SQL语言中,不区分大小写,每一的SQL语句,使用分号‘;’表示结尾

02:查询特定列

  • 格式:select 列名 from 表名
  • 例子:select cust_id from crash;

注意:如果在from后面直接使用表名的话,需要先指定使用的是哪个数据库

  • 例子:select cust_id from crashcourse.customers;

03:查询多列

  • 格式:select 列1,列2,....from 表名

image.png

04:查询所有列

  • 格式:select * from 表名

05:避免查询到重复的内容

  • 如果查询到的两列内容一样,默认情况下, MySQL是会显示这些重复的行,如果需要相同的行只显示一次,可以使用distinct关键字
  • 格式:select distinct 列名 from 表名;

image.png

06:设定查询结果返回的行数

  • 如果一个表的行非常多,可以使用limit关键字,指定需要返回多少行
  • 格式1:select 列名 from 表名 limit n,例如:limit 3 是指前三行

说明:n是限定的行数

  • select 列名 from 表名 limit n,m;只显示从第n行开始的后面m行
  • 说明:mysql中的行号是从0开始计算的,limit2,3 是从第3行开始往后3行,也就是3,4,5行
  • 例子:select cust_id from crashcourse,customers limit 1,3;
  • image.png

07:查询结果排序

  • 为了明确地排序用select语句查询出的数据,可以使用order by 语句
  • order by 语句取一个或多个列的名字,根据这些列进行排序
  • 格式:

select 列名 from 表名 order by 列名;

select 列表 from 表名 order by 列名1,列名2;

image.png

08:指定排序方向

  • order by 语句默认是按照升序排序(从A到Z),关键字是ASC
  • 可以给order by 语句指定降序(从Z到A)顺序排序,使用关键字DESC
  • 说明:DESC关键字之应用到直接位于其前面的列名
  • 例子:

image.png

09:order by 与limit组合

  • 使用order by 和limit的组合,能够找出一个列中最高或者最低的值
  • 例1:找出最贵的物品价格

image.png

  • 说明:order by 子句位于from 字句之后,如果使用limit,那么它必须位于order by之后

10:Where语句实例

  • 从products表中查询两列,只返回prod_price 值为2.5的行

image.png

  • 注意:在同时使用order by 和where 子句时,order by 应位于where 之后,否则将会产生错误

11:where 语句支持的操作符

image.png

12:where 支持的操作符实例

image.png

image.png

13:AND 操作符

  • MySQL 支持在where字句中给出多个条件,这些条件可以使用and字句表示条件都满足时返回指定的行
  • 格式:

select 列名 from 表 where 列1满足条件 AND 列2满足条件;

  • 实例:
  • image.png

14:OR操作符

  • MySQL支持在where子句中给出多个条件,这些条件可以使用OR子句表示条件中只需要有一个满足时返回指定的行
  • 格式:select 列名 from where 列1满足条件OR列2满足的条件
  • image.png

15:AND和OR条件组合中的顺序

  • AND/OR 条件组合中的顺序
  • AND的优先级高于OR 当AND/OR 中有个条件的时候,需要使用()把各个条件明确的分组,防止条件的错误组合导致返回的结果不正确
  • 例1:圆括号具有比AND/OR 更高的优先级,MySQL首先执行圆括号内的条件

image.png

  • 注意:在使用AND/OR 操作符的where子句中,都应该使用圆括号明确地分组操作符以达到期望的查询目的

16:IN操作符

  • IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配,IN取值包含在原括号中,以逗号分隔
  • 格式:select 列 from 表 where 列 in (value1,value2,...)
  • 实例
  • image.png

17:IN操作符特点

  • IN操作符的语法清晰直观
  • 计算次序容易管理
  • IN操作符一般比OR操作符执行速度更快
  • IN可以包含其他select语句,使得能够动态地建立where子句

 

18:NOT操作符

  • where子句的NOT操作符只有一个功能,即否定它之后所跟的任何条件
  • 使用NOT很容易找出与条件列表不匹配的行
  • 例1:NOT 否定跟在它之后的条件,因此,MySQL不匹配1002和1003的vend_id,而是匹配1002和1003之外的vend_id

19:NOT操作符(实例)

  • 例1:NOT否定跟在它之后的条件,因此,MySQL不匹配1002和1003的vend_ id

image.png

  • 注意:MySQL只支持使用NOT对IN,BETWEEN和EXISTS子句取反

20:LIKE操作符

  • 通配符是用来匹配值的一部分的特殊字符
  • 为了在查找子句中使用通配符,必须使用LIKE操作符,LIKE只是MySQL后跟的查找模式利用通配符匹配而不是直接相等匹配进行比较

21:百分号(%)通配符

  • 百分号(%)在查处串中,%表示任何字符出现任意次数,但是不能匹配null
  • 例:找出所有以jet开头的产品

image.png

22:下划线(_)通配符

  • 下划线的用户与%一样,但是下划线只匹配单个字符而不是多个字符
  • 例1:查找的字符串前面包含1个字符和空格,该匹配字符串用单引号括起来:

image.png

23:通配符特点:

  • 与%不一样,_总是匹配一个字符,不能多也不能少
  • 使用通配符会比没有通配符更消耗数据库执行查询的时间,应该在需要使用通配符的地方使用

标签:语句,03,笔记,查询,操作符,MySQL,where,order,select
来源: https://www.cnblogs.com/kelly11/p/13180497.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有