python操作mysql

在这里插入图片描述

7.where条件查询

where条件查询的介绍

在这里插入图片描述

比较运算符查询

在这里插入图片描述

逻辑运算符查询

在这里插入图片描述

模糊查询

在这里插入图片描述

范围查询

在这里插入图片描述

空判断查询

在这里插入图片描述

小结

在这里插入图片描述

8.排序

排序查询语法

在这里插入图片描述

小结

在这里插入图片描述

9.分页查询

分页查询的介绍

当我们在京东购物,浏览商品列表的时候,由于数据特别多,一页显示不完,一页一页的进行显示,这就是分页查询

分页查询的语法

在这里插入图片描述

分页查询案例

在这里插入图片描述

小结

在这里插入图片描述

二、MySQL数据库的条件查询


1.聚合函数

聚合函数的介绍

在这里插入图片描述

求总行数

在这里插入图片描述

求最大值

在这里插入图片描述

求最小值

在这里插入图片描述

求和

在这里插入图片描述

求平均值

在这里插入图片描述

聚合函数的特点

聚合函数默认忽略字段为null的记录 要想列值为null的记录也参与计算,必须使用ifnull函数对null值做替换。

小结

在这里插入图片描述

2.分组查询

分组查询介绍

在这里插入图片描述

group by的使用

在这里插入图片描述

group by + group_concat()的使用

在这里插入图片描述

group by + 聚合函数的使用

在这里插入图片描述

group by + having的使用

在这里插入图片描述

group by + with rollup的使用

在这里插入图片描述

小结

在这里插入图片描述

3.连接查询-内连接

连接查询的介绍

在这里插入图片描述

内连接查询

在这里插入图片描述

小结

在这里插入图片描述

4.连接查询-左连接

左连接查询

在这里插入图片描述

小结

在这里插入图片描述

5.连接查询-右连接

右连接查询

在这里插入图片描述

小结

在这里插入图片描述

6.连接查询-自连接

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

select c.id, c.title, c.pid, p.title from areas as c inner join areas as p on c.pid = p.id where p.title = ‘山西省’;

在这里插入图片描述

7.子查询

子查询的介绍

在这里插入图片描述

子查询的使用

在这里插入图片描述

小结

子查询是一个完整的SQL语句,子查询被嵌入到一对小括号里面

8.数据库设计之三范式

数据库设计之三范式的介绍

在这里插入图片描述

第一范式的介绍

在这里插入图片描述

第二范式的介绍

在这里插入图片描述

第三范式的介绍

在这里插入图片描述

E-R模型的介绍

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

小结

在这里插入图片描述

9.外键SQL语句的编写

外键约束作用

外键约束:对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证,数据如果不合法则更新和插入会失败,保证数据的有效性

对于已经存在的字段添加外键约束

在这里插入图片描述

在创建数据表时设置外键约束

在这里插入图片描述

删除外键约束

在这里插入图片描述

小结

在这里插入图片描述

10.演练-分组和聚合函数的组合使用

数据准备

– 创建 “京东” 数据库

create database jing_dong charset=utf8;

– 使用 “京东” 数据库

use jing_dong;

– 创建一个商品goods数据表

create table goods(

id int unsigned primary key auto_increment not null,

name varchar(150) not null,

cate_name varchar(40) not null,

brand_name varchar(40) not null,

price decimal(10,3) not null default 0,

is_show bit not null default 1,

is_saleoff bit not null default 0

);

– 向goods表中插入数据

insert into goods values(0,‘r510vc 15.6英寸笔记本’,‘笔记本’,‘华硕’,‘3399’,default,default);

insert into goods values(0,‘y400n 14.0英寸笔记本电脑’,‘笔记本’,‘联想’,‘4999’,default,default);

insert into goods values(0,‘g150th 15.6英寸游戏本’,‘游戏本’,‘雷神’,‘8499’,default,default);

insert into goods values(0,‘x550cc 15.6英寸笔记本’,‘笔记本’,‘华硕’,‘2799’,default,default);

insert into goods values(0,‘x240 超极本’,‘超级本’,‘联想’,‘4880’,default,default);

insert into goods values(0,‘u330p 13.3英寸超极本’,‘超级本’,‘联想’,‘4299’,default,default);

insert into goods values(0,‘svp13226scb 触控超极本’,‘超级本’,‘索尼’,‘7999’,default,default);

insert into goods values(0,‘ipad mini 7.9英寸平板电脑’,‘平板电脑’,‘苹果’,‘1998’,default,default);

insert into goods values(0,‘ipad air 9.7英寸平板电脑’,‘平板电脑’,‘苹果’,‘3388’,default,default);

insert into goods values(0,‘ipad mini 配备 retina 显示屏’,‘平板电脑’,‘苹果’,‘2788’,default,default);

insert into goods values(0,'ideacentre c340 20英寸一体电脑 ',‘台式机’,‘联想’,‘3499’,default,default);

insert into goods values(0,‘vostro 3800-r1206 台式电脑’,‘台式机’,‘戴尔’,‘2899’,default,default);

insert into goods values(0,‘imac me086ch/a 21.5英寸一体电脑’,‘台式机’,‘苹果’,‘9188’,default,default);

insert into goods values(0,‘at7-7414lp 台式电脑 linux )’,‘台式机’,‘宏碁’,‘3699’,default,default);

insert into goods values(0,‘z220sff f4f06pa工作站’,‘服务器/工作站’,‘惠普’,‘4288’,default,default);

insert into goods values(0,‘poweredge ii服务器’,‘服务器/工作站’,‘戴尔’,‘5388’,default,default);

