Heim  >  Artikel  >  Datenbank  >  Wie kann ich eine Tabelle und ihre Daten, Trigger und Indizes klonen/kopieren?

Wie kann ich eine Tabelle und ihre Daten, Trigger und Indizes klonen/kopieren?

王林
王林nach vorne
2023-08-26 11:29:02586Durchsuche

Wie kann ich eine Tabelle und ihre Daten, Trigger und Indizes klonen/kopieren?

Um eine neue Tabelle mit ihren Daten, Triggern und Indizes wie die alte Tabelle zu erstellen, müssen wir die folgenden zwei Abfragen ausführen

CREATE TABLE new_table LIKE old_table;
INSERT new_table SELECT * from old_table;

Beispiel

mysql> Create table employee(ID INT PRIMARY KEY NOT NULL AUTO_INCREMENT, NAME VARCHAR(20));
Query OK, 0 rows affected (0.21 sec)

mysql> Describe employee;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| ID    | int(11)     | NO   | PRI | NULL    | auto_increment |
| NAME  | varchar(20) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.07 sec)

mysql> Insert into employee(name) values('Gaurav'),('Raman');
Query OK, 2 rows affected (0.07 sec)
Records: 2 Duplicates: 0 Warnings: 0

mysql> Select * from employee;
+----+--------+
| ID | NAME   |
+----+--------+
| 1  | Gaurav |
| 2  | Raman  |
+----+--------+
2 rows in set (0.00 sec)

Die folgende Abfrage erstellt eine Tabelle mit einer ähnlichen Struktur wie die Tabelle mitarbeiter mitarbeiter1. Sie können dies überprüfen, indem Sie eine DESCRIBE-Abfrage ausführen.

mysql> create table employee1 like employee;
Query OK, 0 rows affected (0.19 sec)

mysql> describe employee1;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| ID    | int(11)     | NO   | PRI | NULL    | auto_increment |
| NAME  | varchar(20) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.14 sec)

Nun fügt die folgende Abfrage den gleichen Wert in „employee1“ ein wie in „employee“, was wie folgt überprüft werden kann

mysql> INSERT INTO employee1 select * from employee;
Query OK, 2 rows affected (0.09 sec)
Records: 2 Duplicates: 0 Warnings: 0

mysql> select * from employee1;
+----+--------+
| ID | NAME   |
+----+--------+
| 1  | Gaurav |
| 2  | Raman  |
+----+--------+
2 rows in set (0.00 sec)

Auf diese Weise können wir auch die Tabelle zusammen mit ihren Daten, Triggern und Indizes klonen.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Tabelle und ihre Daten, Trigger und Indizes klonen/kopieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen