INF.03 · Bazy danych i SQL
Kopia zapasowa, która naprawdę działa
Zanim wypróbujesz nową funkcję w bazie sklepu, robisz jej kopię. Jeśli coś pójdzie źle, przywracasz bazę i wracasz do punktu wyjścia, zamiast tracić tygodnie pracy. Ale kopia jest coś warta dopiero wtedy, gdy ją sprawdzisz: odtworzysz i porównasz. Plik, który nigdy nie został przetestowany, jest tylko nadzieją.
- około 35 minut
- eksport · import · przywracanie
- phpMyAdmin i polecenia SQL
Po tej lekcji: wykonasz eksport i import, ułożysz poprawny plan kopii zapasowej z weryfikacją i wczytasz dane z pliku CSV bez błędu nagłówka.
1 · Cztery słowa
Co oznaczają te operacje
Te cztery pojęcia występują razem, więc łatwo je pomylić.
Eksportbaza → plik
Zapisanie struktury i danych do pliku, najczęściej .sql (komplet poleceń CREATE TABLE i INSERT) albo .csv (dane tabelaryczne).
Na przykład phpMyAdmin: baza, zakładka Eksport, format SQL, Wykonaj.
Importplik → baza
Wczytanie pliku .sql lub .csv z powrotem do bazy.
Na przykład phpMyAdmin: baza, zakładka Importuj, wskaż plik, Wykonaj.
Kopia zapasowaregularny eksport
Eksport całej bazy przechowywany w bezpiecznym miejscu, nie na tym samym dysku co oryginał.
Na przykład plik 2026-03-10_sklep_muzyczny.sql na pendrive i w chmurze.
Przywracaniekopia → baza
Import kopii z powrotem, gdy coś poszło nie tak.
Na przykład po błędnym DROP odtwarzasz bazę z pliku.
2 · Plan kopii z weryfikacją
Kopia, która jest sprawdzona
Kliknij kroki w kolejności, w jakiej wykonałbyś je w szkole albo firmie. Jeśli uznasz kopię za gotową zbyt wcześnie, zobaczysz, dlaczego to ryzykowne.
3 · Dane z pliku
LOAD DATA i SOURCE
Z poziomu samego SQL możesz wczytać dane z pliku CSV poleceniem LOAD DATA INFILE. To najszybszy sposób wczytania wielu wierszy naraz, dużo szybszy niż setki pojedynczych INSERT. Strukturę z pliku .sql odtworzysz w konsoli poleceniem SOURCE.
LOAD DATA INFILE 'klienci.csv'
INTO TABLE Klienci
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
SOURCE 2026-03-10_sklep_muzyczny.sql;
IGNORE 1 ROWSpomija pierwszy wiersz pliku, jeśli zawiera nazwy kolumn zamiast danych. Bez tego nagłówek trafi do tabeli jako zwykły, błędny rekord.SOURCEto polecenie konsoli MySQL. Wykonuje cały plik.sqlkrok po kroku, tak jakbyś wkleił jego zawartość do okna zapytań.- Uwaga na uprawnienia
LOAD DATA INFILEwymaga uprawnienia do plików i dozwolonej lokalizacji. W phpMyAdmin prościej użyć zakładki Importuj i zaznaczyć opcję „pierwszy wiersz zawiera nazwy kolumn”.
4 · Decyzje
Jaka opcja eksportu lub importu?
Przy eksporcie i imporcie w phpMyAdmin stale trzeba coś wybrać. Dobierz właściwą decyzję do sytuacji.
5 · Zanim się pomylisz
Trzy pomyłki w kopiach zapasowych
Rozwiń każdą z nich.
Kopia na tym samym dysku
C:\xampp\mysql\data\ (baza)
C:\xampp\kopia.sql (kopia)Jeśli dysk się zepsuje, tracisz bazę i kopię jednocześnie.
Kopia na pendrive, dysku sieciowym albo w chmurze.Kopia ma być fizycznie osobno od oryginału.
Kopia, której nikt nie sprawdził
Eksport wykonany, plik leży w folderze.O uszkodzonym pliku dowiadujesz się dopiero wtedy, gdy kopia jest potrzebna.
Eksport, import do bazy testowej, porównanie liczby rekordów.Kopia jest sprawdzona dopiero po odtworzeniu.
Nagłówek CSV jako rekord
LOAD DATA INFILE 'klienci.csv'
INTO TABLE Klienci
FIELDS TERMINATED BY ',';Pierwszy wiersz (nazwy kolumn) trafia do tabeli jako błędny rekord, na przykład z imieniem „imie”.
LOAD DATA INFILE 'klienci.csv'
INTO TABLE Klienci
FIELDS TERMINATED BY ','
IGNORE 1 ROWS;IGNORE 1 ROWS pomija nagłówek.
6 · Sprawdź sam siebie
Zanim uznasz import lub kopię za gotowe
W przykładowym zadaniu praktycznym na INF.03 zdający importuje tabele z pliku .sql do nowo utworzonej bazy w phpMyAdmin. Sprawdzane jest też, czy umiesz zweryfikować kopię i przywrócić dane.
Podsumowanie
Co warto zapamiętać
- Eksport zapisuje bazę do pliku, import wczytuje plik do bazy.
- Kopia zapasowa to eksport przechowywany poza serwerem bazy.
- Kopia jest warta tyle, ile jej test: odtwórz i porównaj.
LOAD DATA INFILE ... IGNORE 1 ROWSpomija nagłówek CSV.- Błędy znaków usuwasz, ujednolicając kodowanie (zwykle utf8mb4).
Dalej na swoim koncie
Rozgrzewki, quiz i zadania są w biurku ucznia.
Teoria jest otwarta dla wszystkich. Żeby rozwiązywać zadania, zapisywać szkice i widzieć swój postęp, zaloguj się.
Zaloguj się →