summaryrefslogtreecommitdiffstats
path: root/Doc/includes/sqlite3/complete_statement.py
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/includes/sqlite3/complete_statement.py')
-rw-r--r--Doc/includes/sqlite3/complete_statement.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/Doc/includes/sqlite3/complete_statement.py b/Doc/includes/sqlite3/complete_statement.py
new file mode 100644
index 0000000..cd38d73
--- /dev/null
+++ b/Doc/includes/sqlite3/complete_statement.py
@@ -0,0 +1,30 @@
+# 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()