2011-08-08 13 views
17

Powiel możliwe:
how to take backup of a single table in the mysql database?Jak uzyskać kwerendę, która będzie odtworzyć sql tabeli w phpMyAdmin

mam tabeli na serwerze MySQL i chciałbyś uzyskać SQL, który odtworzyć stół.

Jak uzyskać zapytanie o odtworzenie tabeli SQL?

+2

Z wiersza poleceń: 'mysqldump -u yourlogin -p twoja_bazy danych twoja_nazwa_tabeli'. Wprowadź hasło, a następnie pojawi się instrukcja tworzenia tabeli. Jeśli chcesz pobrać go z GUI phpmyadmin, uruchom zapytanie: 'show create table twoja_nazwa_tabeli' –

Odpowiedz

0

Jeśli masz dostęp do phpMyAdmina, możesz uzyskać ten kod za pomocą karty Eksport w żądanej tabeli.

Wybierz SQL, a następnie wyeksportuj "Struktura" (kod "Utwórz tabelę") i "Dane" (kod "WSTAW") z typem eksportu ustawionym na "INSERT".

6

Jeśli korzystasz z phpMyAdmina, wybierz tabelę, a następnie kliknij kartę "Eksportuj". Jednym z typów danych wyjściowych jest SQL. Wybranie tej opcji spowoduje wygenerowanie skryptu SQL w celu utworzenia tabeli i wstawienia wszystkich danych znajdujących się aktualnie w tabeli. Upewnij się, że w opcji danych wysypisko, aby wybrać „Struktura i dane”

50

MySQL obsługuje SHOW CREATE TABLE powrotu SQL, które został użyty do utworzenia tabeli.

Z ich docs:

mysql> SHOW CREATE TABLE t; 
CREATE TABLE t (
    id INT(11) default NULL auto_increment, 
    s char(60) default NULL, 
    PRIMARY KEY (id) 
) ENGINE=MyISAM 

Może to być przydatne, jeśli masz tylko połączenie z DB, w porównaniu CLI na serwerze. Jeśli masz CLI, użyj mysqldump, jak poleca liamgriffiths.

+0

Nie dotyczy to kopiowania wierszy, co moim zdaniem było częścią oczekiwanego wyniku. –

+3

To jest * naprawdę * dobre - powinno być najlepszą odpowiedzią! – Haudegen

0

pójdę z @liamgriffiths wniosek mysqldump, ale można też spróbować create table <new-table-name> like <old-table-name> następnie insert into <new-table-name> select * from <old-table-name>

2

mysqldump [opcje] baza danych [tabele]> backup-file.sql

Jeśli don” • podać jakiekolwiek tabele lub użyć --databases lub --all-databases, cała baza danych zostanie zrzucona.

Możesz uzyskać listę opcji, które obsługuje twoja wersja mysqldump, wykonując mysqldump --help.

Należy zauważyć, że jeśli uruchomisz mysqldump bez --quick lub --opt, mysqldump załaduje cały zestaw wyników do pamięci przed zrzuceniem wyniku. Prawdopodobnie będzie to problem, jeśli zrzucasz dużą bazę danych.

Powiązane problemy