MySQL(3)

Python3配置MySQL 1. 首先安装MySQL,选择web安装,一直点默认就可以,设置一下自己的登录密码 mysql安装完成之后可以通过自带的命令行登录,打开直接输入密码即可,也可以通过系统cmd进入mysql安装位置,再执行mysql -u root -p,然后输入密码。 2. 安装navicate可视化管理工具。 参见https://blog.youkuaiyun.com/WYpersist/articl... 阅读详情

十、条件查询(where)

       1、运算符

              比较运算符:>、>=、=、<、<=、!=、<>、like、in、is null、between and

              逻辑运算符:and、or、not

       2、比较运算符案例

              #查询1号部门的员工信息

              select * from emp where deptno=1

              #查询灭绝师太的所有信息

              select * from emp where ename='灭绝师太'

              #查询2025-12-20入职的员工信息

              select * from emp where hiredate='2025-12-20'

              #查询工资大于2000的员工信息

              select * from emp where sal>2000

              #查询部门号不等于3号的员工信息

              select * from emp where deptno!=3

              select * from emp where deptno<>3

              #查询工资是1000到2000之间的员工信息

              select * from emp where sal between 1000 and 2000

              #????

              #查询岗位是'CLERK CLERK ANALYST'的员工信息

              select * from emp where job in('CLERK','CLERK','ANALYST')

              #查询张姓员工信息 通配符:_表示一个任意字符,%表示n个任意字符

              select * from emp where ename like '张_'

              select * from emp where ename like '张%'

              #查询没有奖金的员工信息

              select * from emp where comm is null

              #查询没有部门的员工信息

              select * from emp where deptno is null

              #查询有奖金的员工信息

              select * from emp where comm is not null

       3、逻辑运算符案例

              #查询工资是1000到2000之间的员工信息

              select * from emp where sal>=1000 and sal<=2000

              #查询工资小于2000 并且 入职日期大于1987-01-01

              select * from emp where sal<2000 and hiredate>'1987-01-01'

              #查询1号部门中 并且 工资小于2000的员工信息

              select * from emp where deptno=1 and sal<2000

              #查询工资大于3000 或者 入职日期早于1987-01-01

              select * from emp where sal>3000 or hiredate<'1987-01-01'

              #查询不是张姓员工信息

              select * from emp where ename not like '张%'

              #查询不是1号部门的员工信息

              select * from emp where not deptno=1

              #查询部门号不是1、3、5号部门的员工信息

              select * from emp where deptno not in(1,3,5)

