MySQL 数据库基础总结

三、MySQL 数据库 - DQL语言 - 1 

1.基础查询

   1.1 基础查询的语法

          SESTECT  所查询的东西(常量值,表达式,字段,函数等).

          FROM 表名

    1.2基础查询的特点

         >通过select查询完的结果,是一个虚拟的表格,不是真实存在

         >要查询的东西可以是常量值,表达式,字段,函数等等

2.条件查询

   2.1条件查询的概念:

          根据条件过滤原始表的数据,查询到想要的数据

   2.2 条件查询的语法 

          SELECT  要查询的字段,表达式,常量值,函数

           FROM 表名 

           WHERE 条件

   2.3条件查询语句的分类

         2.3.1 条件表达式

                  如:salary>1000;

                  >条件运算符: >,<,>=,<=,=,!=,<>

         2.3.2 逻辑表达式

                  如: salary > 10000 && salary<20000;

                  >逻辑运算符

                                       and(&&):两个条件如果同时成立,结果为true,否则为false;

                                       or(||):两个条件只要有一个成立,结果为false;

                                       not(!):如果条件成立,则not后为false,否则为true;

        2.3.3 模糊查询

                 如: last_name like 'a%';

                  >模糊查询通配符的分类

                    1."%"百分号通配符:表示任何字符出现任意次数(可以是0次)

                    2."_" 下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符.当然,也可以like"陈_",数量不限

                    3.like 操作符:LIKE作用是指示mysql后面的搜索模式是利用通配符而不是直接相等匹配进行比较;但如果like后面没出现通配符,则在SQL执行优化时将like默认为 " = " 执行

                    注: 如果在使用like操作符时,后面没有使用通配符(% 或_),那么效果和是"="一致的.在SQL执行优化时查询优化器将like 默认为"=" 执行,如 执行 SELECT * FROM movies WHERE movie_name like "唐伯虎"   ,  只能匹配 为 movies_name = "唐伯虎"的结果,而不能匹配像"唐伯虎点秋香"或"唐伯虎之四大才子"这样的结果

                  >通配符的使用

                     1. %通配符

                      案例1:模糊查询 app_info 表中 appName 中 "网"字的数据

                        SELECT * FROM  app_info WHERE appName like '%网%';

                      案例2:模糊查询 app_info 表中 appName 中 以"网"字结尾的数据

                        SELECT * FROM app_info WHERE appName like'%网';

                      案例3:模糊查询 app_info 表中 appName 中 以"网"字开头的数据

                        SELECT * FROM app_info WHERE appName like'网%';

                      案例4:精准匹配 app_info 表中 appName 中 "网"  appName like = '网'   等同于 appName  = '网'

                      SELECT * FROM app_info WHERE appName like'';

                      SELECT * FROM app_info WHERE appName = '';

                     2.  _ 通配符 

                        案例1 : 查询以"网"为结尾的,长度为三个字的数据,如"链家网"

                          SELECT * FROM app_info WHERE appName like'__网';// 有两个下划线

                        案例2: 模糊匹配含有“xx网x车xxx”的数据,如:"携程网约车客户端"

                          SELECT * FROM app_info WHERE appName like'__网_车%';

                       注意事项: 注意大小写,在使用模糊匹配时,也就是匹配文本时,MySQL默认配置是不区分大小写的.当你使用别人的MySQL数据库时,要注意是否去人大小写,是否区分大小写取决于用户对MySQL的配置方式.如果是区分大小写,那么像Test12 这样记录是不能被"test__"这样的条件匹配的. 注意尾部空格,"%test"是不能匹配"test " 这样的记录.注意NULL,%通配符可以匹配任意字符,但是不能匹配NULL ,也就是说 SELECT * FORM blog WHERE title_name like'%'是匹配不到title_name 为NULL 的记录.

3.排序查询

   3.1 排序查询的语法 

         SELECT  要查询的字段,表达式,常量值,函数

         FROM  表名

         WHERE 条件

         ORDER BY  排序的字段|表达式|函数|别名 [ ASC | DESC]

   3.2 排序查询的特点

       1.ASC 代表升序,DESC 代表降序,如果不写,默认是升序

       2. ORDER BY 语句一般是放在查询语句的最后面,limit 语句除外

       3. ORDER BY 语句中可以支持 单个字段,多个字段,表达式,函数,别名

   3.3 排序查询的案例

         案例: 按薪水的高低所有显示员工的信息

                    SELECT * FROM employees ORDER BY salary DESC;

 

 

 

 

 

 

 

 

 

 

             

 

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值