MySQL 中的 Python commit() 方法是什么?

MySQL 中的 Python commit() 方法是什么?

当您使用Python编写与MySQL进行通信的应用程序时,可能经常需要使用commit()方法。本文将解释commit()方法,并提供用于MySQL和Python的实例。

阅读更多:Python 教程

commit() 方法是什么?

在与MySQL进行通信时,commit()方法用于提交先前执行的所有操作并保存更改。这包括插入,更新和删除数据等任何更改。

例如,考虑以下代码段,该代码段演示了如何使用Python和MySQL向数据库插入新行:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

如您所见,代码向名为customers的表中插入一个新行。然后,commit()方法在修改数据库之前将更改保存到磁盘。

请注意,commit()方法是将更改提交到数据库的唯一方法。如果不使用commit(),则更改将不会保存到磁盘,并且每个数据库会话都是单独的,因为更改只是存储在内存中。因此,如果您对数据进行修改但未调用commit(),然后关闭Python脚本,您将失去所有进行的更改。

示例

下面是一个完整的Python和MySQL示例,说明如何使用commit()方法:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

如上所述,代码执行以下操作:

  1. 与名为mydatabase的MySQL数据库建立连接。
  2. 定义一个游标以跟踪数据。
  3. customers表中插入一个名为“John”的新客户和地址“Highway 21”。
  4. 调用commit()方法以保存更改。
  5. 打印出已插入记录的数量。

结论

在与MySQL进行通信的Python应用程序中,commit()方法用于将更改保存到磁盘。如果不使用此方法,则更改只会存在于内存中,并且不会永久保存。因此,每次更改数据库时,请务必记得调用commit()方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程