十一、函数

       1、函数分类

              分组函数:max、min、avg、count、sum

              单行函数:数学函数、字符串函数、日期函数、加密函数

       2、分组函数案例

              #查询总共多个个员工

              select count(empno) from emp

              select count(*) from emp

              select count(1) from emp

              select count(comm) from emp #忽略null

              #查询最高的工资

              select max(sal) from emp

              #查询最低的工资

              select min(sal) from emp

              #查询最高工资

              select max(sal) from emp

              #查询平均工资

              select avg(sal) from emp

              #查询工资总合

              select sum(sal) from emp

              #查询工资总合含奖金

              select sum(sal+comm) from emp

              #查询入职最早和最晚的员工信息

              select min(hiredate), max(hiredate) from emp

              #查询每个部门的平均工资 --分组时select后只能出现分组字段(deptno)和分组函数(avg)

              select deptno,avg(sal) from emp group by deptno

              select ename,deptno,avg(sal) from emp group by deptno -- 非法,因为ename无意义

              #查询每个部门的工资共和、部门人数、最高工资、最低工资、平均工资,并按工资综合排序和部门号排序

              select

                     deptno,sum(sal) sum_sal,count(1),max(sal),min(sal),avg(sal)

              from

                     emp group by deptno order by sum_sal desc,deptno asc

              #查询平均工资>2000的部门

              select deptno,avg(sal) avg_sal from emp group by deptno having avg_sal>2000

              #查询所有部门中领导们的平均工资

              select deptno,avg(sal) avg_sal from emp group by deptno having job='MANAGER' #非法,group by后结果中没有job字段

              select deptno,avg(sal) avg_sal from emp where job='MANAGER' group by deptno

              /*

              思考联系:

              #1.统计人数小于4的部门的平均工资。

              select deptno,avg(sal),count(0) num from emp group by deptno having num<4

              #2.统计各部门的最高工资,排除最高工资小于2000的部门。

              select deptno,max(sal) max_sal from emp group by deptno having max_sal>2000

              #3.显示部门编号大于2 的部门的人数,要求人数大于3

              select deptno,count(0) count from emp where deptno>2 group by deptno having count>3

              */

       3、单行函数

              #查询大于x的最大整数、小于x的最大整合、四舍五入

              select avg(sal),ceil(avg(sal)),floor(avg(sal)),round(avg(sal),2) from emp

              select avg(sal),ceil(avg(sal)),floor(avg(sal)),round(avg(sal),2) from emp

              #查询员工的名字有几个字

              select length(ename)/3 from emp

              #查询员工的'姓名-工作'

              select ename,'-',job,concat(ename,'-',job) from emp

              #查询当前时间、查询当前日期

              select current_time(),current_date() from dual;

              #查询当前的日期时间

              select now()

              select sysdate()

              #格式化日期

              select hiredate,date_format(hiredate,'%Y/%m/%d') from emp

              select hiredate,date_format(hiredate,'%Y年%m月%d日') from emp

              select now(),concat(date_format(now(),'%Y/%m/%d'),' ',time_format(now(),'%H:%i:%s'))

              select hiredate, year(hiredate),month(hiredate),day(hiredate) from emp

              #常用加密算法

              select password('1111'),md5('1111'),sha('1111');

              #模拟登录

              CREATE TABLE t_user(

              id INT PRIMARY KEY AUTO_INCREMENT,

              username VARCHAR(20),

              PASSWORD VARCHAR(100)

              );

              INSERT INTO t_user VALUES(NULL,'chai',MD5('123456'));

              select * from t_user where username='chai' and password='123456' #登录失败

              select * from t_user where username='chai' and password=MD5('123456') #登录成功

              #mysql修改密码

              USE mysql;

              #mysqladmin -u root password 1111;

              #ALTER USER 'root'@'localhost' IDENTIFIED BY '1111';

              UPDATE user SET authentication_string=PASSWORD('1111') WHERE User='root' AND Host='localhost';

              FLUSH PRIVILEGES;

