python连接数据库,相关数据处理

随机生成一千个数据插入large_db中

# 这是一个示例 Python 脚本。# 按 Shift+F10 执行或将其替换为您的代码。
# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。
import pandas as pd
from sqlalchemy import create_engine
from faker import Faker# 初始化faker对象
faker = Faker()
data = []# 生成虚拟数据
for _ in range(1000):data.append([faker.name(), faker.address(), faker.email()])df = pd.DataFrame(data, columns=['name', 'address', 'email'])# 创建数据库引擎
engine = create_engine("mysql+pymysql://root:123456@localhost/large_db")# 将DataFrame写入MySQL数据库中的'users'表
df.to_sql('users', con=engine, if_exists='append', index=False, chunksize=100)
# 访问 https://www.jetbrains.com/help/pycharm/ 获取 PyCharm 帮助

优化查询

分页查询:

USE large_db;
SET @start_time=Now0;
SELECT SOL_NO_CACHE *FROM users  Limit 100 OFFSET 1000;
SET @end_time=Nowd;
SELECT TIMEDIFF(@end_time,@start_time)AS query_duration;

索引查询:

CREATE INDEX idx_ name ON user(name);
CREATE INDEX idx_email ON users(email);
SET @start_time=Now();
SEIELCT SOL_NO_CACHE*FROM users WHERE name=“John Doe”;
SET @end_time=Now();
SELECT TIMEDIFF(@end_time,@start_time)AS query_duration;

在pycharm中版本查询:

import pymysql# 连接MySQL数据库
connection = pymysql.connect(host='localhost',user='your_username',    # 替换为你的MySQL用户名password='your_password',  # 替换为你的MySQL密码db='your_database',      # 替换为你的数据库名称charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor
)try:with connection.cursor() as cursor:# 执行SQL查询sql = "SELECT VERSION()"cursor.execute(sql)result = cursor.fetchone()print("Database version:", result['VERSION()'])finally:connection.close()

单字段查询:

import pymysql# 连接MySQL数据库
connection = pymysql.connect(host='localhost',user='your_username',    # 替换为你的MySQL用户名password='your_password',  # 替换为你的MySQL密码db='your_database',      # 替换为你的数据库名称charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor
)try:with connection.cursor() as cursor:# 执行SQL查询sql = "SELECT * FROM users WHERE name = %s"cursor.execute(sql, ('John Doe',))result = cursor.fetchall()for row in result:print(row)finally:connection.close()

插入数据:

import pymysql# 连接MySQL数据库
connection = pymysql.connect(host='localhost',user='your_username',    # 替换为你的MySQL用户名password='your_password',  # 替换为你的MySQL密码db='your_database',      # 替换为你的数据库名称charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor
)try:with connection.cursor() as cursor:# 执行SQL插入sql = "INSERT INTO users (name, address, email) VALUES (%s, %s, %s)"cursor.execute(sql, ('John Doe', '123 Main St', 'john.doe@example.com'))# 提交事务connection.commit()finally:connection.close()

数据更新:

import pymysql# 连接MySQL数据库
connection = pymysql.connect(host='localhost',user='your_username',    # 替换为你的MySQL用户名password='your_password',  # 替换为你的MySQL密码db='your_database',      # 替换为你的数据库名称charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor
)try:with connection.cursor() as cursor:# 执行SQL更新sql = "UPDATE users SET address = %s WHERE name = %s"cursor.execute(sql, ('456 Oak St', 'John Doe'))# 提交事务connection.commit()finally:connection.close()

删除数据:

import pymysql# 连接MySQL数据库
connection = pymysql.connect(host='localhost',user='your_username',    # 替换为你的MySQL用户名password='your_password',  # 替换为你的MySQL密码db='your_database',      # 替换为你的数据库名称charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor
)try:with connection.cursor() as cursor:# 执行SQL删除sql = "DELETE FROM users WHERE name = %s"cursor.execute(sql, ('John Doe',))# 提交事务connection.commit()finally:connection.close()

单字段查询:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/29514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AWS无服务器 应用程序开发—第十六章 CI/CD CodeBuild

在 AWS CodeBuild 中进行单元测试需要配置构建规范文件 (buildspec.yml),该文件定义了 CodeBuild 在构建过程中需要执行的步骤。以下是如何使用 CodeBuild 进行单元测试的具体步骤: 准备项目结构 首先,确保你的项目具有适当的目录结构和测试文件。以下是一个示例项目结构:…

加密excel(Python)

