如何在 Python 中使用 MySQL 从表中删除记录?
有时我们可能需要从表中删除某些行。假设,我们有一个班级学生详细信息的表。可能其中一个学生离开了班级,因此我们不再需要该特定学生的信息。因此,我们需要从表中删除该特定行或记录。
MySQL 中的“DELETE FROM”语句用于从表中删除一行或记录,“WHERE”子句用于指定要删除的行。如果不使用 WHERE 子句,则所有记录都将被删除。
语法
删除所有行 −
DELETE FROM table_name
删除特定行 −
DELETE FROM table_name WHERE condition
使用 Python 中的 MySQL 从表中删除记录所涉及的步骤
导入 MySQL 连接器
使用 connect() 方法与连接器建立连接
使用 cursor() 方法创建游标对象
使用适当的 MySQL 语句创建查询
使用 execute() 方法执行 SQL 查询
使用 commit() 方法提交所做的更改
关闭连接
假设我们有一个名为“Student”的表,如下所示 −
+----------+---------+-----------+------------+ | Name | Class | City | Marks | +----------+---------+-----------+------------+ | Karan | 4 | Amritsar | 95 | | Sahil | 6 | Amritsar | 93 | | Kriti | 3 | Batala | 88 | | Khushi | 9 | Delhi | 90 | | Kirat | 5 | Delhi | 85 | +----------+---------+-----------+------------+
示例
假设,我们有上面学生的表,并且我们想从上表中删除 Kriti 的记录。
import mysql.connector db=mysql.connector.connect(host="your host", user="your username", password="your password",database="database_name") cursor=db.cursor() query="DELETE FROM Students WHERE Name='Kriti'" cursor.execute(query) db.commit() query="SELECT * FROM Students" cursor.execute(query) for row in cursor: print(row) db.close()
以上代码从表中删除一行并打印表的剩余行。
输出
(‘Karan’, 4 ,’Amritsar’ , 95) (‘Sahil’ , 6, ‘Amritsar’ ,93) (‘Amit’ , 9, ‘Delhi’ , 90) (‘Priya’ , 5, ‘Delhi’ ,85)
注意
上面代码中的db.commit() 非常重要。它用于提交对表所做的更改。如果不使用 commit(),则不会对表进行任何更改。
广告