python mysql查表_python进阶(十、mysql:单表查询)
3.mysql数据库
3.10 单表查询
3.10.1. 简单查询
查询在数据库中使用的频率是最高的:十次查询,一次增删改。
1)建表
2)插入数据
3.10.1.1. 选择字段:select
select 字段名1,字段名2…… from 表名 where 条件;
3.10.1.2. 字段重命名(别名):as
select 字段名1,字段名2 as 别名…… from 表名 where 条件;
可以省略as,用空格代替
使用别名不会修改数据库中的字段名
3.10.1.3. 去重:distinct
select distinct 字段名 from 表名 where 条件;
联合去重
select distinct 字段名1, 字段名2…… from 表名 where 条件;
3.10.1.4. 四则运算(+ - * /)
运算后重命名
3.10.1.5. 拼接函数:concat(),拼接数据输出字符串
concat_ws(分隔符,字段1,字段2……)
3.10.1.6. 判断:case...end
3.10.2. where 约束
where作用:筛选所有符合条件的行
3.10.2.1. 比较运算符:> < >= <= <> !=
3.10.2.2. 满足区间:between...and...
3.10.2.3. 成员判断:in()
3.10.2.4. 模糊查询:like
1)%表示任意多字符
2)_表示一个任意字符
3.10.2.5. 使用正则表达式模糊查询:regexp
1)“^xxx” 表示以“xxx”开始
2)“xxx$” 表示以“x”结尾
3)“{n}” 重复n次
3.10.2.6. 逻辑运算符:and or not
在多个条件直接可以使用逻辑运算符 and or not
运算优先级:not > and > or
3.10.2.7. 判断是否为空:is null
3.10.3. 分组:group by
分组group by
3.10.4. 聚合:count、max、min、avg、sum
聚合函数聚合的是组的内容:COUNT()、MAX()、MIN()、AVG()、SUM()
没有使用group by分组,直接使用聚合函数,则把整张表作为一个分组。
1)count()根据分组计数
count(*)统计符合条件的行数
2)max()求最大值
3)min()求最小值
4)avg()求平均值
5)sum()求平均值
6)展示分组内某项数据的集合:GROUP_CONCAT()
只能展示,使用数据时无法分开取值
7)where 条件 + group by:对满足条件的数据,进行分组
注意:使用聚合时,只有分组和聚合数据是匹配的
显示其它字段时,显示内容和聚合数据并不匹配。
3.10.5. 过滤:having
1)执行优先级从高到低:where > group by > having
2)Where 发生在分组group by之前,因而Where中可以有任意字段,但是绝对不能使用聚合函数。
3)Having发生在分组group by之后,因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数
4)where和having联合使用
5)练习
(1)查询各岗位内包含的员工个数大于2的岗位名、岗位内包含员工名字、个数
(2)查询各岗位平均薪资大于10000的岗位名、平均工资
(3)查询各岗位平均薪资大于10000且小于20000的岗位名、平均工资
3.10.6. 查询排序:order by
1)默认排序是从小到大
也可以用asc(升序关键字)从小到大排列
2)从大到小排序:desc(降序关键字)
3)组合排序(主要关键字在前)
order by 字段1,字段2:先按字段1排序,字段1相同时按字段2排序。也可使用desc降序。
3.10.7. 限制查询记录数:limit
limit 数字:限制显示几条数据
limit m,n:从第m+1记录开始取,取n条记录;没有给定m时,m默认为0。
limit n offset m = limit m,n
3.10.8. 数据查询的执行顺序
1)from子句指定数据源
2)where子句基于指定的条件对记录进行筛选
3)group by子句将数据划分为多个分组,使用聚合函数进行计算
4)使用having子句筛选分组
5)使用select取出字段值
6)使用oredr by对select取出的字段值进行排序
7)使用limit限制记录数量
注意:having虽然执行在select之前,但执行having时解析了select,因此:
(1)select中的别名having可以使用,
(2)select中没有的字段having不能使用。
重命名使用规则:
(1)where条件中不能使用select字段的重命名
(2)order by或者having可以使用select字段的重命名
3.10.9. select获取数据机制
1)首先通过from表名,找到表
2)然后过where,group by,having锁定数据行。
3)最后循环每一行,执行select语句,找到数据。
python mysql查表_python进阶(十、mysql:单表查询)相关推荐
- python数据库有什么特点_python进阶十——mysql初识
1.MySQL是什么 1.1:MYSQL简介 MySQL 是最流行的数据库之一,是一个免费开源的关系型数据库管理系统,但也不意味着该数据库是完全免费的.MySQL 由瑞典 MySQL AB 公司开发, ...
- mysql数据库容量为多少GB_MySQL数据库单表容量有多少 MySQL数据库使用教程
MySQL单表容量在500万左右,性能处于最佳状态,此时MySQL的BTREE索引树高在3到5之间:而单表最大限已经不再由MySQL限制了,改为电脑容量限制了. MySQL单表容量 MySQL 单表容 ...
- python进阶与数据操控_python进阶(mysql:表操作、数据操作、数据类型)(示例代码)...
3.mysql数据库 3.4 表和数据的基础操作 3.4.1. 创建表 create create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], ...
- unicode表_Python数据库操作 Mysql数据库表引擎与字符集#学习猿地
# Mysql数据库表引擎与字符集 ![](./imgs/752951346A5F4E7EBDE362FA97107707.png) ### 1.服务器处理客户端请求 其实不论客户端进程和服务器进程是 ...
- python里面装数据库_python 安装操作 MySQL 数据库.
以ubuntu和mysql为例 检查自己的机器上面有没有安装数据库 1 xpower@xpower-CW65S:~$ sudo service mysql start2 [sudo] xpower 的 ...
- django调用python脚本返回_Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境...
单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的settin ...
- mysql关键字使用顺序_MySQL数据库之单表查询中关键字的执行顺序
MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from where group by having order by limit 2 执行顺序 from ...
- python复制查题_python面试题(复制的)
1.一行代码实现1-100之和 2.如何在一个函数内部修改全局变量 3.列出5个python标准库 4.字典如何删除键和合并两个字典 5.谈下python的GIL 6.python实现列表去重的方法 ...
- mysql实验九_实验十--- MySQL过程式数据库对象
实验十MySQL过程式数据库对象 一.实验内容: 1. 存储过程的创建和调用 2. 存储函数的创建和调用 3. 触发器的创建和触发 4. 事件的创建和修改 一.实验项目:员工管理数据库 用于企业管理的 ...
最新文章
- 潜移默化学会WPF(难点控件treeview)--改造TreeView(CheckBox多选择版本),递归绑定数据...
- 马莉 - 人神共愤的处女座
- cad lisp 两侧偏移并删除_弱电CAD不算CAD?学学操作,将手速发挥极致,让他人刮目相看...
- 修改段落内容_英文论文修改技巧大全
- InterruptedException和中断线程的说明
- docker 网络_初探Docker的网络模式
- adb shell 命令之----pm
- 代替嵌套循环java_蓝石榴_个人博客_Java中for循环嵌套的替换优化
- 防火墙审计策略和应用场景介绍(USG6307E)
- 论文阅读笔记 Word Embeddings A Survey
- python脚本画pie饼图_小白学Python(11)——pyecharts,绘制饼图 Pie
- 深入了解-微信开发者工具
- 垃圾收集器GC中parallel scavenge收集器为什么不能CMS配合使用?
- 我经历的日本东京交通
- Windows 一键息屏程序ScreenOff下载及说明
- PCI8524 并行8Ch24Bits100Ksps高精度数据采集卡
- 电脑端手机模拟器软件
- python逻辑量有_python逻辑运算符
- 判断某点是否在三角形内
- Xshell 常见使用
热门文章
- java全文检索工具_全文检索工具elasticsearch:第三章: Java程序中的应用
- fastai学习——第二个问题
- 计算机网络最短路径路由选择,最短路径算法Dijkstra算法在路由选择中的应用.pdf...
- python消息队列模块_day43-python消息队列二-queue模块
- fox pro删除单条数据_Mac文件夹数据同步工具——Sync Folders Pro
- 360浏览器怎么保存网页账号密码
- 自定义spring配置文件位置
- android 自定义推流器,Android直播实现 Android端推流、播放
- 用python画三维图、某区域的高程,python - 在PyQt中绘制具有高程和降低效果的3D矩形/多边形 - SO中文参考 - www.soinside.com...
- Redis缓存那点破事 , 绝杀面试官 25 问