So benennen Sie die Tabelle in MySQL um und worauf Sie achten müssen

So benennen Sie die Tabelle in MySQL um und worauf Sie achten müssen

1. Tabellenmethode umbenennen

Sie können eine Tabelle mit der Anweisung RENAME TABLE oder ALTER TABLE umbenennen. Die grundlegende Syntax lautet wie folgt:

# RENAME TABLE Syntax:
TABELLE UMBENENNEN
    tbl_name TO neuer_tbl_name
    [, tbl_name2 bis neuer_tbl_name2] …

    # ALTER TABLE-Syntax:
ALTER TABLE alte_Tabelle RENAME neue_Tabelle;

# Konkretes Beispiel:
mysql> Tabellen anzeigen;
+------------------+
| Tabellen_in_testdb |
+------------------+
|tb1|
|tb2|
+------------------+
2 Zeilen im Satz (0,00 Sek.)

mysql> Tabelle tb1 in new_tb1 umbenennen;
Abfrage OK, 0 Zeilen betroffen (0,03 Sek.)

mysql> Tabelle tb2 ändern, neue_tb2 umbenennen;
Abfrage OK, 0 Zeilen betroffen (0,04 Sek.)

mysql> Tabellen anzeigen;
+------------------+
| Tabellen_in_testdb |
+------------------+
| neu_tb1 |
| neues_tb2 |
+------------------+
2 Zeilen im Satz (0,00 Sek.)

Wenn Sie eine Tabelle umbenennen, muss die alte Tabelle (alter_Tabellenname) natürlich vorhanden sein, und die neue Tabelle (neuer_Tabellenname) darf nicht vorhanden sein. Wenn die neue Tabelle „new_table_name“ vorhanden ist, schlägt die Anweisung fehl.

Der Benutzer, der die Tabellenumbenennung durchführt, muss über ALTER- und DROP-Berechtigungen für die ursprüngliche Tabelle und über CREATE- und INSERT-Berechtigungen für die neue Tabelle verfügen. Im Gegensatz zu ALTER TABLE können mit RENAME TABLE mehrere Tabellen in einer einzigen Anweisung umbenannt werden:

UMBENENNUNG DER TABELLE alte_Tabelle1 IN neue_Tabelle1,
             alte_Tabelle2 ZU neue_Tabelle2,
             alte_Tabelle3 ZU neue_Tabelle3;

Wenn Sie mehrere Tabellen gleichzeitig umbenennen, wird der Umbenennungsvorgang von links nach rechts ausgeführt. Um zwei Tabellennamen zu vertauschen, können Sie Folgendes tun (vorausgesetzt, der Zwischentabellenname lautet tmp_table und existiert nicht):

UMBENENNEN SIE TABELLE alte_Tabelle in temporäre_Tabelle um,
             neue_Tabelle ZU alte_Tabelle,
             tmp_table ZU neue_tabelle;

Wir können eine Tabelle auch von einer Datenbank in eine andere verschieben, indem wir die Tabelle umbenennen. Die Syntax lautet wie folgt:

Tabelle umbenennen: current_db.tbl_name in other_db.tbl_name;
ALTER TABLE current_db.tbl_name umbenennen other_db.tbl_name;

# Splice SQL, um alle Tabellen einer Datenbank in eine andere Datenbank zu übertragen SELECT
 CONCAT( 'Tabelle alte_Datenbank umbenennen.', TABLE_NAME, ' in neue_Datenbank.', TABLE_NAME, ';' )
 AUS
 information_schema.TABELLEN
 WO
 TABLE_SCHEMA = "alte_Datenbank";

Tatsächlich bietet MySQL keine Operation zum Umbenennen einer Datenbank. Wir können eine Datenbank indirekt umbenennen, indem wir alle Tabellen einer Datenbank durch Umbenennen in eine andere Datenbank übertragen, aber die ursprüngliche Datenbank existiert weiterhin.

2. Hinweise

Es ist zu beachten, dass der Umbenennungsvorgang atomar erfolgt und das Abrufen der Metadatensperre der Tabelle erfordert. Daher müssen wir vor der Ausführung von RENAME TABLE sicherstellen, dass keine aktive Transaktion für die Tabelle vorhanden ist und dass sie nicht gesperrt ist. Auch das Umbenennen großer Tabellen geht schnell, da nur die Metadaten geändert werden müssen. Darüber hinaus können Sie die Tabelle, wenn sie Trigger enthält, nicht durch Umbenennen in eine andere Bibliothek übertragen.

Tatsächlich gibt es einige Unterschiede zwischen der Anweisung RENAME TABLE und der Anweisung ALTER TABLE. Laut der offiziellen Dokumentation gibt es mehrere Hauptunterschiede:

  • RENAME TABLE gilt für Ansichten, Sie können die Umbenennung einer Ansicht jedoch nicht auf eine andere Datenbank übertragen und mit ALTER TABLE kann eine Ansicht nicht umbenannt werden.
  • ALTER TABLE kann eine temporäre Tabelle (TEMPORARY TABLE) umbenennen, RENAME TABLE hingegen nicht.
  • RENAME TABLE kann mehrere Tabellen in einer einzigen Anweisung umbenennen, ALTER TABLE kann nur eine umbenennen.