文章目录 一、EXCEL加密 一、EXCEL加密 import randomfrom win32com.client import Dispatchdef random_password(length20):默认返回20位随机密码key ""characters "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"for i in range(l…

Airflow 中的trigger_rule

最近正在使用airflow,用到了这个,记录下 在 Apache Airflow 中,trigger_rule 是用于控制任务何时被触发的规则。TriggerRule 是一个枚举类型,它包含了多种不同的触发规则。以下是这些规则及其用途的详细说明: ALL_SUC…

【价值主张画布】以产品思维,将自己打造成“爆款”

经营自己等于经营公司: 1.客户细分:我能帮助谁?谁是我们最重要的客户? 2. 客户关系:怎样和对方打交道?一次交付还是持续交付? 3.渠道通路:怎样宣传自己和服务? 4. 价值主…

Jmeter 性能测试步骤是什么?

性能测试是软件开发过程中非常重要的一环。它可以帮助我们评估软件系统在不同负载下的性能表现,找出系统中的性能瓶颈,并提供改进方案。而JMeter作为一款功能强大且广泛使用的性能测试工具,可以帮助我们实现这一目标。 下面,我将…

银河麒麟4.0.2安装带有opengl的Qt5.12.9

银河麒麟4.0.2下载地址:银河麒麟-银河麒麟(云桌面系统)-银河麒麟最新版下载v4.0.2-92下载站 VirtualBox:https://www.virtualbox.org/wiki/Downloads qt下载:Index of /archive/qt/5.12/5.12.9 1安装VirtualBox:网上教材比较多 1)安装完后安…

方法论:SWOT、SMART

解决方案分析方法论SWOT 什么是SWOT:例子中间件RabbitMQ和RocketMQ队列选择对比S(strengths)优势:RabbitMQ团队多人用过,AMQP跨语言、模型API丰富W(weaknesses)劣势:RabbitMQ阅读过…

GooglePlay | 发布APK步骤

将生成好的 APK 包上传到 Google Play 商店涉及几个步骤。以下是详细指南: 1. 创建 Google Play 开发者账户 如果你还没有 Google Play 开发者账户,需要先创建一个: 访问 Google Play Developer Console.注册并支付一次性注册费&#xff0…

SAP ABAP开发过程中内表的概念及操作详解之三

八. 汇总表字段 汇总表字段(Summarizing Table Fields)是在ABAP编程中对内部表的数据进行汇总和计算的过程。这通常涉及到对数值字段进行求和、计数、平均值等计算。以下是汇总表字段的详细说明: 1. 使用COLLECT语句: COLLECT语…

干货 | 使用 Navicat BI 解锁数据的力量

商业智能(BI)是一种将数据转化为可执行洞察的实践,能够帮助业务领导者提升整体业绩。这个过程中最重要的一个阶段是数据探索和可视化阶段,它涉及通过报告将数据组织并转化为有意义的信息。为了让数据更易于理解,BI 专业…

第十一站:Java翡翠绿——大数据处理的力量

在Java大数据处理领域,Hadoop和Spark是两个至关重要的框架,它们充分展示了Java在处理大规模数据集方面的实力。下面我将通过简化的范例来讲解这两个框架的基本使用。 Hadoop MapReduce 示例 Hadoop MapReduce 是一种编程模型,用于处理和生成…

opencv 打开图片后,cv::mat存入共享内存的代码,以及如何设置共享内存的大小?图片的3840x2160 pixels

opencv 打开图片后,cv::mat存入共享内存的代码,以及如何设置共享内存的大小?图片的3840x2160 pixels。 在OpenCV中,将cv::Mat对象存入共享内存需要几个步骤。首先,你需要创建一个共享内存区域,然后将cv::Ma…

DashText-进阶使用

前置知识 BM25简介 BM25算法(Best Matching 25)是一种广泛用于信息检索领域的排名函数,用于在给定查询(Query)时对一组文档(Document)进行评分和排序。BM25在计算Query和Document之间的相似度…

好文!12个策略解决 Kafka 数据丢失问题

哥们儿!有遇到Kafka数据丢失问题的问题吗,你是如何解决的?今天的文章,V哥来详细解释一下,整理了12种解决策略,希望可以帮助你解决项目中的问题:以下是一些常见的解决方案和最佳实践。 生产者确认…

四川赤橙宏海商务信息咨询有限公司正规吗?

在数字化浪潮席卷全球的今天,电商行业正以前所未有的速度蓬勃发展。作为这一潮流的佼佼者,抖音电商以其独特的短视频直播模式,吸引了大量消费者和商家的目光。在这一背景下,四川赤橙宏海商务信息咨询有限公司应运而生,…

2Y0A21 GP2Y0A21YK0F 红外测距传感器 arduino使用教程

三根线 正极负极信号线 确认自己的三根线分别代表什么,我们的颜色可能不一样 附一张我买的传感器他们的说明图 正极 接 开发板5V 负极 接开发板GND 信号线 接A0 代码arduino ide上面写 // Infračerven senzor vzdlenosti Sharp 2Y0A21// připojen potře…

2024最新AI大模型-LLm八股合集(三)

常见的大模型 1.ChatGLM 1.1 背景 主流的预训练框架主要有三种: autoregressive自回归模型(AR模型) :代表作GPT。本质上是一个left-to-right的语言模型。 通常用于生成式任务 ,在长文本生成方面取得了巨大的成功…

【x264】整体框架汇总

【x264】整体框架汇总 1. x264整体框架图2. 思考 参考: x264源代码简单分析:概述 参数分析: 【x264】x264编码器参数配置 流程分析: 【x264】x264编码主流程简单分析 【x264】编码核心函数(x264_encoder_encode&…

空气流量和空气压力参数解耦系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 空气流量和空气压力参数解耦系统simulink建模与仿真,在许多系统中,空气流量(Q)和压力(P)之间存在耦合关…

SpringBoot + thymeleaf 修改文件,刷新页面不能实时展示修改后的内容问题解决

修改页面后文件后,刷新页面,内容不变,是因为项目没有编译,没有将新的页面文件编译,以下方法可以完美解决次问题 具体内容请查看:http://www.haozgx.top/blog/article/2