English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Copia della tabella SQL

In questo tutorial, imparerai come creare una copia di una tabella esistente.

Clonare o copiare la tabella

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.

Passaggio 1: Crea una tabella vuota

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;

Passaggio 2: Inserisci i dati nella tabella

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;

Clonazione semplice

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.