查询的基本结构:

  概念:

    查询(DQL)是数据库中最为常用和复杂的一种SQL结构,学会编写查询SQL是程序员必须具备的能力。

    要从数据库中查询数据,我们要使用SQL的SELECT语句。标准SELECT查询由SELECT子句、FROM子句、WHERE子句、ORDER BY子句组成。

    标准结构:SELECT [DISTINCT] {*|列名[别名], .....}

         FROM 表名

         [WHERE 过滤条件]

         [ORDER BY 列1,列2....]

  投影操作:

    概念:投影才做是查询语句里必须有的子句,关键字则为SELECT。将选择对表中哪些列进行操作,将这些列出现在结果中。

    标准结构:SELECT 列1,列2 FROM 表名

    书写方法:

      1.如果选择某个表中的多个列,那么列名之间用逗号分隔;

      2.如果是单个列,只需要列出该列的列名即可;

      3.如果选择所有的列,可以简单的用“*”号代替列名列表。

        

    例: Select  f_name,f_club from t_player

       Select * from t_team; // *表示代表所有的列(不建议使用,要全写)

    表前缀:SELECT t_student.姓名 FROM t_sudent

      例:Select t_team.f_teamName from t_ team;

    列别名:使用别名,可以使SQL语句和返回的数据更用以读懂、更容易理解。在多个表中有同样的别名的时候,使用别名更容易区分;

        在列名或表名用AS关键字类提供别名;

      语法:SELECT 列A AS A,列B AS B,列C AS C FROM 表名 AS T

        当使用表名的别名时,可以在同一SQL语句中的列名使用别名;

       例:SELECT T.列A AS A, T.列B AS B,T.列C AS C FROM 表名 AS T

         Select f_name as id,f_club from t_player; //as id表示别名

    计算列:在数据库管理中,我们也可以执行返回计算列的SELECT查询。返回计算列意味着数据不存在与数据库中,但是可以冲数据库中的数据构造或者计算的来;

      例:将每个学生年龄加上10岁显示:

        SELECT 年龄+10 FROM t_student

    CONCAT函数:做字符串拼接

      投影列也可以用字符串连接,MySQL中字符串连接用CONCAT函数,

      例:SELECT CONCAT(姓名,‘-’,年龄) FROM t_student

        Select concat (f_teamCoach,’是’,f_teamName,’的主教练’) as 描述,f_teamNum as 球员数 from t_team;

    排除重复数据:数据库表的同列中,经常有相同值,多次出现。有时需哟啊确保返回唯一的数据行,这时需要使用DISTINCT关键字来排除重复的行数据。

           标准结构:SELECT DISTINCT 列1 FROM 表名

                SELECT DISTINCT 性别 FROM t_student

    返回限定行数的查询:在MySQL中可以限制查询的行数,并制定从第几行开始到第几行结束。

              标准结构:SELECT 列1,列2 FROM t_student LIMIT 开始序号,返回的行数

                 例:Select * from t_player limit 0,50;  //查看从0行开始

                   如果用1个参数,则表示从第一行开始返回制定行数的结果。

                   如果用2个参数,则表示从指定行开始返回知道那个行数的结果。

                   注:LIMIT序号是从0开始。LIMIT只能用于MySQL中。

  简单查询中的选择操作:

    WHERE关键字:

    运算符:

          

    单条件选择操作:WHERE子句应用搜索条件SELECT查询获得的数据,搜索条件可以采用不同的形式,但是条件的值都是布尔值。在此情况下,只对“列C = 值”为真的行干星期。如果条件为真,行就被返回;如果为假或UNKNOWN(因为null值的存在),则被忽略。

            标准结构:SELECT 列1,列2 FROM 表 WHERE 列3 = 值

               例:Select * from t_player where f_club = ‘曼联’;

    多条件选择操作:组合WHERE条件

            AND:并且

          标准结构:SELECT 列A,列B FROM 表 WHERE 条件1 and 条件2

             例:SELECT * FROM t_player WHERE f_dateOfBirth>='1980-1-1' AND f_dateOfBirth<='2000-1-1';

            OR:或者

          标准结构:SELECT 列A,列B FROM 表 WHERE 条件1 or 条件2

             例:SELECT * FROM t_player WHERE f_club='曼联' OR f_club='拜仁慕尼黑';

    执行返回测试:BETWEEN;一个范围搜索,大于等于下限,并且小于等于上限。

      标准结构:SELECT 列A,列B FROM 表 WHERE 列C BETWEEN 下限 AND 上限

         例:Select * from t_player where f_number BETWEEN  5 and 8;

    定义集合关系:在制定的某几个值中进行搜索

      标准结构 IN: SELECT 列A,列B FROM 表 WHERE 列C IN(值集合);

           例:Select * from t_player where f_club in ('曼联','拜仁募集黑','ac米兰');

      标准结构 NOTIN: SELECT 列A,列B FROM 表 WHERE 列C NOTIN(值集合);

            例:Select * from t_player where f_club not in ('曼联','拜仁募集黑','ac米兰'); //not 表示除了

    模糊查询:模糊查询是一种比较使用的过滤方式,利用通配符来实现模糊查询。

      通配符:“_”通配符:_ 表示任何单个字符;

          “%”通配符:% 表示包含零个或多个任意字符

      标准结构 LIKE: SELECT 列A,列B FROM 表 WHERE 列C LIKE 模式

           例:Select * from t_player where f_club like ‘曼%’;

             Select * from t_player where f_club like ‘%米’; //% 不限定字符

             Select * from t_player where f_club like ‘_ _’; // _ 一个表示一个字符

             Select * from t_player where f_club not like ‘曼%’; //not 表示除了

    空查询:在数据库中判断某列师傅为空不能用 = null,而应该用IS null 或 IN not null。使用其它任何比较运算符来匹配null得到的都是FALSE的结果,比较null = null也是返回FALSE。注:不能用=号或!=等号表示

      例:SELECT * FROM t_student WHERE 性别 IS null

        Select * from t_player where F_club is null; //是空

        Select * from t_player where F_club is not null; //not 不是空

  简单查询中的排序操作:

    概念:排序操作是指当查询的结果投影出来后以哪一列或及列的顺序进行排列。如果不指定则以数据库默认顺序排列。

     标准结构:

     单列排序:SELECT 列A,列B,列C FROM 表 ORDER BY 列A

        例:Select * from t_player ORDER BY f_date OfBirth; //ASC 升序 可不写默认

          Select * from t_player ORDER BY f_date OfBirth DESC; // DESC 降序

      其中ORDER BY子句指定列A用于数据排序,列A的值可以是字母、数字、时间等。

     多列排序:SELECT 列A,列B,列C FROM 表 ORDER BY 列A,列B,列C....

        例:Select * from t_player ORDER BY f_dateOfBirth DESC, f_numberDESC;

          Select * from t_player wher f_dateOfBirth BETWEEN’1992-1-1’ and ‘1992-12-9’ ORDER BY f_dateOfBirth DESC, f_numberDESC;

      其中ORDER BY子句后指定多个列名时,是根据后面列名的顺序确定优先级。

