• mysql教程
  • Linux和windows下用mysql c++ library操作Mysql数据库
  • mysql 5.7下载安装配置详细教程
  • Python的MySQLdb模块安装
  • mysql jdbc连接mysql数据库步骤及常见参数详解
  • Win7 64位下mysql 下载、安装与配置图文教程
  • mysql update语句的用法详解
  • mysql 存储过程实例和基本语法
  • MySQL Workbench的下载安装与使用教程
  • mysql安装图解
  • mysql 命令大全及导入导出表结构或数据
  • mysql数据库下载安装教程和使用技巧
  • 根据mysql慢日志监控SQL语句执行效率 169IT
  • 在 linux下输入"mysql"命令,进入mysql命令行,但出现“Can't connetc to local MySQL server thuough socket /var/lib/mysql/mysql.sock
  • Mysql查询错误:ERROR:no query specified原因
  • MySQL 重装MySQL后, mysql服务无法启动
  • php安装完成后如何添加mysql扩展
  • 为什么用linux安装盘安装了mysql后,启动mysql,提示找不到mysql.sock文件?
  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • 請教,在redhat linux7.2+mysql 中,系統提示mysql已啟動,網頁卻不能訪問mysql?
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • centos安装mysql,连接时'Can't connect to local MySQL server through socket '/tmp/mysql
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • 求解释: useradd -g mysql mysql -d /home/mysql -s /sbin/nologin
  • VS2012+MySQL+SilverLight5的MVVM开发模式介绍
  • 在Linux内安装了Mysql,无法进入Mysql.
  • MySQL索引基本知识
  • 怎样在linux终端输入mysql直接进入mysql?
  • Mysql设置查询条件(where)查询字段为NULL
  • c++中关于#include <mysql/mysql.h>的问题?
  • mysql中字符串和时间互相转换的方法(自动转换及DATE_FORMAT函数)
  • mysql -u root mysql 怎么解释
  • java将类序列化并存储到mysql(使用hibernate)
  • mm.mysql那里可以下载?www.mysql.com根本下载不了。谢谢了
  •  
    当前位置:  数据库>mysql

    Mysql Select查询执行流程介绍及实例

     
        发布时间:2013-10-8  


        本文导语: Mysql查询执行过程如下:1、 查询缓存,判断sql语句是否完全匹配,再判断是否有权限,两个判断为假则到解析器解析语句,为真则提取数据结果返回给用户。2、 解析器解析。解析器先词法分析,语法分析,检查错误比...

    Mysql查询执行过程如下:

    1、  查询缓存判断sql语句是否完全匹配,再判断是否有权限,两个判断为假则到解析器解析语句,为真则提取数据结果返回给用户。

    2、  解析器解析。解析器先词法分析语法分析,检查错误比如引号有没闭合等,然后生成解析树。

    3、  预处理。预处理解决解析器无法决解的语义,如检查表和列是否存在别名是否有错,生成新的解析树。

    4、  优化器做大量的优化操作。

    5、  生成执行计划。

    6、  查询执行引擎,负责调度引擎获取相应数据

    7、  返回结果。


    Mysql查询执行示意图:


    Mysql查询语句举例

    列出表pet所有的列:  

    select * from pet

    列出指定的列:  

    select name, owner form pet

    where条件:

    select * from pet where (birth>'1980' and species='dog') or species='bird'  

    null的条件:

    select * from pet where sex is not null

    所有名字第四位是n的宠物信息是:

    select * from pet where owner like '___n%'  

    所有主人名叫gwen或benny的宠物:

    select * from pet where owner in ('gwen' , 'benny')  

    查询出生日期在90年代是宠物,相当与 >= and  <=:

    select * from pet where birth between '1990' and '1999'  

    按主人姓名排序,相同的按宠物姓名倒序排列:

    select * from pet order by owner, name desc

    查询性别为公的宠物,按生日倒序排列:

    select * from pet where sex='m' order by birth desc

    列出养有宠物狗的人名:

    select distinct owner from pet where species='dog'

    用两种方法查询出所有狗和猫的名字、出生年份、出生月份:

    select name, left(birth,4) as year, mid(birth, 6, 2) as month from pet  

    where species='dog' or species='cat'  

    select name, year(birth) as year, month(birth) as month from pet  

    where species in('dog','cat')

    查询所有名字中存在字母'e'的人,将他们养的宠物按类别、年龄排序:

    select name, species, birth  from pet  

    where owner like '%e%'  

    order by species,birth desc


    • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
      本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
      转载请注明:文章转载自:[169IT-IT技术资讯]
      本文标题:Mysql Select查询执行流程介绍及实例
    相关文章推荐:
  • 怎样让我的程序能像mysql一样运行后有一个mysql>的提示符等待用户输入并解析用户输入的数据然后执行操作?
  • linux下 ssh远程执行目标机器上的shell脚本,shell脚本中包含mysql 操作,提示mysql command not found
  • sql脚本在本地能执行成功,但在linux下的mysql执行就出错
  • mysql执行错误
  • 紧急求救!!!!如何在shell脚本中,执行对mysql的操作
  • crontab执行mysql命令问题
  • 多次执行mysql_fetch_array()的指针归位问题探讨
  • mysql通过查看跟踪日志跟踪执行的sql语句
  • crontab 如何定时执行Mysql中C编译完成的程序
  • mysql 动态执行存储过程语句
  • mysql从执行.sql文件时处理n换行的问题
  • MySQL 一次执行多条语句的实现及常见问题
  • MySQL 存储过程中执行动态SQL语句的方法
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • 想写个shell脚本调用mysql的存储过程,怎么改都执行不了。。。
  • linux下如何在计划任务里执行mysql里面的命令
  • 根据mysql慢日志监控SQL语句执行效率
  • mysql 初始执行文件的使用介绍
  • mysql执行时间为负数的原因分析
  • MySQL优化之如何了解SQL的执行频率


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3