十二、关联查询

       关联查询:有关联关系的多张表一起查询,比如:员工表和部门部可以通过'deptno'关联

       1、内连接

              关键字:inner join | join

              查询结果:A∩B,展示两张表符合关联条件的记录

              案例:

                     #查询员工的姓名、部门编号、部门名称

                      /**

                            1052 - Column 'deptno' in field list is ambiguous

                            原因:'deptno'两张表都有,mysql不知道从那张表取了

                      */

                      select ename,deptno,dname from emp inner join dept #报错

                      /**

                            结果:语法正确,但是结果是‘笛卡尔积’,即A表记录数 * B表的记录数

                            结论:关联查询必须有‘关联条件’

                      */

                      select e.ename,e.deptno,d.dname from emp e INSERT JOIN dept d

            select e.ename,e.deptno,d.dname from emp e INNER JOIN dept d ON e.deptno=d.deptno #推荐

                      select e.ename,e.deptno,d.dname from emp e INNER JOIN dept d WHERE e.deptno=d.deptno #不推荐,因为left和right连接会影响结果

                      #查询部门编号为1的工资》3000员工的姓名、部门编号、部门名称、薪资

                      select e.ename,e.sal,d.deptno,d.dname

                      from emp e INNER JOIN dept d ON e.deptno=d.deptno

                      where e.deptno=1 and e.sal>3000

                      select e.ename,e.sal,d.deptno,d.dname

                      from emp e JOIN dept d ON e.deptno=d.deptno

                      where e.deptno=1 and e.sal>3000

                      select e.ename,e.sal,d.deptno,d.dname

                      from emp e JOIN dept d ON e.deptno=d.deptno and e.deptno=1 and e.sal>3000

       2、左连接

              关键字:left join

              查询结果:A,以左表为基准,左表全部展示右表展示符合关联条件的记录

              案例:

                     #查询所有员工的姓名、部门、部门编号、薪资

                     select e.ename ,e.sal,d.dname , d . deptno from emp e left join dept d on e.deptno=d.deptno

                     #查询部门编号为1的所有员工的姓名、部门、部门编号、薪资

                     /**

                     纯粹的左连接,结果:左边全部展示,右边展示符合条件的记录

                     */

                     select e.ename,e .sal,d.dname,d. deptno from emp e left join dept d on e.deptno=d.deptno and d.deptno=1

                     /**

                     左连接已经结束,但是where条件又过滤了一把

                     */

                     select e.ename,e.sal, d. dname,d. deptno from emp e left join dept d on e.deptno=d.deptno where d.deptno=1

       3、右连接

              关键字:right join

              查询结果:B,以右表为基准,右表全部展示,左表展示符合关联条件的记录

              案例:

               #查询所有部门,包括没有对应员工的部门,员工的姓名、薪资、部门编号、部门名称

          select e.ename,e.sal,d.deptno,d.dname from emp e right join dept d on e.deptno=d.deptno

        #查询所有员工,包括没有指定部门的员工,他们的姓名、薪资、部门编号、部门名称

                     select * from dept d right join emp e on d.deptno=e.deptno

       4、等值连接

              特点:等值连接是内连接的一种特殊实现方式,使用where条件关联数据

              查询结果:A∩B,等同于内连接

              案例:

                     #查询员工的所有信息及部门名称

                     select * from emp e JOIN dept d ON e.deptno=d.deptno

                     select * from emp e, dept d WHERE e.deptno=d.deptno

                     #查询武汉分公司的员工及部门信息

                     select * from emp e, dept d WHERE e.deptno=d.deptno and d.loc='武汉'

                     select * from emp e join dept d ON e.deptno=d.deptno and d.loc='武汉'

                     #查询员工的工资等级

                     select e.*,sg.grade from emp e, salgrade sg WHERE e.sal>=losal and e.sal<=hisal

                     #查询领导的工资等级

                     select e.*,sg.grade

                     from emp e, salgrade sg

                     WHERE e.sal>=losal and e.sal<=hisal and e.job='MANAGER'

                     #查询每个员工的工号、姓名、直接领导姓名

            select e1.empno,e1.ename,e2.ename from emp e1, emp e2 where e1.mgr=e2.empno

MySQL当中utf8mb4和utf8mb3区别 utf8mb3(MySQL 中的utf8)最多支持 3 字节字符,不能处理 4 字节字符(如表情符号、某些 Unicode 字符)。utf8mb4是 MySQL 完整的 UTF-8 实现,最多支持 4 字节字符,能处理所有 Unicode 字符,包括表情符号和其他特殊字符。utf8mb4是utf8mb3的超集,因此兼容utf8mb3,但提供更多的字符支持。因此,建议在现代应用中使用utf8mb4,以确保能够支持所有 Unicode 字符。 阅读详情

相关推荐

【Python3教程】Python3高级篇之MySQL - mysql-connector 驱动介绍及示例

Python连接MySQL数据库的简明指南 本文介绍了Python3中使用mysql-connector驱动连接和操作MySQL数据库的方法。mysql-connector是Oracle官方提供的纯Python驱动,支持Python3.x和各种MySQL特性,无需依赖第三方库或C编译器。 主要内容包括: 安装方法:通过pip安装mysql-connector-python 基本使用:连接数据库、执行查询、插入/更新/删除数据 参数化SQL写法防止注入 事务控制(commit/rollback) 配置文件连接

No8g攻城狮的博客 1411

【 Python 全栈开发 - WEB开发篇 - 31 】where条件查询

where条件查询

SHUTIAN2010的博客 2035

@transactional滥用导致数据源连接池耗尽问题

@transactional滥用导致数据源连接池耗尽问题

qq_43205267的博客 1198

MySQL 查询常用操作(2) —— 条件查询 where

MySQL中根据条件查询数据,包括精准查询、模糊查询以及按照数据的某个范围或者指定多个指标进行查询,值得注意的是,MySQL中的一些查询会忽略空值。

我的博客 3217

手把手教你用STM32的SPI驱动MCP2517FD实现CAN FD通信(附完整代码)

本文详细介绍了如何使用STM32通过SPI驱动MCP2517FD实现CAN FD通信,涵盖硬件连接、SPI驱动编写、寄存器配置及数据收发实战。提供完整代码示例和常见问题排查指南,帮助开发者快速构建高可靠性的CAN FD通信系统,适用于汽车电子和工业控制等领域。

