71 lines
1.4 KiB
Python
71 lines
1.4 KiB
Python
import sqlite3
|
|
|
|
|
|
def create():
|
|
conn = sqlite3.connect('kv.db')
|
|
c = conn.cursor()
|
|
|
|
# create with index
|
|
c.execute('''CREATE TABLE IF NOT EXISTS kv (key text, value text, PRIMARY KEY(key))''')
|
|
|
|
conn.commit()
|
|
conn.close()
|
|
|
|
|
|
def set(key, value):
|
|
conn = sqlite3.connect('kv.db')
|
|
c = conn.cursor()
|
|
|
|
# check table
|
|
c.execute('''SELECT name FROM sqlite_master WHERE type='table' AND name='kv' ''')
|
|
result = c.fetchone()
|
|
if not result:
|
|
create()
|
|
|
|
# create with index
|
|
c.execute('''INSERT OR REPLACE INTO kv (key, value) VALUES (?, ?)''', (key, value))
|
|
|
|
conn.commit()
|
|
conn.close()
|
|
|
|
|
|
def get(key):
|
|
conn = sqlite3.connect('kv.db')
|
|
c = conn.cursor()
|
|
|
|
# check table
|
|
c.execute('''SELECT name FROM sqlite_master WHERE type='table' AND name='kv' ''')
|
|
result = c.fetchone()
|
|
if not result:
|
|
create()
|
|
|
|
# create with index
|
|
c.execute('''SELECT value FROM kv WHERE key=?''', (key,))
|
|
|
|
result = c.fetchone()
|
|
|
|
conn.commit()
|
|
conn.close()
|
|
|
|
if result:
|
|
return result[0]
|
|
else:
|
|
return None
|
|
|
|
|
|
def delete(key):
|
|
conn = sqlite3.connect('kv.db')
|
|
c = conn.cursor()
|
|
|
|
# check table
|
|
c.execute('''SELECT name FROM sqlite_master WHERE type='table' AND name='kv' ''')
|
|
result = c.fetchone()
|
|
if not result:
|
|
create()
|
|
|
|
# create with index
|
|
c.execute('''DELETE FROM kv WHERE key=?''', (key,))
|
|
|
|
conn.commit()
|
|
conn.close()
|