数据库 mysql

sql语法顺序和解析顺序的理解

  • mysql查询时的书写顺序:
    select...from...where...group by...having...order by...
  • mysql的执行顺序:
    from...where...group by...having...select...order by...
  • from:需要从哪个数据表检索数据

  • where:过滤表中数据的条件

  • group by:如何将上面过滤出的数据分组
    例句:select cid,count(*) from product group by cid //注释:cid为product表的外键,可以模拟查询统计每个分类产品的数量

  • having:对上面已经分组的数据进行过滤的条件
    例句:select cid,avg(price) from product group by cid having avg(price)>60

  • select:查看结果集中的哪个列,或列的计算结果

  • order by :按照什么样的顺序来查看返回的数据 (desc为降序,asc为升序)

mysql架构分析和执行流程分析

逻辑架构

  • 连接器(nacivate)

  • 服务管理
    select user();#查看当前登录用户

flush privileges;刷新授权表

mysql -uroot -p -h 127.0.0.1 -P 3306;指定mysql客户端登录指定服务器

  • 数据库连接池
    数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对连接池中的连接进行申请,使用,释放;
    为什么要用连接池:创建数据库连接是一个很耗时的操作,也容易对数据库造成安全隐患,效率低;
    传统请求:创建连接---->访问数据库——>关闭连接;每一个请求都需要重新创建
    连接池:创建连接池——>从连接池中获取连接——>访问数据库——>放回连接池等待下次调用

执行流程

物理存储结构

原文地址:https://www.cnblogs.com/monkay/p/11307753.html