四时宝库

程序员的知识宝库

Python MySQL – 从表中删除数据(python从列表中删除数据)

摘要:在本教程中,您将学习如何使用 Python 从 MySQL 数据库的表中删除数据。

若要从 Python 程序中删除表中的数据,请执行以下步骤:

  1. 通过创建新对象连接到数据库。MySQLConnection
  2. 实例化一个新的游标对象并调用其方法。若要提交更改,应始终在调用方法后调用对象的方法。execute()commit()MySQLConnectionexecute()
  3. 通过调用相应对象的方法关闭游标和数据库连接。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)Code language: Python (python)

请注意,我们使用 python_mysql_dbconfig 模块中的函数。read_db_config()

因为我们需要删除表中的特定行,所以我们在语句中使用占位符 ()。books%DELETE

当我们调用该方法时,我们同时传递语句和元组。连接器会将语句转换为以下形式:execute()DELETE(book_id,)DELETE

DELETE FROM books 
WHERE id = 102;Code language: Python (python)

应始终在传递给该方法的任何查询中使用占位符。这有助于避免 SQL 注入。execute()

在运行代码之前,让我们在删除条目之前检查表以查看数据。books

SELECT * FROM books
WHERE id = 102;Code language: SQL (Structured Query Language) (sql)

运行上面的模块后,我们再次执行 SELECT 语句。不返回任何行。这意味着模块已成功删除该条目。

在本教程中,您学习了如何使用 MySQL 连接器/Python API 从表中删除数据。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接