2016-04-06 14 views
0

Ist es möglich, mysql-Befehle wie die folgenden in einem Python-Skript auszuführen?Ausführen von mysql-Befehlen im Python-Skript

mysql> Datenbanken anzeigen;

mysql> Tabellen anzeigen;

connection = MySQLdb.connect() 
cursor = connection.cursor() 
cursor.execute("select * from table;") 

Wie würde man diese mysql-Befehle auszuführen schreiben:

Zum Beispiel SQL-Abfragen in einem Python-Skript ausgeführt wird, durch die folgende getan werden?

Die Motivation ist, dass die Verwendung von "Tabellen anzeigen" schneller ist als das Schreiben einer SQL-Anweisung, um alle Tabellennamen innerhalb einer Datenbank anzuzeigen.

+0

'show database' ist kein SQLite-Befehl. Was ist dein eigentliches Ziel? –

+0

Danke für den Fang! Die Frage wurde aktualisiert. – akaii

+0

"Tabellen anzeigen" ist schneller, weil es nichts als eine Fehlermeldung ausgibt. –

Antwort

0
import sqlite3 as lite 
import sys 

con = None 


con = lite.connect('dbname') 

cur = con.cursor()  
cur.execute('select * from table') 

rows = cur.fetchall() 

for row in rows: 
    print row 
+0

Try-Blöcke erfordern einen folgenden Ausnahmeblock. Gibt es eine bestimmte Ausnahme, die Sie anstreben? – Reti43

0

Die SQLite-Bibliothek ist als eingebettete Datenbank konzipiert und implementiert daher keine Befehle, die für Anwendungen nicht geeignet wären.

Es gibt den Befehl .tables, aber es wird von der sqlite3 command-line shell, nicht von SQLite selbst implementiert, so dass es nicht über Python verfügbar ist. Sie müssen eingebaute Mechanismen wie PRAGMA database_list oder SELECT name FROM sqlite_master WHERE type = 'table'; verwenden.

Verwandte Themen