MySQL – klonowanie tabeli
Może zaistnieć sytuacja, gdy potrzebujesz dokładnej
kopii tabeli i CREATE TABLE ...
SELECT nie odpowiada twoim celom, ponieważ kopia musi zawierać
te same indeksy, wartości domyślne i tak dalej.
Możesz poradzić sobie z tą sytuacją, wykonując
czynności podane poniżej:
· Użyj SHOW
CREATE TABLE, aby uzyskać instrukcję CREATE TABLE, która określa strukturę
tabeli źródłowej, indeksy i wszystkie inne dane.
· Zmodyfikuj
instrukcję, aby zmienić nazwę tabeli na tabelę klonowaną i wykonaj
instrukcję. W ten sposób będziesz miał dokładnie sklonowaną tabelę.
· Opcjonalnie,
jeśli chcesz skopiować zawartość tabeli, również możesz wydać instrukcję INSERT
INTO ... SELECT.
Przykład
Wypróbuj poniższy przykład, aby utworzyć tabelę klonowania
dla kurs_tbl.
Krok 1 - Uzyskaj pełną strukturę tabeli.
mysql> SHOW CREATE TABLE kurs_tbl \G;
*************************** 1. row ***************************
Table: kurs_tbl
Create Table: CREATE
TABLE `kurs_tbl` (
`kurs_id`
int(11) NOT NULL
auto_increment,
`kurs_title`
varchar(100) NOT NULL default
'',
`kurs_author`
varchar(40) NOT NULL default
'',
`submission_date`
date default NULL,
PRIMARY KEY (`kurs_id`),
UNIQUE KEY `AUTHOR_INDEX` (`kurs_author`)
) TYPE = MyISAM
1 row in set (0.00 sec)
ERROR:
No query specified
Krok 2 - Zmień nazwę tej
tabeli i utwórz kolejną tabelę.
mysql> CREATE TABLE klon_tbl (
->
kurs_id int(11) NOT NULL
auto_increment,
->
kurs_title varchar(100) NOT NULL default
'',
->
kurs_author varchar(40) NOT NULL default
'',
->
submission_date date default NULL,
->
PRIMARY KEY (kurs_id),
->
UNIQUE KEY AUTHOR_INDEX (kurs_author)
-> ) TYPE = MyISAM;
Query OK, 0 rows
affected (1.80
sec)
Krok 3 - Po wykonaniu kroku 2
utworzysz sklonowaną tabelę w bazie danych. Jeśli chcesz skopiować dane ze
starej tabeli, możesz to zrobić za pomocą instrukcji INSERT INTO ... SELECT..
mysql> INSERT INTO klon_tbl (kurs_id,
-> kurs_title,
-> kurs_author,
-> submission_date)
->
SELECT kurs_id,kurs_title,
-> kurs_author,submission_date
->
FROM kurs_tbl;
Query OK, 3 rows
affected (0.07
sec)
Records: 3 Duplicates: 0 Warnings: 0
Na koniec będziesz miał dokładny sklonowaną tabelę, tak jak
chciałeś.
Brak komentarzy:
Prześlij komentarz