mirror of https://github.com/python/cpython
31 lines
672 B
Python
31 lines
672 B
Python
|
# A minimal SQLite shell for experiments
|
||
|
|
||
|
import sqlite3
|
||
|
|
||
|
con = sqlite3.connect(":memory:")
|
||
|
con.isolation_level = None
|
||
|
cur = con.cursor()
|
||
|
|
||
|
buffer = ""
|
||
|
|
||
|
print("Enter your SQL commands to execute in sqlite3.")
|
||
|
print("Enter a blank line to exit.")
|
||
|
|
||
|
while True:
|
||
|
line = input()
|
||
|
if line == "":
|
||
|
break
|
||
|
buffer += line
|
||
|
if sqlite3.complete_statement(buffer):
|
||
|
try:
|
||
|
buffer = buffer.strip()
|
||
|
cur.execute(buffer)
|
||
|
|
||
|
if buffer.lstrip().upper().startswith("SELECT"):
|
||
|
print(cur.fetchall())
|
||
|
except sqlite3.Error as e:
|
||
|
print("An error occurred:", e.args[0])
|
||
|
buffer = ""
|
||
|
|
||
|
con.close()
|