Update sqlite3-python/README.md
This commit is contained in:
@@ -9,6 +9,24 @@ sql("SELECT * FROM sqlite_master WHERE type = 'table'")
|
||||
```
|
||||
|
||||
# Dict-like
|
||||
```python
|
||||
def SQL():
|
||||
from sqlite3 import connect, Row
|
||||
(con := connect('.db.sql', isolation_level=None)).row_factory = Row
|
||||
sql = type('', (), dict(
|
||||
__call__=lambda _, q, *p: list(map(dict, con.execute(q, p))),
|
||||
__iter__=lambda sql: (kv.values() for kv in sql('SELECT * FROM kv')),
|
||||
__getitem__=lambda sql, k: sql('SELECT v FROM kv WHERE k=?', k)[0]['v'],
|
||||
__setitem__=lambda sql, k, v:
|
||||
sql('INSERT or REPLACE INTO kv VALUES(?,?)', k, v),
|
||||
))()
|
||||
sql('PRAGMA journal_mode=wal')
|
||||
sql('PRAGMA busy_timeout='f'{1e9}')
|
||||
sql('CREATE TABLE IF NOT EXISTS kv(k PRIMARY KEY, v)')
|
||||
return sql
|
||||
sql = SQL()
|
||||
```
|
||||
|
||||
```python
|
||||
def Dict(db='dict.db', *, sqlite3=__import__('sqlite3')):
|
||||
sql = sqlite3.connect(db, isolation_level=None, timeout=1e999).execute
|
||||
|
||||
Reference in New Issue
Block a user