Python--PyMySQL补充及内容优化

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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
"""
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
并行计算 C语言 开发者
优化Python代码的五大技巧
Python作为一种流行的编程语言,在各种应用场景中广泛使用。然而,随着项目规模的增长和需求的变化,Python代码的性能和可维护性也成为了关键问题。本文将介绍优化Python代码的五大技巧,帮助开发者提升代码效率和质量。
|
5天前
|
存储 缓存 算法
优化Python代码性能的7个技巧
在日常的Python开发中,优化代码性能是一个重要的课题。本文介绍了7个实用的技巧,帮助开发者提高Python代码的执行效率,包括利用生成器表达式、使用适量的缓存、避免不必要的循环等。通过本文的指导,读者可以更好地理解Python代码性能优化的方法,提升自身的编程水平。
|
5天前
|
算法 Java 编译器
优化Python代码性能的实用技巧
提高Python代码性能是每个开发者的关注焦点之一。本文将介绍一些实用的技巧和方法,帮助开发者优化他们的Python代码,提升程序的执行效率和性能。
|
1天前
|
存储 数据挖掘 数据处理
【Python DataFrame 专栏】优化 DataFrame 性能:提升数据处理效率的秘诀
【5月更文挑战第19天】优化 Python DataFrame 性能的关键点包括:选择合适的数据类型以节省内存,避免重复计算,利用向量化操作,考虑使用 `iterrows` 或 `itertuples` 迭代,优化索引以及借助 `Cython` 或 `Numba` 加速代码执行。通过这些策略,能提升数据处理效率,应对大规模数据挑战。
【Python DataFrame 专栏】优化 DataFrame 性能:提升数据处理效率的秘诀
|
5天前
|
数据采集 数据可视化 数据挖掘
利用Python和Pandas库优化数据分析流程
在当今数据驱动的时代,数据分析已成为企业和个人决策的重要依据。Python作为一种强大且易于上手的编程语言,配合Pandas这一功能丰富的数据处理库,极大地简化了数据分析的流程。本文将探讨如何利用Python和Pandas库进行高效的数据清洗、转换、聚合以及可视化,从而优化数据分析的流程,提高数据分析的效率和准确性。
|
5天前
|
SQL 数据采集 数据挖掘
构建高效的Python数据处理流水线:使用Pandas和NumPy优化数据分析任务
在数据科学和分析领域,Python一直是最受欢迎的编程语言之一。本文将介绍如何通过使用Pandas和NumPy库构建高效的数据处理流水线,从而加速数据分析任务的执行。我们将讨论如何优化数据加载、清洗、转换和分析的过程,以及如何利用这些库中的强大功能来提高代码的性能和可维护性。
|
5天前
|
缓存 数据库连接 数据库
构建高性能的Python Web应用:优化技巧与最佳实践
本文探讨了如何通过优化技巧和最佳实践来构建高性能的Python Web应用。从代码优化到服务器配置,我们将深入研究提高Python Web应用性能的各个方面。通过本文,读者将了解到一系列提高Python Web应用性能的方法,从而更好地应对高并发和大流量的挑战。
|
5天前
|
缓存 并行计算 Serverless
优化Python代码性能的5个技巧
在日常Python编程中,代码性能的优化是一个重要的议题。本文介绍了5个实用的技巧,帮助你提高Python代码的执行效率,包括使用适当的数据结构、优化循环结构、利用内置函数、使用生成器表达式以及并行化处理。通过这些技巧,你可以更高效地编写Python代码,提升程序的性能和响应速度。
|
5天前
|
机器学习/深度学习 数据采集 数据可视化
Python众筹项目结果预测:优化后的随机森林分类器可视化|数据代码分享
Python众筹项目结果预测:优化后的随机森林分类器可视化|数据代码分享
|
5天前
|
机器学习/深度学习 算法 算法框架/工具
【Python机器学习专栏】深度学习中的正则化与优化技术
【4月更文挑战第30天】本文探讨了深度学习中的正则化和优化技术,以提升模型的泛化能力和训练效率。正则化包括L1和L2正则化以及Dropout,防止过拟合。优化技术涵盖梯度下降法、动量法和Adam优化器,加速模型收敛。Python示例展示了如何在Keras中应用这些技术,如L2正则化、Dropout及Adam优化器。