Jak zaimportować pojedynczą tabelę do bazy danych mysql za pomocą wiersza poleceń
141
Pomyślnie zaimportowałem bazę danych za pomocą wiersza poleceń, ale teraz moim problemem jest importowanie pojedynczej tabeli z danymi do istniejącej bazy danych za pomocą wiersza poleceń.
Spowoduje to utworzenie pliku o nazwie example.sqlwe wspomnianej ścieżce i zapisanie create tablepolecenia sql w celu utworzenia tabeli tableName.
Importuj dane do tabeli
mysql -u username -p databasename < path/example.sql
To polecenie wymaga pliku sql zawierającego dane w postaci insertinstrukcji dla tabeli tableName. Wszystkie insertwyciągi zostaną wykonane i dane zostaną załadowane.
brakowało -u;) mysqldump -u nazwa użytkownika -p nazwa bazy danych nazwa-tabeli> ścieżka / przykład.sql
Kazmin
2
Do importu nie musisz używać mysql dump. mysql -u nazwa użytkownika -p nazwa bazy danych nazwa_tabeli <ścieżka / przykład.sql To powinno
wystarczyć
8
tableNameNazwa nie potrzebne dla wszystkich wersji MySQL i generuje błędy, więc może trzeba go pominąć!
mchar
1
Otrzymywałem błąd składni, dopóki nie zdałem sobie sprawy, że jestem w bash, a nie mysql podczas wykonywania.
Christia,
2
Działa to tylko wtedy, gdy mam dostęp do bazy danych, z której mogę wyeksportować określoną tabelę. Jeśli jednak mam pełny zrzut bazy danych i chcę w pełni wybrać tabelę (y) do zaimportowania, to rozwiązanie nie zadziała. Połączony post Czy mogę przywrócić pojedynczą tabelę z pełnego pliku mysql mysqldump? rozwiązuje ten problem.
Wszystkie te opcje są w porządku, jeśli masz możliwość ponownego wyeksportowania danych.
Ale jeśli potrzebujesz użyć istniejącego pliku SQL i użyć określonej tabeli z niego, to ten skrypt Perla na blogu TimeSheet , z możliwością wyodrębnienia tabeli do oddzielnego pliku SQL, a następnie zaimportowania jej.
Nie musisz określać nazwy tabeli w wierszu poleceń, ponieważ wyeksportowany plik SQL ma odpowiednie wywołanie do utworzenia tabeli. Wszystko czego potrzebujesz to mysql -u your_user_name -p database_name < test.sql.
Michael De Silva,
1
Oto przykład z wyeksportowanej tabeli, `22 DROP TABLE JEŚLI ISTNIEJE account_product_prices; 23 / *! 40101 SET @saved_cs_client = @@ character_set_client /; 24 / ! 40101 SET znak_zestaw_klienta = utf8 * /; 25 STWÓRZ TABELĘ account_product_prices(`
Michael De Silva,
5
Przede wszystkim zaloguj się do swojej bazy danych i sprawdź, czy tabela bazy danych, którą chcesz zaimportować, nie jest dostępna w Twojej bazie danych.
Jeśli jest dostępna, usuń tabelę za pomocą polecenia. W przeciwnym razie wystąpi błąd podczas importowania tabeli.
DROPTABLE Table_Name;
Następnie przejdź do folderu, w którym masz .sqlplik do zaimportowania, i uruchom następujące polecenie z terminala
mysql -u username -p databasename < yourtable.sql
Terminal poprosi Cię o podanie hasła. Wprowadź go i sprawdź bazę danych.
Byłoby to połączenie EXPORT INTO OUTFILEiLOAD DATA INFILE
Musisz wyeksportować tę pojedynczą tabelę za pomocą EXPORT INTO OUTFILE, to wyeksportuje dane tabeli do pliku. Możesz zaimportować tę konkretną tabelę za pomocąLOAD DATA INFILE
możesz to zrobić za pomocą polecenia mysql zamiast polecenia linux.
1. zaloguj się do swojego mysql.
2. wykonaj to w poleceniu mysql: use DATABASE_NAME; SET autocommit=0 ; source ABSOLUTE_PATH/TABLE_SQL_FILE.sql ; COMMIT ;
Choć ten fragment kodu jest mile widziany i może zapewnić jakąś pomoc, byłoby znacznie się poprawiła, gdyby obejmowała wyjaśnienie z how i dlaczego to rozwiązuje problem. Pamiętaj, że odpowiadasz na pytanie do czytelników w przyszłości, a nie tylko osoba, która zapyta teraz! Proszę edytować swoje odpowiedzi, aby dodać wyjaśnienie, i dać wskazówkę co zastosować ograniczenia i założenia.
Toby Speight
0
-> mysql -h host -u user-p database_name table_name < test_table.sql
Aby zaimportować tabelę do bazy danych, jeśli tabela już istnieje, dodaj tę linię do pliku sql DROP TABLE IF EXIST 'table_name'i uruchom polecenie mysql -u username -p database_name < import_sql_file.sql. Przed wykonaniem polecenia sprawdź ścieżkę do pliku sql.
Odpowiedzi:
Linux:
W linii poleceń
umieść swoją tabelę w example.sql
Import / eksport dla pojedynczej tabeli:
Eksportuj schemat tabeli
Spowoduje to utworzenie pliku o nazwie
example.sql
we wspomnianej ścieżce i zapisaniecreate table
polecenia sql w celu utworzenia tabelitableName
.Importuj dane do tabeli
To polecenie wymaga pliku sql zawierającego dane w postaci
insert
instrukcji dla tabelitableName
. Wszystkieinsert
wyciągi zostaną wykonane i dane zostaną załadowane.źródło
tableName
Nazwa nie potrzebne dla wszystkich wersji MySQL i generuje błędy, więc może trzeba go pominąć!Eksport:
Import :
Cała baza danych :
Pojedynczy stół :
źródło
Wszystkie te opcje są w porządku, jeśli masz możliwość ponownego wyeksportowania danych.
Ale jeśli potrzebujesz użyć istniejącego pliku SQL i użyć określonej tabeli z niego, to ten skrypt Perla na blogu TimeSheet , z możliwością wyodrębnienia tabeli do oddzielnego pliku SQL, a następnie zaimportowania jej.
źródło
Importowanie pojedynczej tabeli
Aby zaimportować pojedynczą tabelę do istniejącej bazy danych, użyj następującego polecenia:
Uwaga: Lepiej jest użyć pełnej ścieżki do pliku sql nazwa_tabeli.sql
źródło
Wiersz poleceń
Import / eksport dla pojedynczej tabeli:
Eksportowanie schematu tabeli
Spowoduje to utworzenie pliku o nazwie test.sql i utworzenie polecenia sql tabeli w celu utworzenia tabeli nazwa_tabeli.
Importowanie danych do tabeli
Upewnij się, że plik test.sql znajduje się w tym samym katalogu, jeśli nie, przejdź przez ścieżkę, a następnie uruchom polecenie.
źródło
mysql -u your_user_name -p database_name < test.sql
.account_product_prices
; 23 / *! 40101 SET @saved_cs_client = @@ character_set_client /; 24 / ! 40101 SET znak_zestaw_klienta = utf8 * /; 25 STWÓRZ TABELĘaccount_product_prices
(`Przede wszystkim zaloguj się do swojej bazy danych i sprawdź, czy tabela bazy danych, którą chcesz zaimportować, nie jest dostępna w Twojej bazie danych.
Jeśli jest dostępna, usuń tabelę za pomocą polecenia. W przeciwnym razie wystąpi błąd podczas importowania tabeli.
Następnie przejdź do folderu, w którym masz
.sql
plik do zaimportowania, i uruchom następujące polecenie z terminalaTerminal poprosi Cię o podanie hasła. Wprowadź go i sprawdź bazę danych.
źródło
Działa poprawnie ...
proszę zauważyć, że plik .sql określa Twoją aktualną bazę danych.
źródło
Możemy zaimportować pojedynczą tabelę za pomocą CMD, jak poniżej:
źródło
jeśli masz już żądaną tabelę w swojej bazie danych, najpierw ją usuń, a następnie uruchom poniższe polecenie:
źródło
Z serwera na lokalny (eksportowanie)
Z lokalnego na serwer (importowanie)
źródło
Również działa. W formie polecenia
źródło
Byłoby to połączenie
EXPORT INTO OUTFILE
iLOAD DATA INFILE
Musisz wyeksportować tę pojedynczą tabelę za pomocą
EXPORT INTO OUTFILE
, to wyeksportuje dane tabeli do pliku. Możesz zaimportować tę konkretną tabelę za pomocąLOAD DATA INFILE
Patrz doc1 , doc2
źródło
możesz to zrobić za pomocą polecenia mysql zamiast polecenia linux.
1. zaloguj się do swojego mysql.
2. wykonaj to w poleceniu mysql:
use DATABASE_NAME;
SET autocommit=0 ; source ABSOLUTE_PATH/TABLE_SQL_FILE.sql ; COMMIT ;
źródło
źródło
źródło
Użycie tymczasowej bazy danych może być rozwiązaniem w zależności od rozmiaru bazy danych.
źródło
Aby zaimportować tabelę do bazy danych, jeśli tabela już istnieje, dodaj tę linię do pliku sql
DROP TABLE IF EXIST 'table_name'
i uruchom poleceniemysql -u username -p database_name < import_sql_file.sql
. Przed wykonaniem polecenia sprawdź ścieżkę do pliku sql.źródło