weixin_30607029的博客 674

【算法实战】Keystone变换:从原理到MATLAB实现的距离走动校正

本文深入解析Keystone变换在雷达信号处理中的距离走动校正应用,从原理到MATLAB实现全面讲解。通过三种实现方法(DFT+IFFT、Sinc插值、Chirp-Z变换)的对比分析,结合实战案例展示如何有效解决高速目标导致的距离单元跨越问题,提升多普勒频谱聚焦质量。

weixin_29055699的博客 290

where条件查询

目录 1. where条件查询的介绍 2. 比较运算符查询 3. 逻辑运算符查询 4. 模糊查询 5. 范围查询 6. 空判断查询 7. 小结

qq_52262831的博客 6610

ROS-订阅与处理激光雷达scan话题

激光雷达通常有四个性能衡量指标:测距分辨率、扫描频率(有时也用扫描周期)、角度分辨率及可视范围。测距分辨率衡量在一个给定的距离下测距的精确程度,通常与距离真实值相差在5-20mm;扫描频率衡量激光雷达完成一次完整扫描的快慢,通常在10Hz及以上;角度分辨率直接决定激光雷达一次完整扫描能返回多少个样本点;可视范围指激光雷达完整扫描的广角,可视范围之外即为盲区。

weixin_42438635的博客 4477

六、where条件查询

使用where条件查询可以对表中的数据进行筛选,条件成立的记录会出现在结果中。

qq_62899128的博客 764

Nginx/OpenResty目录穿越漏洞复现

Nginx/OpenResty目录穿越漏洞复现 漏洞背景: 2020年03月18日, 360CERT监测发现 openwall oss-security 邮件组披露了两枚漏洞。在特定配置下 nginx/openresty 存在 内存泄漏漏洞/目录穿越漏洞。 Nginx 是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。 OpenResty是一个基于nginx的Web平台,它对nginx增加LuaJIT引擎使其运行Lua脚本。 影响版本: nginx <= v1.17

小小猪的博客 1万+

冒险岛脚本函数大全:cm.sendYesNo和cm.warp的20个实战用法

本文深入解析了冒险岛脚本中cm.sendYesNo和cm.warp两个核心函数的20个实战应用场景。从基础的确认对话框交互、条件判断,到复杂的装备强化系统、动态传送与副本入口逻辑,文章通过大量代码示例展示了如何组合运用这两个函数,实现从简单NPC到复杂任务系统的进阶脚本开发,并分享了状态管理、错误处理与性能优化等最佳实践。

t4y5u6i7o的博客 1055

SQL语句之条件查询--WHERE(where)

sql语句select之基础查询(where) 语法: select 查询列表 from 表名 where 筛选条件 筛选条件分类: 一、按条件表达式筛选 条件运算符: > 、< 、= 、!=(建议使用<> )、>=、 <= 二、按照逻辑表达式筛选(一般就是用于连接多个条件表达式) 逻辑运算符: && 、 || 、 ! 建议使用 and 、or 、not 三、模糊查询 like between and in is null 一、按条件表达式筛选 例:

traveler-leon的博客 4万+

YOLOv8改进:全网原创首发 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测 | NeurIPS2022

多尺度卷积注意力(MSCA),有效地提取上下文信息;1)作为注意力MSCA使用;

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 3842

mysql到s3,S3上的Mysql数据目录

I want Mysql to store it's data on Amazone S3, So I mounted an S3 bucket to my server and changed the path of data dir to mounted directory in my.cnf.After doing this, I restarted the server and creat...

weixin_42314711的博客 303

增量学习入门:概念、代码示例与应用场景

在当今快速变化的数据环境中,传统的机器学习模型往往需要重新训练以适应新的数据。然而,这种方法不仅耗时耗力,还可能导致模型性能的不稳定。增量学习(Incremental Learning)作为一种新兴的学习范式,能够在新数据到来时动态更新模型,而无需重新训练整个模型。本文将详细介绍增量学习的基本概念、代码示例、应用场景以及需要注意的事项。增量学习作为一种高效的机器学习方法,能够在新数据到来时动态更新模型,具有广泛的应用前景。通过本文的介绍,相信你对增量学习有了初步的了解。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1152

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

python3 mysql 教程_python3与mysql的安装及python3操作mysql教程

