MST
星途 面试题库

面试题:Python中如何使用`pymysql`库处理MySQL数据库简单事务

假设你已经安装好了`pymysql`库,现有一个MySQL数据库表`users`,包含字段`id`(自增主键)、`name`(字符串)、`age`(整数)。请编写Python代码,使用`pymysql`库向该表中插入两条数据,并将这两条插入操作放在一个事务中,若其中任何一条插入失败,则整个事务回滚。
43.3万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import pymysql

try:
    # 连接数据库
    connection = pymysql.connect(
        host='localhost',
        user='your_username',
        password='your_password',
        database='your_database',
        charset='utf8mb4'
    )

    with connection.cursor() as cursor:
        # 插入数据的SQL语句
        sql = "INSERT INTO users (name, age) VALUES (%s, %s)"
        data = [
            ('Alice', 25),
            ('Bob', 30)
        ]

        try:
            # 开始事务
            connection.start_transaction()
            for item in data:
                cursor.execute(sql, item)
            # 提交事务
            connection.commit()
        except Exception as e:
            # 回滚事务
            connection.rollback()
            print(f"插入数据失败,原因: {e}")
finally:
    # 关闭连接
    connection.close()