Python操作MySQL数据库完整指南:增删改查与事务处理
Python操作MySQL数据库完整指南:增删改查与事务处理
想要用Python操作MySQL数据库?这篇文章为你提供了一份详尽指南,涵盖了从数据库连接、数据表创建到增删改查以及事务处理的各个方面。
1. 环境准备
在开始之前,请确保你已经安装了以下内容:
- MySQL数据库: 你需要在你的系统上安装并运行MySQL数据库服务器。* mysql-connector-python: 这是Python连接MySQL数据库的驱动程序。你可以使用pip安装:bashpip install mysql-connector-python
2. 连接数据库
首先,你需要使用mysql.connector.connect()函数建立与MySQL数据库的连接:pythonimport mysql.connector
mydb = mysql.connector.connect( host='localhost', user='yourusername', password='yourpassword', database='testdb')
请将以下内容替换为你的实际信息:
yourusername: 你的MySQL用户名*yourpassword: 你的MySQL密码*testdb: 你要操作的数据库名称
3. 创建数据表
成功连接数据库后,你可以使用cursor()方法创建一个游标对象,然后执行SQL语句来创建数据表:pythonmycursor = mydb.cursor()mycursor.execute('CREATE TABLE trade (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), amount INT)')
这段代码将创建一个名为trade的数据表,包含以下字段:
id: 自增主键*name: 商品名称 (字符串类型)*amount: 商品数量 (整数类型)
4. 数据操作
4.1 插入数据
使用INSERT INTO语句插入数据到数据表:pythonsql = 'INSERT INTO trade (name, amount) VALUES (%s, %s)'val = ('Apple', 10)mycursor.execute(sql, val)mydb.commit()print(mycursor.rowcount, 'record inserted.')
- 使用占位符
%s可以防止SQL注入攻击。*mydb.commit()方法用于提交更改到数据库。
4.2 修改数据
使用UPDATE语句修改数据表中的数据:pythonsql = 'UPDATE trade SET amount = %s WHERE name = %s'val = (20, 'Apple')mycursor.execute(sql, val)mydb.commit()print(mycursor.rowcount, 'record(s) updated.')
4.3 删除数据
使用DELETE FROM语句从数据表中删除数据:pythonsql = 'DELETE FROM trade WHERE name = %s'val = ('Apple',)mycursor.execute(sql, val)mydb.commit()print(mycursor.rowcount, 'record(s) deleted.')
4.4 查询数据
使用SELECT语句查询数据表中的数据:pythonmycursor.execute('SELECT * FROM trade')result = mycursor.fetchall()for row in result: print(row)
fetchall()方法获取所有查询结果。* 你可以使用fetchone()方法获取单条记录。
5. 事务处理
事务可以确保多个SQL语句作为一个单元执行成功或失败。pythontry: mydb.start_transaction()
sql1 = 'INSERT INTO trade (name, amount) VALUES (%s, %s)' val1 = ('Apple', 10) mycursor.execute(sql1, val1)
sql2 = 'INSERT INTO trade (name, amount) VALUES (%s, %s)' val2 = ('Banana', 20) mycursor.execute(sql2, val2)
mydb.commit() print('Transaction committed.')except: mydb.rollback() print('Transaction rolled back.')
mydb.start_transaction()方法开启事务。*mydb.commit()方法提交事务。*mydb.rollback()方法回滚事务。
6. 关闭连接
最后,记得关闭数据库连接:pythonmydb.close()
总结
这篇文章提供了一个使用Python操作MySQL数据库的全面指南。通过学习这些基础知识和代码示例,你可以开始构建自己的Python数据库应用程序了。
原文地址: https://www.cveoy.top/t/topic/f4po 著作权归作者所有。请勿转载和采集!