python连接sqlite数据库,查询opt表每条记录的activit_name值和app_name值是否在activities表存在相同的app_name与activity_name在一条记录,如果不存在,就删除opt表中的该记录
时间: 2023-05-23 18:05:49 浏览: 144
python 连接sqlite及简单操作
可以用如下代码来实现:
```python
import sqlite3
# 连接数据库
conn = sqlite3.connect('example.db')
c = conn.cursor()
# 查询opt表中每条记录的activity_name和app_name
c.execute("SELECT activity_name, app_name FROM opt")
records = c.fetchall()
# 遍历每条记录,判断是否存在相同的app_name和activity_name
for record in records:
activity_name, app_name = record
c.execute("SELECT COUNT(*) FROM activities WHERE app_name = ? AND activity_name = ?", (app_name, activity_name))
count = c.fetchone()[0]
if count == 0:
# 如果不存在相同的记录,则删除该记录
c.execute("DELETE FROM opt WHERE activity_name = ? AND app_name = ?", (activity_name, app_name))
# 提交更改并关闭数据库连接
conn.commit()
conn.close()
```
这段代码首先连接到名为example.db的SQLite数据库,并查询opt表中每条记录的activity_name和app_name。然后遍历每条记录,并在activities表中查找是否存在相同的app_name和activity_name。如果不存在,则在opt表中删除该记录。最后,提交更改并关闭数据库连接。
阅读全文