Python MySQL 数据库操作示例:CRUD 和 事务处理
以下是使用 Python 语言编写的可运行代码,实现对 MySQL 数据库的操作,包括创建数据表、增加数据、删除数据、修改数据、查询数据以及事务处理的功能:
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='testdb')
cursor = conn.cursor()
# 创建数据表
create_table_query = '''
CREATE TABLE IF NOT EXISTS trade (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
price FLOAT,
quantity INT
)
'''
cursor.execute(create_table_query)
conn.commit()
# 增加数据
def add_trade(name, price, quantity):
add_trade_query = '''
INSERT INTO trade (name, price, quantity) VALUES (%s, %s, %s)
'''
cursor.execute(add_trade_query, (name, price, quantity))
conn.commit()
# 删除数据
def delete_trade(trade_id):
delete_trade_query = '''
DELETE FROM trade WHERE id = %s
'''
cursor.execute(delete_trade_query, (trade_id,))
conn.commit()
# 修改数据
def update_trade(trade_id, name, price, quantity):
update_trade_query = '''
UPDATE trade SET name = %s, price = %s, quantity = %s WHERE id = %s
'''
cursor.execute(update_trade_query, (name, price, quantity, trade_id))
conn.commit()
# 查询数据
def get_trade(trade_id):
get_trade_query = '''
SELECT * FROM trade WHERE id = %s
'''
cursor.execute(get_trade_query, (trade_id,))
trade = cursor.fetchone()
return trade
# 事务处理
def perform_transaction():
try:
# 开启事务
conn.begin()
# 执行多个SQL语句
add_trade('Apple', 10.5, 100)
add_trade('Banana', 5.2, 200)
delete_trade(2)
update_trade(1, 'Orange', 8.9, 150)
# 提交事务
conn.commit()
print('Transaction committed successfully.')
except:
# 回滚事务
conn.rollback()
print('Transaction rolled back.')
# 测试代码
add_trade('Apple', 10.5, 100)
add_trade('Banana', 5.2, 200)
trade = get_trade(1)
print(trade)
update_trade(1, 'Orange', 8.9, 150)
trade = get_trade(1)
print(trade)
delete_trade(2)
trade = get_trade(2)
print(trade)
perform_transaction()
# 关闭数据库连接
cursor.close()
conn.close()
请注意,代码中的host、user、password和database需要根据实际情况进行修改,以连接到正确的 MySQL 数据库服务器和数据库。
原文地址: https://www.cveoy.top/t/topic/f4pr 著作权归作者所有。请勿转载和采集!