python--sqlite3
无简介
资料来源:
https://docs.python.org/zh-cn/3/library/sqlite3.html
更新
1
2021.04.10 初始
导语
一些简单使用记录,老早之前用过都忘了…
使用
初始化:
sqlite3.connect
一般是文件,:memory:
则将创建一个临时的内存数据库.cursor()
是实际执行 sql 语句
1 | con = sqlite3.connect("./bgp.db") |
建立不重复表
- 主要是通过
UNIQUE
声明 - ps: 重要操作一定要
commit
保证存到数据库了.
1 | init = '''CREATE TABLE IF NOT EXISTS ip |
插入但不替换数据
INSERT OR IGNORE
如果数据存在就跳过- 这个插入格式是 python sqlite3 独有的,不适用于其他语言.
- 直接执行通用 sql 语句也没问题,但是并不建议,虽然没人来破解这个没有的程序,还是预防 sql 注入…
- ps: data 是个 list
1 | cur.executemany('INSERT OR IGNORE INTO ip VALUES (?,?,?,?)', [data]) |
备份内存数据库
backup()
函数而已- 需要性能的,一般先复杂到内存数据库,同理
1 | con.commit() |
关闭数据库: 千万别忘记 commit
1 | con.commit() |