Jak wygląda plik .sql i w jakiej kolejności stoją w nim polecenia, jak zaimportować i wyeksportować bazę w phpMyAdmin oraz przez mysqldump, czym różni się eksport SQL od CSV i czym są formularze, kwerendy i raporty. Lekcja 8.8 kursu INF.03.
Skrypt SQL to zwykły plik tekstowy z poleceniami, które baza wykonuje po kolei. Import wczytuje taki plik do bazy, eksport zapisuje bazę do pliku. Od tej lekcji zaczyna się każdy egzamin praktyczny INF.03: pierwszym poleceniem arkusza jest utworzenie bazy i zaimportowanie do niej tabel z gotowego pliku, a dowodem jest zrzut ekranu.
Jak wygląda skrypt SQL
Plik z rozszerzeniem .sql zawiera polecenia oddzielone średnikami. Kolejność wynika z zależności: baza, potem tabele nadrzędne, potem tabele z kluczami obcymi, na końcu dane.
-- Baza egzaminacyjna, wersja z 07.09.2026
DROP DATABASE IF EXISTS egzamin;
CREATE DATABASE egzamin DEFAULT CHARACTER SET utf8mb4;
USE egzamin;
CREATE TABLE klient (
id INT AUTO_INCREMENT PRIMARY KEY,
imie VARCHAR(40) NOT NULL,
miasto VARCHAR(40)
);
CREATE TABLE zamowienie (
id INT AUTO_INCREMENT PRIMARY KEY,
klient_id INT,
kwota DECIMAL(8,2) NOT NULL,
FOREIGN KEY (klient_id) REFERENCES klient(id)
);
INSERT INTO klient (imie, miasto) VALUES ('Anna', 'Kraków'), ('Piotr', 'Gdańsk');
INSERT INTO zamowienie (klient_id, kwota) VALUES (1, 650), (1, 120), (2, 25);
Cztery rzeczy, które w takim pliku muszą się zgadzać:
›
Średnik po każdym poleceniu. Bez niego baza skleja dwa polecenia w jedno i zgłasza błąd składni.
›
USE baza; albo wybór bazy w narzędziu. Bez tego polecenia CREATE TABLE nie wiedzą, gdzie tworzyć tabele.
›
Kolejność tabel. zamowienie z kluczem obcym musi powstać po klient.
›
Kodowanie pliku UTF-8. Skrypt zapisany w innym kodowaniu wstawi „Kraków" jako „Kraków".
Import w phpMyAdmin
Na egzaminie plik z tabelami jest w archiwum, które rozpakowujesz na pulpit. Kroki:
1.
Uruchom XAMPP Control Panel i wystartuj usługi Apache oraz MySQL.
2.
Wejdź na http://localhost/phpmyadmin.
3.
Utwórz bazę o nazwie z arkusza (zwykle egzamin), zestaw znaków utf8mb4_polish_ci.
4.
Kliknij nazwę bazy na liście po lewej, żeby była wybrana. To jest krok, który najczęściej się pomija: import bez wybranej bazy tworzy tabele w złym miejscu albo kończy się błędem.
5.
Zakładka Import, przycisk wyboru pliku, wskaż plik .sql, kodowanie utf-8, format SQL, na dole Wykonaj.
6.
Sprawdź, czy tabele pojawiły się na liście i mają wiersze. Dopiero teraz zrób zrzut ekranu.
Arkusz zwykle każe zapisać zrzut jako import.jpg i wymaga, żeby było na nim widać CAŁY ekran razem z paskiem zadań. Zrzut samego okna przeglądarki nie spełnia tego warunku.
Eksport i kopia zapasowa
Eksport zapisuje bazę do pliku, który można wczytać z powrotem. W phpMyAdmin służy do tego zakładka Eksport z dwiema metodami:
Szybka
cały wybrany obiekt, ustawienia domyślne, jeden klik
Własna
wybór tabel, zakres (struktura, dane, oba), kompresja, dodatki jak DROP TABLE
Wybór „struktura i dane" jest tym, czego zwykle chcesz: struktura to polecenia CREATE TABLE, dane to polecenia INSERT. Sama struktura daje pustą bazę, same dane nie zadziałają bez tabel.
Format
Co zawiera
Kiedy używać
SQL
polecenia CREATE i INSERT
kopia zapasowa i przenoszenie bazy
CSV
same wiersze, wartości rozdzielone przecinkami
dane do arkusza kalkulacyjnego
XML, JSON
dane ze strukturą znaczników
wymiana danych z inną aplikacją
PDF
wydruk
tylko do czytania, nie da się wczytać z powrotem
To samo z wiersza poleceń robi mysqldump:
mysqldump -u root -p egzamin > kopia.sql # eksport całej bazy
mysqldump -u root -p egzamin klient > klient.sql # eksport jednej tabeli
mysql -u root -p egzamin < kopia.sql # przywrócenie z kopii
Zwróć uwagę na strzałki: > zapisuje wynik do pliku, < wczytuje plik do bazy. Do eksportu służy program mysqldump, do importu zwykły klient mysql.
Pułapka: eksport CSV nie jest kopią zapasową bazy. Nie ma w nim struktury tabel, kluczy ani relacji, więc z samego pliku CSV nie da się odtworzyć bazy.
Import danych z pliku
Odwrotna operacja też bywa w zadaniach: masz dane w pliku CSV i musisz je wstawić do istniejącej tabeli. W phpMyAdmin wybiera się tabelę, zakładkę Import, format CSV i ustawia separator (przecinek albo średnik) oraz to, czy pierwszy wiersz zawiera nazwy kolumn. Z wiersza poleceń robi to LOAD DATA INFILE.
Warunek jest jeden: kolumny w pliku muszą odpowiadać kolumnom tabeli co do liczby i kolejności.
Formularze, kwerendy i raporty
Podstawa programowa wymienia „formularze, zapytania i raporty". Te trzy nazwy pochodzą z programów typu Microsoft Access i LibreOffice Base, gdzie baza i interfejs siedzą w jednym pliku.
Tabela
przechowuje dane
Kwerenda (zapytanie)
wybiera i przelicza dane, czyli to samo, co SELECT
Formularz
okno do WPROWADZANIA i poprawiania danych, wygodniejsze niż tabela
Raport
wydruk danych z podsumowaniami, do czytania i drukowania
W MySQL z phpMyAdmin formularzy i raportów nie ma: rolę formularza pełni strona z formularzem HTML i skryptem PHP, a rolę raportu wydruk strony albo eksport. To dlatego INF.03 uczy jednocześnie SQL i PHP: formularz na stronie plus zapytanie do bazy to dokładnie ta sama para pojęć, tylko zbudowana z klocków webowych.
Stare pytania w bankach pytają wprost o Access („w widoku projektu kwerendy", „maska wprowadzania"). To pozostałość po kwalifikacji E.14; dzisiejszy egzamin praktyczny INF.03 używa MySQL i phpMyAdmin.
Na egzaminie
Pytania pisemne: co zawiera eksport „tylko struktura", które polecenie tworzy kopię zapasową bazy, do czego służy formularz, a do czego raport, oraz rozpoznanie kolejności poleceń w skrypcie.
W części praktycznej cała ta lekcja to pierwsze zadanie arkusza. Kolejność bez skrótów: uruchom Apache i MySQL, utwórz bazę, wybierz ją, zaimportuj plik, sprawdź tabele, zrób zrzut całego ekranu i zapisz go pod nazwą z arkusza, w folderze nazwanym twoim numerem PESEL. Dopiero potem pisz kwerendy.
Ściąga
skrypt SQL
polecenia po średniku, kolejność: baza, tabele nadrzędne, tabele z kluczem obcym, dane
start środowiska
XAMPP: Apache i MySQL, potem localhost/phpmyadmin
import
wybierz bazę, zakładka Import, plik .sql, kodowanie utf-8
eksport w GUI
zakładka Eksport, metoda Własna, zakres „struktura i dane"
eksport z konsoli
mysqldump -u root -p baza > kopia.sql
przywrócenie
mysql -u root -p baza < kopia.sql
kopia zapasowa
format SQL; CSV to tylko dane
kwerenda, formularz, raport
wybieranie danych, wprowadzanie danych, wydruk
Pobierz ściągę PDF