
Python操作mysql
1、安装mysql.connector包
2、具体代码如下
import mysql.connector
conn = mysql.connector.connect(
user='root', password='123456', host='localhost', database='demo')
# 定义一个插入函数
def insert():
# 定义插入语句
new_employee = (
'insert into employee(name,age,create_time) values(%s,%s,%s)')
# 定义插入的数据
employee1 = ('Tom', 18, '2018-01-01')
employee2 = ('Jerry', 20, '2018-01-02')
try:
with conn.cursor() as cursor:
# 执行插入语句
cursor.execute(new_employee, employee1)
cursor.execute(new_employee, employee2)
# 提交事务
conn.commit()
except:
# 发生错误时回滚事务
print('Error occurred')
conn.rollback()
else:
# 插入成功时打印提示信息
print('Insert successful')
finally:
# 关闭连接
conn.close()
# 定义一个select函数
def select():
# 尝试执行以下代码
try:
with conn.cursor() as cursor:
# 执行SQL语句,从employee表中查询所有数据
cursor.execute('select * from employee')
# 获取查询结果的所有行
rows = cursor.fetchall()
# 遍历每一行数据
for row in rows:
# 打印每一行数据
print(row)
# 如果发生异常,执行以下代码
except:
# 打印错误信息
print('Error occurred')
# 无论是否发生异常,都执行以下代码
finally:
# 关闭数据库连接
conn.close()
# 定义一个update函数
def update():
# 尝试执行以下代码
try:
# 定义一个元组,包含要更新的数据
data = (20, 'Tom', 1)
with conn.cursor() as cursor:
# 执行SQL语句,更新employee表中的数据
cursor.execute(
'update employee set age=%s , name=%s where id=%s', data)
# 提交事务
conn.commit()
# 如果发生异常,执行以下代码
except:
# 打印错误信息
print('Error occurred')
# 回滚事务
conn.rollback()
# 如果没有发生异常,执行以下代码
else:
# 打印更新成功信息
print('Update successful')
# 无论是否发生异常,都执行以下代码
finally:
# 关闭数据库连接
conn.close()
# 定义一个删除函数
def delete():
# 尝试执行删除操作
try:
with conn.cursor() as cursor:
# 执行删除语句,删除id为1的员工
cursor.execute('delete from employee where id=%s', (1,))
# 提交事务
conn.commit()
# 捕获异常
except mysql.connector.Error as e:
# 打印错误信息
print(f'Error occurred:{e}')
# 回滚事务
conn.rollback()
# 如果没有异常
else:
# 打印删除成功信息
print('Delete successful')
finally:
# 关闭连接
conn.close()
if __name__ == '__main__':
# insert()
# select()
# update()
delete()
3、注意点
使用上下文管理器,通过 with
语句自动归还连接