Methode für MySQL zum Kopieren von Tabellenstruktur und Tabellendaten

1. Kopieren Sie die Tabellenstruktur und die Daten in die neue Tabelle

create table new_table_name select * from old_table_name;

Einer der schlimmsten Aspekte dieser Methode besteht darin, dass die neue Tabelle nicht über den Primärschlüssel, Extra (auto_increment) und andere Attribute der alten Tabelle verfügt.

2. Kopieren Sie nur die Tabellenstruktur in die neue Tabelle

create table new_table_name select * from old_table_name where 1=2;

oder

create table new_table_name like old_table_name;

3. Kopieren Sie die Daten aus der alten Tabelle in die neue Tabelle (vorausgesetzt, die beiden Tabellen haben die gleiche Struktur).

insert into new_table_name select * from old_table_name;

4. Kopieren Sie die Daten aus der alten Tabelle in die neue Tabelle (vorausgesetzt, die beiden Tabellen haben unterschiedliche Strukturen).

insert into new_table_name(字段1,字段2,字段3) select (字段1,字段2,字段3) from old_table_name;

5. Die Tabellen befinden sich nicht in derselben Datenbank (z. B. db1 Tabelle1, db2 Tabelle2).

vollständige Kopie

insert into db1.table1 select * from db2.table2;

Kopieren Sie keine doppelten Datensätze

insert into db1.table1 select distinct* from db2.table2;

Kopieren Sie die ersten 10 Datensätze

insert into db1.table1 select 10* from db2.table2;

6. Sehen Sie sich die Erstellungs-SQL der Tabelle an

show create table table_name;

Dadurch wird die Erstellungs-SQL der Tabelle aufgelistet. Wir müssen nur die SQL kopieren und den Tabellennamen ändern, um eine identische Tabelle zu erstellen.

7. Tabellendaten löschen

delete from table_name;

oder

truncate table table_name;

Die Löschanweisung ohne den Where-Parameter kann den gesamten Inhalt der MySQL-Tabelle löschen;
mit truncate table kann auch der gesamte Inhalt der MySQL-Tabelle gelöscht werden.

Wenn Sie jedoch löschen, um die Datensätze in der Tabelle zu löschen, wird die ID des Inhalts immer noch anhand der ID des Löschpunkts ermittelt, anstatt bei 1 zu beginnen.

Und das Abschneiden ist gleichbedeutend damit, die Struktur der Tabelle beizubehalten und dieselbe neue Tabelle wiederherzustellen.

Im Hinblick auf die Effizienz ist das Abschneiden schneller als das Löschen.

Nach dem Löschen der Kürzung wird das MySQL-Protokoll jedoch nicht aufgezeichnet und die Daten können nicht wiederhergestellt werden.

Der Effekt des Löschens ähnelt dem Löschen aller Datensätze in der MySQL-Tabelle nacheinander, bis alle gelöscht sind.

Guess you like

Origin blog.csdn.net/weixin_56175092/article/details/120509499