| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | # 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: | 
					
						
							| 
									
										
										
										
											2021-08-30 20:32:21 +02:00
										 |  |  |             err_msg = str(e) | 
					
						
							|  |  |  |             err_code = e.sqlite_errorcode | 
					
						
							|  |  |  |             err_name = e.sqlite_errorname | 
					
						
							|  |  |  |             print(f"{err_name} ({err_code}): {err_msg}") | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  |         buffer = "" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | con.close() |