Python操作MySQL数据库主要依赖于Python的数据库API,以及特定的数据库驱动模块,如MySQLdb
(针对Python 2.x)和PyMySQL
(针对Python 3.x)。以下是如何使用Python操作MySQL数据库的详细介绍,包括安装驱动、连接数据库、执行SQL语句、事务处理和错误处理等。
安装MySQL驱动
对于Python 3.x,可以使用PyMySQL
模块。安装方法如下:
pip3 install PyMySQL
如果系统不支持pip
命令,可以使用源代码安装:
git clone https://github.com/PyMySQL/PyMySQL
cd PyMySQL
python3 setup.py install
连接数据库
使用PyMySQL
连接MySQL数据库的代码示例如下:
import pymysql
# 连接数据库
db = pymysql.connect(host='localhost', user='testuser', password='test123', database='TESTDB')
cursor = db.cursor()
执行SQL语句
创建数据库表
# 创建表EMPLOYEE
cursor.execute("""
CREATE TABLE IF NOT EXISTS EMPLOYEE (
FIRST\_NAME CHAR(20) NOT NULL,
LAST\_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT
)
""")
db.commit()
插入数据
# 向EMPLOYEE表插入数据
try:
cursor.execute("INSERT INTO EMPLOYEE (FIRST\_NAME, LAST\_NAME, AGE, SEX, INCOME) VALUES (%s, %s, %s, %s, %s)", ('John', 'Doe', 30, 'M', 4000))
db.commit()
except Exception as e:
db.rollback()
print("Error:", e)
查询数据
# 查询EMPLOYEE表
try:
cursor.execute("SELECT \* FROM EMPLOYEE WHERE INCOME > %s", (3000,))
results = cursor.fetchall()
for row in results:
print(row)
except Exception as e:
print("Error:", e)
更新数据
# 更新EMPLOYEE表中的数据
try:
cursor.execute("UPDATE EMPLOYEE SET INCOME = INCOME + 100 WHERE LAST\_NAME = %s", ('Doe',))
db.commit()
except Exception as e:
db.rollback()
print("Error:", e)
删除数据
# 从EMPLOYEE表中删除数据
try:
cursor.execute("DELETE FROM EMPLOYEE WHERE AGE > %s", (50,))
db.commit()
except Exception as e:
db.rollback()
print("Error:", e)
事务处理
在执行多个SQL语句时,确保数据的一致性和完整性,可以使用事务:
# 开始事务
db.autocommit(False)
try:
# 执行多个SQL语句
cursor.execute("UPDATE EMPLOYEE SET INCOME = INCOME - 100 WHERE LAST\_NAME = %s", ('Doe',))
cursor.execute("INSERT INTO EMPLOYEE (FIRST\_NAME, LAST\_NAME, AGE, SEX, INCOME) VALUES (%s, %s, %s, %s, %s)", ('Jane', 'Doe', 28, 'F', 3500))
# 提交事务
db.commit()
except Exception as e:
# 回滚事务
db.rollback()
print("Error:", e)
错误处理
在操作数据库时,可能会遇到各种错误和异常。可以通过try-except
语句来捕获并处理这些异常:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)
