我可以不使用SQL删除光标指向的记录吗?

时间:2018-12-17 03:05:42

标签: python sql database pymysql

conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='123456', db='jd', charset='utf8')
cur = conn.cursor() 
sql = "select * from user where username = 'XXX'"
cur.execute(sql)

执行完这段代码后,光标应指向我选择的记录。

我想要做的是获得一条记录,处理记录中的数据,然后处理记录。

我知道Python中有cur.fetchone()cur.fetchall()个方法。我的观点是,由于游标可以获取记录,为什么没有cur.deteleOne()cur.delete_previousOne()函数呢?

1 个答案:

答案 0 :(得分:0)

光标指向SELECT语句返回的一行数据,这与表中的实际行不同。

SELECT语句可以对其结果执行许多操作,例如将两个或多个表连接在一起,按特定字段对结果进行排序,仅收集特定字段的不同值等。

在执行这些操作的过程中,并不总是能够维持指向特定表行的链接。您甚至可以使用SELECT AS语句来获取不属于 any 表的数据;删除这样的“行”显然是不可能的。

是否有不想使用sql删除行的原因?