# Eksport całej bazy danych mysqldump -u root -p sklep > backup_sklep.sql # Eksport tylko struktury (bez danych) mysqldump -u root -p --no-data sklep > struktura.sql # Eksport tylko danych (bez struktury) mysqldump -u root -p --no-create-info sklep > dane.sql # Eksport konkretnej tabeli mysqldump -u root -p sklep produkty > produkty.sql # Eksport kilku tabel mysqldump -u root -p sklep klienci zamowienia > klienci_zam.sql # Eksport wszystkich baz danych mysqldump -u root -p --all-databases > wszystkie_bazy.sql # Eksport z kompresją mysqldump -u root -p sklep | gzip > backup_sklep.sql.gz
--no-data eksportuje tylko strukturę tabel (CREATE TABLE), bez żadnych danych (INSERT). Przydatne do dokumentacji schematu lub tworzenia nowej instalacji.
# Import do istniejącej bazy mysql -u root -p sklep < backup_sklep.sql # Import z pliku skompresowanego gunzip < backup_sklep.sql.gz | mysql -u root -p sklep # Import z wyświetlaniem postępu (pv — pipe viewer) pv backup_sklep.sql | mysql -u root -p sklep # Import wewnątrz klienta MySQL mysql> USE sklep; mysql> SOURCE /ścieżka/do/backup_sklep.sql
CREATE DATABASE IF NOT EXISTS sklep;. Plik .sql wygenerowany przez mysqldump zawiera polecenia tworzące tabele i wstawiające dane — wykonuje się sekwencyjnie.
-- Import z pliku CSV do tabeli LOAD DATA INFILE '/tmp/produkty.csv' INTO TABLE produkty FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS -- pomiń wiersz nagłówkowy (nazwa, cena, ilosc_mag); -- kolejność kolumn w pliku -- Import z transformacją danych LOAD DATA INFILE '/tmp/data.csv' INTO TABLE produkty FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n' -- Windows line ending (nazwa, @cena_str, ilosc) SET cena = REPLACE(@cena_str, ',', '.'); -- zamień przecinek na kropkę -- Eksport do pliku CSV SELECT id_produktu, nazwa, cena FROM produkty INTO OUTFILE '/tmp/produkty_export.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
| Operacja | Ścieżka w phpMyAdmin | Dostępne formaty |
|---|---|---|
| Eksport bazy | Wybierz bazę → zakładka "Eksport" | SQL, CSV, Excel, JSON, XML |
| Import do bazy | Wybierz bazę → zakładka "Import" | SQL, CSV, XML, JSON |
| Eksport tabeli | Wybierz tabelę → zakładka "Eksport" | SQL, CSV, Excel, JSON |
| Szybki eksport | Strona główna → Eksport → "Szybki" | SQL (gotowe domyślne ustawienia) |
mysqldump przez linię komend.
Która opcja polecenia mysqldump eksportuje TYLKO strukturę tabel (bez zawartości)?
Uzupełnij brakujące słowo kluczowe w poleceniu importującym CSV (pola oddzielone średnikiem, pomijamy wiersz nagłówkowy):
LOAD DATA INFILE '/tmp/dane.csv' INTO TABLE klienci FIELDS TERMINATED BY ';' ___ 1 ROWS;
mysqldump -u root -p baza > plik.sqlmysql -u root -p baza < plik.sql--no-data = tylko struktura; --no-create-info = tylko daneLOAD DATA INFILE = szybki import CSV do tabeli; IGNORE 1 ROWS pomija nagłówekSELECT ... INTO OUTFILE = eksport wyników zapytania do pliku na serwerze