• 03:MySQL查询操作笔记3


    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:通配符特点:

    • 与%不一样,_总是匹配一个字符,不能多也不能少
    • 使用通配符会比没有通配符更消耗数据库执行查询的时间,应该在需要使用通配符的地方使用
  • 相关阅读:
    Eclipse报告内存不足和PermSize space错误,Eclipse死掉的解决办法
    jquery插件:文字滚动和google地图位置选择搜索
    CGI、ISAPI和FastCGI三种配置方式
    240多个jQuery插件
    调用外部命令不弹出窗口示例
    将DataSet变化保存到数据源
    Fill()方法和Conn.Open()
    SqlDataAdapter的DeleteCommand属性
    SqlDataAdapter的InsertCommand属性
    使用数据集和XML
  • 原文地址:https://www.cnblogs.com/kelly11/p/13180497.html
Copyright © 2020-2023  润新知