Wie überprüfe ich mit dem Python-Connector, ob eine Tabelle/Datenbank in MySQL bereits vorhanden ist?
<p>Ich möchte also ein Programm erstellen, das Eingaben des Benutzers zu allem entgegennimmt, d. h. Datenbankname, Tabellenname, Tabellenstruktur (Spaltennamen), Daten, und dann verschiedene Hinzufügungen, Löschungen, Aktualisierungen usw. durchführt Funktionen. Ich kann jedoch nicht überprüfen, ob die vom Benutzer eingegebene Tabelle/Datenbank bereits existiert. Ich habe den folgenden Code ausprobiert: </p>
<pre class="brush:php;toolbar:false;">def create_table():
table_in_database=input('Bitte geben Sie den Namen der Datenbank ein, in der Sie diese Tabelle erstellen möchten:')
x=mysql.connect(host=host_name,user=user_name,password=user_password,database=table_in_database)
y=x.cursor()
wenn table_in_database in y.fetchall():
name_table=input('Bitte geben Sie den Namen der zu erstellenden Tabelle ein:')
wenn name_table in y.fetchall():
print('Tabelle existiert bereits, bitte versuchen Sie es mit einem anderen Namen oder verwenden Sie eine vorhandene Tabelle')
anders:
table_structure=tuple(input('Bitte geben Sie die Struktur-/Zeilennamen der Tabelle ein (durch Kommas getrennt):'))
y.execute('create table '+name_table+''+table_structure+'')
print('table', name_table, 'Erfolgreich erstellt')
x.commit()
anders:
print('database', table_in_database, 'existiert nicht')</pre>
<p>Aber y.fetchall() funktioniert nicht, also habe ich sogar versucht, eine andere Funktion show_database() zu verwenden, die alle Datenbanken anzeigt, anstatt y.fetchall() zu verwenden, aber dann habe ich einen NoneType-Fehler erhalten. Gibt es eine Möglichkeit zu überprüfen, ob die Tabelle/Datenbank existiert? </p>