Python操作MySQL数据库及其代码示例_python连接mysql并创建表

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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

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

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

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

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值