这篇笔记主要记录mysql的基础架构,一条查询语句是如何执行的. 比如,在我们从student表中查询一个id=2的信息 select * from student where id=2; 在解释这条语句执行流程之前,我们看看mysql的基础架构. 图来自极客时间的mysql实践,该图是描述的是MySQL的逻辑架构. server层包括连接器.查询缓存.分析器.优化器.执行器涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数所有跨存储引擎的功能都在这一层实现,比如存储过程.触发器.视等.…
高级查询:1.连接查询 #适用于有外键关系的 没有任何关系没法用select * from Info,Nation #同时查询这俩表并把两表每个数据相互组合,形成笛卡尔积 select * from Info,Nation where Info.nation=Nation.code select Info.code,Info.name,Info.sex,Nation.name as '民族',Info.birthday from Info,Nation where Info.nation=Na…
1.分页查询(MySQL特有的,oracle中没有) 栗子1: 每页最多3条记录:pageSize=3:第一页:SELECT * FROM product LIMIT 0,3第二页:SELECT * FROM product LIMIT 3,3第六页:SELECT * FROM product LIMIT 15,3 加了个条件: SELECT * FROM product WHERE id>5…
1.分组函数 需求20:查询所有商品平均零售价SELECT AVG(salePrice) FROM product 需求21:查询商品总记录数SELECT COUNT(id) count FROM product 需求22:查询分类为2的商品总数SELECT COUNT(id) count FROM product WHERE dir_id=2; 需求23:查询商品的最小零售价,最高零售价,以及所有商品零售价总和SELECT MIN(salePrice) 最小零售价,MAX(salePrice)…
students表 id class_id name gender score 1 1 小明 M 90 2 1 小红 F 95 3 1 小军 M 88 4 1 小米 F 73 5 2 小白 F 81 6 2 小兵 M 55 7 2 小林 M 85 8 3 小新 F 91 9 3 小王 M 89 10 3 小丽 F 88 classes表 id name 1 一班 2 二班 3 三班 4 四班 ①基本查询 SELECT * FROM students; SELECT * FROM classes;…
1.基础查询where 高级条件查询Where子句 SELECT empno,ename,sal,hiredate FROM t_tmp WHERE deptno=10 AND (sal+IFNULL(comm,0)*12)>=15000 AND DATEDIFF(NOW(),hiredate)/365>=20; Where 中搭配四种运算符 算数运算符:+ - * / % 比较运算符:> >= < <= = != IN IS NULL, IS NOT NULL,BET…
01.SQL高级查询_排序 1.排序语句:order by 排序字段名 asc(默认的-升序) / desc(降序); 2.例如:查询所有服装类商品,将查询结果以价格升序排序: select * from product where category_id = '服装' order by price asc; 3.可以对数值类型.日期类型.英文字母的字符串字段进行排序: 4.对多列进行排序: 1).需求:查询所有的服装类商品,按价…
python进阶09 MySQL高级查询 一.筛选条件 # 比较运算符 # 等于:= 不等于:!= 或<> 大于:> 小于:< 大于等于>= 小于等于:<= #空:IS NULL 非空:IS NOT NULL # NULL 的查询比较特殊,只有在条件里加上IS NULL 或IS NOT NULL 才能够查询出NULL #逻辑运算符 #与:AND 或:OR 非:NOT 范围查询 BETWEEN a AND b SELECT * FROM students WHERE ag…