English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, imparerai come creare una copia di una tabella esistente.
In alcuni casi, potresti voler creare una copia esatta o un clone di una tabella esistente per testare o eseguire alcune operazioni senza influenzare la tabella originale.
La prossima sezione spiegherà come eseguire questa operazione con alcuni semplici passaggi.
Prima di tutto, usa la seguente statement per creare una tabella vuota in base alla definizione della tabella originale. Include anche le proprietà delle colonne e gli indici definiti nella tabella originale:
CREATE TABLE new_table LIKE original_table;
Ora, usa la seguente statement per riempire la tabella vuota con i dati della tabella originale:
INSERT INTO new_table SELECT * FROM original_table;
Usiamo lo strumento di riga di comando MySQL per clonare la tabella.
ConsideriamoemployeesC'è una tabella nel database che contiene i seguenti record:
+--------+--------------+------------+--------+---------+ | emp_id | emp_name | hire_date | salary | dept_id | +--------+--------------+------------+--------+---------+ | 1 | Ethan Hunt | 2001-05-01 | 5000 | 4 | | 2 | Tony Montana | 2002-07-15 | 6500 | 1 | | 3 | Sarah Connor | 2005-10-18 | 8000 | 5 | | 4 | Rick Deckard | 2007-01-03 | 7200 | 3 | | 5 | Martin Blank | 2008-06-24 | 5600 | NULL | +--------+--------------+------------+--------+---------+
Esegui la seguente SQL statement, che si basa suemployeesLa definizione della tabella del database crea una tabella vuotaemployees_clone。
employees_clone employees;
Ora, esegui un altro SQL statement, che inserisce tutti i record provenienti dalla tabella employee nella tabella employees_clone. Dopo aver eseguito questa statement, otterrai la tabella employee_clone, che è una copia esatta o duplicato della tabella employee.
employees_clone * employees;
Ma, se si desidera creare una tabella da un'altra tabella senza considerare alcuna proprietà di colonna e indice, è possibile utilizzare una singola istruzione di una riga:
CREATE TABLE new_table SELECT * FROM original_table;
Le seguenti istruzioni creanoemployeesCopia semplice della tabella.
employees_dummy * employees;
Suggerimento:L'uso della sintassi CREATE TABLE ... SELECT può creare rapidamente una copia semplice di qualsiasi tabella che contiene solo la struttura e i dati della tabella sorgente.