Latest web development tutorials

MySQL Copia tabella

Se abbiamo bisogno di una copia completa di tabelle di dati MySQL, tra cui la struttura della tabella, gli indici, i valori di default, etc. Se si utilizza solo il CREATE TABLE ... comando SELECT, non può essere realizzato.

In questo capitolo vi mostrerà come completare copiare le tabelle di dati di MySQL, le seguenti operazioni:

  • Utilizzare MOSTRA comando CREATE TABLE per ottenere i dati per creare una tabella (CREATE TABLE) dichiarazione che contiene le strutture originali tabella di dati, indici, e così via.
  • Copiare il seguente comando per visualizzare le istruzioni SQL per modificare il nome della tabella, ed eseguire istruzioni SQL, il comando di cui sopra sarà completamente replicata struttura della tabella dei dati.
  • Se si desidera copiare il contenuto della tabella, è possibile utilizzare il INSERT INTO ... SELECT da raggiungere.

Esempi

Provare i seguenti esempi per copiare tavolo w3big_tbl.

Fase uno:

Ottenere la struttura completa della tabella di dati.

mysql> SHOW CREATE TABLE w3big_tbl \G;
*************************** 1. row ***************************
       Table: w3big_tbl
Create Table: CREATE TABLE `w3big_tbl` (
  `w3big_id` int(11) NOT NULL auto_increment,
  `w3big_title` varchar(100) NOT NULL default '',
  `w3big_author` varchar(40) NOT NULL default '',
  `submission_date` date default NULL,
  PRIMARY KEY  (`w3big_id`),
  UNIQUE KEY `AUTHOR_INDEX` (`w3big_author`)
) ENGINE=InnoDB 
1 row in set (0.00 sec)

ERROR:
No query specified

Fase due:

Modificare il nome della tabella di dati SQL, ed eseguire istruzioni SQL.

mysql> CREATE TABLE `clone_tbl` (
  -> `w3big_id` int(11) NOT NULL auto_increment,
  -> `w3big_title` varchar(100) NOT NULL default '',
  -> `w3big_author` varchar(40) NOT NULL default '',
  -> `submission_date` date default NULL,
  -> PRIMARY KEY  (`w3big_id`),
  -> UNIQUE KEY `AUTHOR_INDEX` (`w3big_author`)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected (1.80 sec)

Fase tre:

Dopo aver eseguito il secondo passo, si creerà una nuova tabella clone clone_tbl nel database. Se si desidera copiare la tabella di dati è possibile utilizzare il INSERT INTO ... SELECT da raggiungere.

mysql> INSERT INTO clone_tbl (w3big_id,
    ->                        w3big_title,
    ->                        w3big_author,
    ->                        submission_date)
    -> SELECT w3big_id,w3big_title,
    ->        w3big_author,submission_date
    -> FROM w3big_tbl;
Query OK, 3 rows affected (0.07 sec)
Records: 3  Duplicates: 0  Warnings: 0

Dopo aver eseguito la procedura descritta sopra, è necessario completare le tabelle di copia, tra cui la struttura delle tabelle e dati della tabella.