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:单表查询)相关推荐

  1. python数据库有什么特点_python进阶十——mysql初识

    1.MySQL是什么 1.1:MYSQL简介 MySQL 是最流行的数据库之一,是一个免费开源的关系型数据库管理系统,但也不意味着该数据库是完全免费的.MySQL 由瑞典 MySQL AB 公司开发, ...

  2. mysql数据库容量为多少GB_MySQL数据库单表容量有多少 MySQL数据库使用教程

    MySQL单表容量在500万左右,性能处于最佳状态,此时MySQL的BTREE索引树高在3到5之间:而单表最大限已经不再由MySQL限制了,改为电脑容量限制了. MySQL单表容量 MySQL 单表容 ...

  3. python进阶与数据操控_python进阶(mysql:表操作、数据操作、数据类型)(示例代码)...

    3.mysql数据库 3.4 表和数据的基础操作 3.4.1. 创建表 create create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], ...

  4. unicode表_Python数据库操作 Mysql数据库表引擎与字符集#学习猿地

    # Mysql数据库表引擎与字符集 ![](./imgs/752951346A5F4E7EBDE362FA97107707.png) ### 1.服务器处理客户端请求 其实不论客户端进程和服务器进程是 ...

  5. python里面装数据库_python 安装操作 MySQL 数据库.

    以ubuntu和mysql为例 检查自己的机器上面有没有安装数据库 1 xpower@xpower-CW65S:~$ sudo service mysql start2 [sudo] xpower 的 ...

  6. django调用python脚本返回_Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境...

    单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的settin ...

  7. mysql关键字使用顺序_MySQL数据库之单表查询中关键字的执行顺序

    MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from where group by having order by limit 2 执行顺序 from ...

  8. python复制查题_python面试题(复制的)

    1.一行代码实现1-100之和 2.如何在一个函数内部修改全局变量 3.列出5个python标准库 4.字典如何删除键和合并两个字典 5.谈下python的GIL 6.python实现列表去重的方法 ...

  9. mysql实验九_实验十--- MySQL过程式数据库对象

    实验十MySQL过程式数据库对象 一.实验内容: 1. 存储过程的创建和调用 2. 存储函数的创建和调用 3. 触发器的创建和触发 4. 事件的创建和修改 一.实验项目:员工管理数据库 用于企业管理的 ...

最新文章

  1. 潜移默化学会WPF(难点控件treeview)--改造TreeView(CheckBox多选择版本),递归绑定数据...
  2. 马莉 - 人神共愤的处女座
  3. cad lisp 两侧偏移并删除_弱电CAD不算CAD?学学操作,将手速发挥极致,让他人刮目相看...
  4. 修改段落内容_英文论文修改技巧大全
  5. InterruptedException和中断线程的说明
  6. docker 网络_初探Docker的网络模式
  7. adb shell 命令之----pm
  8. 代替嵌套循环java_蓝石榴_个人博客_Java中for循环嵌套的替换优化
  9. 防火墙审计策略和应用场景介绍(USG6307E)
  10. 论文阅读笔记 Word Embeddings A Survey
  11. python脚本画pie饼图_小白学Python(11)——pyecharts,绘制饼图 Pie
  12. 深入了解-微信开发者工具
  13. 垃圾收集器GC中parallel scavenge收集器为什么不能CMS配合使用?
  14. 我经历的日本东京交通
  15. Windows 一键息屏程序ScreenOff下载及说明
  16. PCI8524 并行8Ch24Bits100Ksps高精度数据采集卡
  17. 电脑端手机模拟器软件
  18. python逻辑量有_python逻辑运算符
  19. 判断某点是否在三角形内
  20. Xshell 常见使用

热门文章

  1. java全文检索工具_全文检索工具elasticsearch:第三章: Java程序中的应用
  2. fastai学习——第二个问题
  3. 计算机网络最短路径路由选择,最短路径算法Dijkstra算法在路由选择中的应用.pdf...
  4. python消息队列模块_day43-python消息队列二-queue模块
  5. fox pro删除单条数据_Mac文件夹数据同步工具——Sync Folders Pro
  6. 360浏览器怎么保存网页账号密码
  7. 自定义spring配置文件位置
  8. android 自定义推流器,Android直播实现 Android端推流、播放
  9. 用python画三维图、某区域的高程,python - 在PyQt中绘制具有高程和降低效果的3D矩形/多边形 - SO中文参考 - www.soinside.com...
  10. Redis缓存那点破事 , 绝杀面试官 25 问