insert into goods values(0,‘mac pro专业级台式电脑’,‘服务器/工作站’,‘苹果’,‘28888’,default,default);

insert into goods values(0,‘hmz-t3w 头戴显示设备’,‘笔记本配件’,‘索尼’,‘6999’,default,default);

insert into goods values(0,‘商务双肩背包’,‘笔记本配件’,‘索尼’,‘99’,default,default);

insert into goods values(0,‘x3250 m4机架式服务器’,‘服务器/工作站’,‘ibm’,‘6888’,default,default);

insert into goods values(0,‘商务双肩背包’,‘笔记本配件’,‘索尼’,‘99’,default,default);

在这里插入图片描述

SQL语句演练

在这里插入图片描述

在这里插入图片描述

三、MySQL数据库的高级使用


1.将查询结果插入到其它表中

思考

在这里插入图片描述

创建商品分类表

在这里插入图片描述

把goods表中的商品分类添加到商品分类表

在这里插入图片描述

小结

想要完成表复制可以使用: insert into … select … SQL语句

2.使用连接更新表中某个字段数据

更新goods表中的商品分类信息

在这里插入图片描述

小结

连接更新表中数据使用: update … join … 语句

3.创建表并给某个字段添加数据

思考

在这里插入图片描述

创建品牌表

在这里插入图片描述

更新goods表中的品牌信息

在这里插入图片描述

小结

创建表并给字段插入数据使用: create table … select 语句

4.修改goods表结构

在这里插入图片描述

5.事务

事务的介绍

在这里插入图片描述

事务的四大特性

在这里插入图片描述

事务的使用

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

事务演练的SQL语句:

begin;

insert into students(name) values(‘李白’);

– 查询数据,此时有新增的数据, 注意: 如果这里后续没有执行提交事务操作,那么数据是没有真正的更新到物理表中

select * from students;

– 只有这里提交事务,才把数据真正插入到物理表中

commit;

– 新打开一个终端,重新连接MySQL数据库,查询students表,这时没有显示新增的数据,说明之前的事务没有提交,这就是事务的隔离性

– 一个事务所做的修改操作在提交事务之前,对于其他事务来说是不可见的

select * from students;

小结

在这里插入图片描述

6.索引

索引的介绍

在这里插入图片描述

索引的使用

在这里插入图片描述

在这里插入图片描述

案例-验证索引查询性能

在这里插入图片描述

from pymysql import connect

def main():

创建Connection连接

conn = connect(host=‘localhost’,port=3306,database=‘python’,user=‘root’,password=‘mysql’,charset=‘utf8’)

获得Cursor对象

cursor = conn.cursor()

插入10万次数据

for i in range(100000):

cursor.execute(“insert into test_index values(‘ha-%d’)” % i)

提交数据

conn.commit()

if name == “main”:

main()

在这里插入图片描述

联合索引

在这里插入图片描述

联合索引的最左原则

在这里插入图片描述

MySQL中索引的优点和缺点和使用原则

在这里插入图片描述

小结

在这里插入图片描述

7.PyMySQL的使用

思考

在这里插入图片描述

Python程序操作MySQL数据库

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

pymysql完成数据的查询操作

import pymysql

创建连接对象

conn = pymysql.connect(host=‘localhost’, port=3306, user=‘root’, password=‘mysql’,database=‘python’, charset=‘utf8’)

获取游标对象

cursor = conn.cursor()

查询 SQL 语句

sql = “select * from students;”

执行 SQL 语句 返回值就是 SQL 语句在执行过程中影响的行数

row_count = cursor.execute(sql)

print(“SQL 语句执行影响的行数%d” % row_count)

取出结果集中一行数据, 例如:(1, ‘张三’)

print(cursor.fetchone())

取出结果集中的所有数据, 例如:((1, ‘张三’), (2, ‘李四’), (3, ‘王五’))

for line in cursor.fetchall():

print(line)

关闭游标

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

查询 SQL 语句

sql = “select * from students;”

执行 SQL 语句 返回值就是 SQL 语句在执行过程中影响的行数

row_count = cursor.execute(sql)

print(“SQL 语句执行影响的行数%d” % row_count)

取出结果集中一行数据, 例如:(1, ‘张三’)

print(cursor.fetchone())

取出结果集中的所有数据, 例如:((1, ‘张三’), (2, ‘李四’), (3, ‘王五’))

for line in cursor.fetchall():

print(line)

关闭游标

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-76voXteO-1715876424728)]

[外链图片转存中…(img-KqWyOVS6-1715876424729)]

[外链图片转存中…(img-hIuqaRHe-1715876424729)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python可以使用多种库来操作MySQL数据库,其中包括PyMySQLmysqlclient。PyMySQL是一个纯Python编写的库,安装非常简单,而mysqlclient是底层使用C编写的库,安装可能会有一些问题。\[3\]你可以根据自己的需求选择其中之一进行安装和使用。 在使用PyMySQL库时,你可以使用%s作为参数占位符来执行SQL操作,这与Python自带的sqlite3模块的占位符问号(?)有所不同。如果需要更详细的文档,你可以参考PyMySQL的官方文档。\[2\] 如果你想了解更多关于Python操作MySQL的知识,可以参考一些专门的章节或教程,这些资源会更详细地介绍如何使用Python来进行MySQL数据库操作。\[1\]希望这些信息对你有所帮助! #### 引用[.reference_title] - *1* [Python操作MySQL](https://blog.csdn.net/sanylove/article/details/124166373)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [太全了——用Python操作MySQL的使用教程集锦](https://blog.csdn.net/m0_59485658/article/details/126364328)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Python操作MySql](https://blog.csdn.net/PAN_BING/article/details/120812542)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值