一、下载安装配置1. python3首先,我们需要下载Python3,当前最新版本是python3.2,下载地址是http://www.wfuwu.com/down/html/46818.html安装过程就不用说了,默认安装到C:Python32目录中。安装好后,将安装目录C:Python32添加到环境变量中。然后打开命令提示符窗口,输入python,如果能返回python版本说明安装成功以及环境...

weixin_42514540的博客 292

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

python3操作mysql教程_python3操作mysql教程

一、下载\安装\配置1. python3当前最新版本是python3.2,下载地址是http://www.python.org/ftp/python/3.2.3/python-3.2.3.msi安装过程就不用说了,默认安装到C:\Python32目录中。安装好后,将安装目录C:\Python32添加到环境变量中。然后打开命令提示符窗口,输入python,如果能返回python版本说明安装成功以及环...

weixin_32452127的博客 957

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Python3 MySQL

Python3 MySQL 数据库连接 - PyMySQL 驱动 本文我们为大家介绍 Python3 使用PyMySQL连接数据库,并实现简单的增删改查。 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 PyMySQL 安装 import pymysql (需要安装..

CentOS 171

python3 mysql 教程_python3操作mysql教程

一、下载\安装\配置1. python3当前最新版本是python3.2,下载地址是http://www.python.org/ftp/python/3.2.3/python-3.2.3.msi安装过程就不用说了,默认安装到C:\Python32目录中。安装好后,将安装目录C:\Python32添加到环境变量中。然后打开命令提示符窗口,输入python,如果能返回python版本说明安装成功以及环...

weixin_28866303的博客 148

python3连接mysql_Python3连接MySQL

本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用。PyMySQL介绍PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。Django中也可以使用PyMySQL连接MySQL数据库。PyMySQL安装pip install pymysql连接数据库注意事项在进行本文以下内容之前需要注意:你有一个MySQ...

weixin_39646658的博客 110

mysql过程 设置 Python3_python3与mysql的安装及python3操作mysql教程

一、下载\安装\配置1. python3首先,我们需要下载Python3,当前最新版本是python3.2,下载地址是安装过程就不用说了,默认安装到C:\Python32目录中。安装好后,将安装目录C:\Python32添加到环境变量中。然后打开命令提示符窗口,输入python,如果能返回python版本说明安装成功以及环境变量设置成功。C:\>pythonPython3.2.3(def...

weixin_39640417的博客 173

Python3安装mysql模块

pip3 install mysql 1、错误1 原因:在 Python 3.x 版本后,ConfigParser.py 已经更名为 configparser.py 所以出错! 解决,将模块cp一份为ConfigParser.py 2、  find / -name mysql_config 没有 你需要安装yum install mysql-devel,然后在安装MySQL (pip...

daduryi的博客 927

as3 mysql_AS3连接MYSQL数据库

最近由于制作任务编辑器,需要连接到数据库中进行一些任务数据的操作,而我们存放任务数据的数据库中MYSQL,所以就找了一下AS3接连MYSQL数据库的资料。找到一个好东西:ActionScript 3 MySql Driver,用SVN的童鞋可以直接checkout:http://assql.googlecode.com/svn/trunk/为了使用简单,我做了一个简单的包装类(包含一个数据结构):...

weixin_35615591的博客 249

ubuntu下Hive3.1.3与MySQL8的配置与安装

hive的安装,mysql的安装,hive和mysql如何进行数据初始化

代码猫,全栈开发 2438

autit3 MYSQL应用

autit3 MYSQL应用 首先 需要MySQL.au3、libMySQLdll.au3、libmysql.dll三个文件 连接数据库: __MySQL_ExtractEmbeddedDLL() _MySQL_InitLibrary() $MysqlConn = _MySQL_Init() $connected = _MySQL_Real_Connect($MysqlConn, $IP,$...

Exsile的博客 414

d3 mysql,在d3可视化中访问MySQL数据库

I need some help with d3 and MySQL. Below is my question:I have data stored in MySQL (eg: keywords with their frequencies). I now want to visualize it using d3. As far as my knowledge of d3 goes, it r...

weixin_39720003的博客 164
上一篇: MySQL(2)
下一篇: MySQL(4)
StackNoOverflow
博客等级 码龄1年 22粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值