Obwohl der Umbenennungsvorgang schnell und effizient ist, sollten Sie in tatsächlichen Produktionsszenarien die Umbenennung der Tabelle dennoch sorgfältig abwägen. Vielleicht ist Ihr Umbenennungsvorgang in Ordnung, aber es kann Probleme mit den nachfolgenden abhängigen Aufrufen zwischen Objekten geben. Wenn Sie beispielsweise eine Tabelle tb1 in new_tb1 umbenennen, Ansichten und Funktionen vorhanden sind, die von tb1 abhängen, und Sie diese Ansichten und Funktionen nicht rechtzeitig ändern, erhalten Sie beim erneuten Aufrufen dieser Ansichten und Funktionen möglicherweise eine Fehlermeldung, dass tb1 nicht vorhanden ist, da der Name tb1 weiterhin in der Definition dieser Ansichten und Funktionen verwendet wird. Achten Sie außerdem nach dem Umbenennen einer Tabelle oder Ansicht auf die Benutzerberechtigungen. Wenn einem Benutzer explizit Berechtigungen für die Tabelle zugewiesen wurden, müssen Sie die Berechtigungen für die neue Tabelle erneut erteilen. Wenn in der Tabelle Einschränkungen wie Fremdschlüssel vorhanden sind, seien Sie bei der Durchführung des Umbenennungsvorgangs besonders vorsichtig und prüfen Sie alles sorgfältig.

Zusammenfassen:

In diesem Artikel werden hauptsächlich die Vorgehensweise und Vorsichtsmaßnahmen beim Umbenennen von Tabellen vorgestellt. Die wichtigsten Punkte dieses Artikels sind wie folgt zusammengefasst:

Zum Umbenennen einer Tabelle können sowohl die Anweisung RENAME TABLE als auch die Anweisung ALTER TABLE verwendet werden. Zwischen den beiden gibt es einen kleinen Unterschied. Die Anweisung RENAME TABLE ist eher zu empfehlen.

Für den Umbenennungsvorgang ist eine Metadatensperre erforderlich. Stellen Sie vor dem Ausführen des Vorgangs sicher, dass keine aktiven Transaktionen vorhanden sind.

Durch das Umbenennen einer Tabelle können Sie eine Tabelle von einer Datenbank in eine andere übertragen und dabei indirekt die Datenbank umbenennen.

In tatsächlichen Produktionsszenarien sollte das Umbenennen von Tabellen sorgfältig überlegt werden, insbesondere wenn Ansichts- und Funktionsabhängigkeiten bestehen.

Überprüfen Sie nach Abschluss des Umbenennungsvorgangs die Benutzerberechtigungen und zugehörigen Abhängigkeitsprobleme und ändern Sie den Tabellennamen in der Abhängigkeitsbeziehung rechtzeitig in den neuen Tabellennamen.

Wenn die Tabelle Einschränkungen wie Trigger oder Fremdschlüssel enthält, seien Sie beim Umbenennen besonders vorsichtig.

Der Umbenennungsvorgang ist normalerweise in Sekunden abgeschlossen. Wenn er zu lange dauert, überprüfen Sie bitte den Verbindungsstatus.

Oben finden Sie den detaillierten Inhalt der Zusammenfassung des Wissens zu MySQL-Umbenennungstabellen. Weitere Informationen zu MySQL-Umbenennungstabellen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Schnelle und sichere Methode zum Umbenennen einer MySQL-Datenbank (3 Arten)
  • Detaillierte Erläuterung von MySQL-Ereignisänderungsereignissen (ALTER EVENT), Deaktivierungsereignissen (DISABLE), Aktivierungsereignissen (ENABLE), Ereignisumbenennungen und Datenbankereignismigrationsvorgängen
  • Detaillierte Erklärung einer Methode zum Umbenennen von Prozeduren in MySQL
  • Umbenennen von Feldern mithilfe von SQL-Anweisungen in MySQL
  • Freigabe von Umbenennungsanweisungen für MySQL-Datenbanken
  • Bringen Sie Ihnen bei, wie Sie mit Python eine MySql-Datenbank betreiben
  • Entwickeln Sie ein kleines Tool zur Bedienung von MySQL mit Python
  • Python-Grundlagen: Bedienung einer MySQL-Datenbank
  • Python-Chatroom mit Beispielcode zur Schnittstellenimplementierung (tkinter, Mysql, Treading, Socket)
  • Teilen einfacher Schritte zum Bedienen einer MySQL-Datenbank mit Python
  • Detaillierte Erläuterung der Idee, Python-SQL-Anweisungen zum Ausführen von Fuzzy-Abfragen mit mehreren Bedingungen in der MySQL-Datenbank zu verwenden
  • Implementieren von Add, Delete, Modify und Check in Python mit tkinter+MySQL
  • Verwenden Sie Python, um die MySQL-Datenbank schnell umzubenennen

<<:  Detaillierte Schritte zur Installation und Verwendung von VMware ESXi 6.5

>>:  So legen Sie Listenstilattribute in CSS fest (lesen Sie einfach diesen Artikel)

Artikel empfehlen

Einführung in die Verwendung von MySQL-Quellbefehlen

Inhaltsverzeichnis Gedanken, die durch eine Onlin...

Mysql 8.0.18 Hash-Join-Test (empfohlen)

Hash-Join Für die Ausführung von Hash Join sind k...

Einführung in die Funktionen und Verwendung von Wert- und Namensattributen in HTML

1. Der in der Schaltfläche verwendete Wert bezieht...

Umfassendes Verständnis von HTML-Formularelementen

Wie unten dargestellt: XML/HTML-CodeInhalt in die...

7 Möglichkeiten, Elemente mit CSS vertikal zu zentrieren

【1】Kennen Sie die Breite und Höhe des zentrierten...

So zeigen Sie den Prozentsatz und die ersten paar Prozent in MySQL an

Inhaltsverzeichnis Erfordern Implementierungscode...

28 berühmte Beispiele für Blog-Redesigns

1. WebDesignerWall 2. Veerles Blog 3. Lernprogram...

Mehrere Situationen, in denen Div durch Iframe abgedeckt ist, und ihre Lösungen

Ähnliche Strukturen: Code kopieren Der Code laute...