from pymysql import connect def check_data(cur): sql = "select * from student;" # sql语句 cur.execute(sql) # 执行sql语句 # 获取查询的所有记录 result = cur.fetchall() print(result) for value in result: print(value) def insert_data(cur, conn): sql = """insert into student value(0,"小美",1990-01-02,"女");""" cur.execute(sql) conn.commit() # python中默认开启事务,必须提交数据后才能完成修改 def main(): # 链接数据库 conn = connect(host="localhost", user="root", password="MySQL", db="python_1", port=3306) # 使用cursor获取游标对象 cur = conn.cursor() # 查询数据库信息 check_data(cur) # 插入数据操作 insert_data(cur, conn) # 关闭游标对象 cur.close() # 关闭链接 conn.close() if __name__ == "__main__": main()
mysql进行execute操作的集合称为事务:访问和更新数据库的一个程序执行单元。
满足一下四种要求:
- 原子性:事务中包括的所有操作只有都做和都不做连个选择。
- 一致性:事务必须使数据库从一致性状态变到另一个一致性状态。
- 隔离性:一个事务的执行不能被其他事务干扰。
- 持久性:一旦事务提交了,它对数据库的改变就是永久性的。
所以修改数据库数据时,需要commit()提交当前事务,如果是支持事务的数据库执行增删改后没有commit则数据库默认回滚,白操作了
感觉mysql数据库在python中的操作有点类似于socket套接字,先进行数据库的链接,然后进行你想要的相对应的操作,最后关闭链接!
原文地址:https://www.cnblogs.com/lzb888/p/11141798.html
时间: 2024-09-28 22:47:57