Python--PyMySQL补充及内容优化

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Python--PyMySQL补充及内容优化

下载

pip3 install PyMySQL

前言

在此之前,请确保电脑中下载了MySQL数据库,并连接上了库。数据库中的表以及字段名那就随意了。如下:

连接配置

# 数据库连接,主机host、端口port、用户名user、密码passwd、数据库表database
con = pymysql.connect(host='localhost', port=3306, user='root', passwd='An',
                      database='an')#如果汉字显示不出来就加入charset=‘utf-8'

小例子

import pymysql
# 数据库连接,主机host、端口port、用户名user、密码passwd、数据库表database
con = pymysql.connect(host='localhost', port=3306, user='root', passwd='jiang',
                      database='an')#如果汉字显示不出来就加入charset=‘utf-8'
# h获取一个游标对象
cursor = con.cursor()
# 执行一条SQL语句
cursor.execute("select version()")
# 获取一行数据
data = cursor.fetchone()
print(data)
# 关闭数据库连接,记得关闭游标,后续可以不写
con.close()
"""
('5.7.26-log',)
"""

生成游标是必须的,不然无法进行接下面的操作。

写入并查询数据

import pymysql
# 数据库连接,主机host、端口port、用户名user、密码passwd、数据库表database
con = pymysql.connect(host='localhost', port=3306, user='root', passwd='jiang',
                      database='an')#如果汉字显示不出来就加入charset=‘utf-8'
# h获取一个游标对象
cursor = con.cursor()
# 执行一条插入SQL语句
sql = 'INSERT INTO login_user(username,password) VALUE ("anan",123456); '
cursor.execute(sql)
# 执行一条查询语句
sql1 = "select * from login_user;"
cursor.execute(sql1)
# 获取一行数据
data = cursor.fetchall()
print(data)
# 关闭数据库连接
con.close()
"""
(('admin', '123456'), ('qingan', '123456'), ('anan', '123456'))
"""

上述中的sql以及sql1其实就是数据库中的sql语句。 如数据被覆盖请跳至提交数据标题。

一次写入多条语句

sql = "INSERT INTO login_user(username,password) VALUES (%s,%s);"
list_name = [('QA',123456),('shier',123456),('ershi',123456)]
cur.executemany(sql,list_name)

获取数据

# 获取查询结果,获取一条数据
data=cur.fetchone()
# 获取查询结果,获取全部数据,如果已经使用fetchone取了第一条的数据,游标会自动向下取值
data_ = cur.fetchall()
# 下标获取查询结果,获取第一条数据,可以更改数字来获取值
data_1=cur.fetchmany(1)

在上述小例子中有用到此类的数据查询。

提交数据

import pymysql
# 数据库连接,主机host、端口port、用户名user、密码passwd、数据库表database
con = pymysql.connect(host='localhost', port=3306, user='root', passwd='jiang',
                      database='an')#如果汉字显示不出来就加入charset=‘utf-8'
# h获取一个游标对象
cursor = con.cursor()
# 执行一条SQL语句
sql = 'INSERT INTO login_user(username,password) VALUE ("anan",123456); '
cursor.execute(sql)
# 提交数据库
con.commit()
sql = "select * from login_user;"
cursor.execute(sql)
# 获取一行数据
data = cursor.fetchall()
print(data)
# 关闭数据库连接
con.close()

在上述过程中,提交数据后前面的数据会被覆盖掉,原因就是没有提交到数据库。

回滚

import pymysql
# 数据库连接,主机host、端口port、用户名user、密码passwd、数据库表database
con = pymysql.connect(host='localhost', port=3306, user='root', passwd='jiang',
                      database='an')#如果汉字显示不出来就加入charset=‘utf-8'
# h获取一个游标对象
cursor = con.cursor()
# 执行一条SQL语句
sql = 'INSERT INTO login_user(username,password) VALUE ("anan",123456); '
try:
 cursor.execute(sql)
 # 提交数据库
 con.commit()
except:
 # 发生错误时回滚
 con.rollback()
# 关闭数据库连接
con.close()

with

import pymysql
con = pymysql.connect(host='localhost', port=3306, user='root', passwd='jiang',
                      database='an')
with con:
    cur = con.cursor()
    cur.execute("select *from login_user;")
    data = cur.fetchall()
    print(data)

使用with语法python会自动释放资源

字典游标

import pymysql
import pymysql.cursors
con = pymysql.connect(host='localhost', port=3306, user='root', passwd='jiang',
                      database='an',cursorclass=pymysql.cursors.DictCursor)
with con:
    cur = con.cursor()
    cur.execute("select *from login_user;")
    data = cur.fetchall()
    for da in data:
        print(da['username'],da['password'])
"""
admin 123456
qingan 123456
shier 123456
anan 123456
"""
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品加工优化的深度学习模型
使用Python实现智能食品加工优化的深度学习模型
246 59
|
4月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
226 5
|
22天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
1月前
|
存储 数据挖掘 数据处理
Python Pandas入门:行与列快速上手与优化技巧
Pandas是Python中强大的数据分析库,广泛应用于数据科学和数据分析领域。本文为初学者介绍Pandas的基本操作,包括安装、创建DataFrame、行与列的操作及优化技巧。通过实例讲解如何选择、添加、删除行与列,并提供链式操作、向量化处理、索引优化等高效使用Pandas的建议,帮助用户在实际工作中更便捷地处理数据。
45 2
|
3月前
|
数据采集 存储 算法
Python 中的数据结构和算法优化策略
Python中的数据结构和算法如何进行优化?
|
4月前
|
机器学习/深度学习 数据采集 TensorFlow
智能市场营销策略优化:使用Python实现深度学习模型
【10月更文挑战第1天】 智能市场营销策略优化:使用Python实现深度学习模型
225 63
|
2月前
|
缓存 大数据 C语言
python优化
python优化
50 5
|
3月前
|
机器学习/深度学习 数据采集 运维
使用 Python 实现深度学习模型:智能食品生产线优化
使用 Python 实现深度学习模型:智能食品生产线优化
80 13
|
3月前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
111 8
|
3月前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品供应链优化的深度学习模型
使用Python实现智能食品供应链优化的深度学习模型
69 8

热门文章

最新文章