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.