Wie überprüfe ich mit dem Python-Connector, ob eine Tabelle/Datenbank in MySQL bereits vorhanden ist?
P粉242535777
P粉242535777 2023-08-28 13:31:54
0
1
548
<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>
P粉242535777
P粉242535777

Antworte allen(1)
P粉757432491

如果您连接到一个数据库并运行查询 SHOW TABLES;,它将返回该数据库中所有表的列表。
您可以使用条件来精确搜索:

SHOW tables 
WHERE Tables_in_test ='triangle';
+----------------+
| Tables_in_test |
+----------------+
| triangle       |
+----------------+

您需要修改列的名称以匹配您的数据库。

Tables_in_[database_name]
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage