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
433

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:

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')

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粉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
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!