Python MySQL –从表中删除数据
时间:2019-11-20 08:52:39 来源:igfitidea点击:
简介:在本教程中,您将学习如何使用Python从MySQL数据库的表中删除数据。
要从Python程序中的表中删除数据,请执行以下步骤:
通过创建一个新的MySQLConnection对象连接到数据库。
实例化一个新的光标对象,并调用其execute()方法。
要提交更改,应始终在调用execute()方法之后调用MySQLConnection对象的commit()方法。通过调用相应对象的close()方法来关闭游标和数据库连接。
以下示例显示了如何删除书ID指定的书:
from mysql.connector import MySQLConnection, Error from python_mysql_dbconfig import read_db_config def delete_book(book_id): db_config = read_db_config() query = "DELETE FROM books WHERE id = %s" try: # connect to the database server conn = MySQLConnection(**db_config) # execute the query cursor = conn.cursor() cursor.execute(query, (book_id,)) # accept the change conn.commit() except Error as error: print(error) finally: cursor.close() conn.close() if __name__ == '__main__': delete_book(102)
请注意,我们使用python_mysql_dbconfig模块中的read_db_config()函数。
因为我们需要删除books表中的特定行,所以我们在DELETE语句中使用一个占位符(%)。
当我们调用execute()方法时,我们同时传递了DELETE语句和(book_id,)元组。
连接器会将DELETE语句转换为以下形式:
DELETE FROM books WHERE id = 102;
您应始终在传递给execute()方法的任何查询中使用占位符。
这可以帮助您避免SQL注入。
在运行代码之前,让我们在删除条目之前检查books表以查看数据。
SELECT * FROM books WHERE id = 102;
运行上面的模块后,我们再次执行SELECT语句。
没有返回任何行。
这表示模块已成功删除条目。
在本教程中,您学习了如何使用MySQL Connector / Python API从表中删除数据。