转载于:https://www.cnblogs.com/chenhceng/p/7170716.html

MySQL 的存储引擎相关推荐

  1. mysql的存储引擎详解_Mysql存储引擎详解

    存储引擎的介绍 关系型数据库表是用来存储和组织信息的数据结构,可以将表理解为由行和列组成的表格. 由于表的类型不同,我们在实际开发过程中,就有可能需要各种各样的表,不同的表就意味着存储不同类型的数据, ...

  2. mysql的存储引擎种类,mysql 存储引擎,基本数据类型

    存储引擎 日常生活中文件格式有很多种,并且针对不同的文件格式会有对应不同存储方式和处理机制(txt,pdf, word, mp4...) 针对不同的数据应该有对应的不同的处理机制来存储 存储引擎就是不 ...

  3. mysql支持的并发数_重学MySQL系列(五):谈谈对MySQL的存储引擎的理解

    原创作者,公众号[程序员读书],欢迎关注公众号,转载文章请注明出处哦. MySQL关于存储引擎的架构设计,相较于其他关系数据库管理系统,比如Oracle,SQL Server等数据库,这是MySQL最 ...

  4. MySQL—05—MySQL如何处理SQL语句;MySQL数据库存储引擎介绍;

    一. MySQL 中的执行计划 1 MySQL 执行计划 在 MySQL 中可以通过 explain 关键字模拟优化器,执行 SQL 语句,从而知道 MySQL 是 如何处理 SQL 语句的. 2 M ...

  5. Mysql 索引 总结 —— 概述 || 索引优势劣势|| 索引结构(索引是在MySQL的存储引擎层中实现的)|| BTREE 结构||B+TREE 结构||MySQL中的B+Tree||索引分类

    索引概述 MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序). 在数据之外,数据库系统还维护者满足特定查找算法的数据结构, 这些数据结构以某种方式引用(指向 ...

  6. mysql修改存储引擎报错_MySQL查看修改存储引擎总结

    本文总结了MySQL下查看.修改存储引擎的一些方法.测试.验证环境为MySQL 5.6 ,如有差异,请以实际版本为准 1:查看MySQL的存储引擎信息 1.1 使用show engines命令. Su ...

  7. java面试mysql的引擎_面试官:你用过mysql哪些存储引擎,请分别展开介绍一下

    这是高级开发者面试时经常被问的问题.实际我们在平时的开发中,经常会遇到的,在用SQLyog等工具创建表时,就有一个引擎项要你去选.如下图: Mysql的存储引擎有这么多种,实际我们在平时用的最多的莫过 ...

  8. mysql myisam存储引擎不能添加外键,添加后显示成功,实则失败

    mysql myisam存储引擎不能添加外键,添加后显示成功,实则失败. 添加显示成功后,可以轻松删除父表.

  9. mysql之存储引擎和文件配置

    (查看系统服务,在运行里输入services.msc) 补充:将mysql做成系统服务:mysqld --install 取消:mysqld --romove 在服务中可以直接鼠标操作mysql服务的 ...

  10. 浅析Mysql InnoDB存储引擎事务原理

    浅析Mysql InnoDB存储引擎事务原理 大神:http://blog.csdn.net/tangkund3218/article/details/47904021

最新文章

  1. 计算机教 学计划书,计算机教师工作计划个人范例
  2. Storage与cookie
  3. 理解 java 中常用数据结构
  4. PB级分布式大数据的处理和分析应用
  5. socekt编程-select
  6. Smart3D-安装教程
  7. Angular Compile Error NG6002
  8. 双驰推大规模个性化定制生产迎来颠覆性变革
  9. ajax中怎样获取下拉列表,如何从Ajax/Jquery的下拉列表中获取复选框中的数据
  10. python signal处理
  11. SpringDataJPA -06- specification的基本使用
  12. 从产品角度,快速接盘新系统的一些经验及方法提炼
  13. 市场营销中的色彩心理学
  14. 今日,首款国产超小体积5G通信模组商用!
  15. c语言星星循环语序,C语言程序设计第五讲(2010级).ppt
  16. python外星人入侵游戏加随机游动_Python外星人入侵游戏(四):飞船左右移动
  17. 移动APP广告监测 - 千万级系统架构
  18. linux安装nginx并配置域名映射和图片服务器
  19. Android Studio 简易计算机源码
  20. 25岁之后,你需要培养的12项时间管理习惯

热门文章

  1. python工作招聘-学习Python 能找到工作?1300+条招聘信息告诉你答案
  2. python开发工具排名-7款公认比较出色的Python IDE,你值得拥有!
  3. 学python找工作有用吗-为什么我不建议你通过 Python 去找工作?
  4. python读取文件某一行-使用python读取.text文件特定行的数据方法
  5. python手机版idle-Python入门 | IDLE的介绍和使用方法
  6. python怎么做图形界面-图形界面
  7. python开发的软件sparrow-sparrow
  8. python程序员工作怎样-python程序员待遇如何
  9. python自学网课-python网课学习笔记--4
  10. python读音有道词典-利用python实现命令行有道词典的方法示例