Generator zapytań SQL
Wybierz typ operacji, podaj tabelę i kolumny – generator stworzy poprawne zapytanie SQL. Dodawaj warunki WHERE, sortowanie i limity.
-- Wpisz nazwę tabeli
Czym jest SQL?
SQL (Structured Query Language) to standardowy język zapytań służący do zarządzania danymi w relacyjnych bazach danych. Pozwala na tworzenie, odczyt, aktualizację i usuwanie danych (operacje CRUD).
Podstawowe operacje SQL
SELECT – pobieranie danych
SELECT imie, nazwisko, wiek
FROM uzytkownicy
WHERE wiek >= 18
ORDER BY nazwisko ASC
LIMIT 10;
INSERT – wstawianie danych
INSERT INTO uzytkownicy (imie, nazwisko, email)
VALUES ('Jan', 'Kowalski', 'jan@example.pl');
UPDATE – aktualizacja danych
UPDATE uzytkownicy
SET email = 'nowy@example.pl'
WHERE id = 42;
DELETE – usuwanie danych
DELETE FROM uzytkownicy
WHERE ostatnie_logowanie < '2023-01-01';
CREATE TABLE – tworzenie tabeli
CREATE TABLE produkty (
id INTEGER PRIMARY KEY,
nazwa VARCHAR(100) NOT NULL,
cena DECIMAL(10,2) DEFAULT 0,
utworzono TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Klauzula WHERE – filtrowanie
| Operator | Znaczenie | Przykład |
|---|---|---|
= | Równy | WHERE status = 'aktywny' |
!= / <> | Różny | WHERE rola <> 'admin' |
>, <, >=, <= | Porównanie | WHERE cena > 100 |
BETWEEN | Zakres | WHERE wiek BETWEEN 18 AND 65 |
IN | Lista wartości | WHERE miasto IN ('Warszawa', 'Kraków') |
LIKE | Wzorzec | WHERE imie LIKE 'Jan%' |
IS NULL | Brak wartości | WHERE email IS NULL |
AND / OR | Logiczne | WHERE wiek > 18 AND miasto = 'Poznań' |
JOIN – łączenie tabel
| Typ JOIN | Opis |
|---|---|
INNER JOIN | Tylko pasujące rekordy z obu tabel |
LEFT JOIN | Wszystko z lewej + pasujące z prawej |
RIGHT JOIN | Wszystko z prawej + pasujące z lewej |
FULL JOIN | Wszystko z obu tabel |
SELECT z.id, u.imie, p.nazwa
FROM zamowienia z
INNER JOIN uzytkownicy u ON z.user_id = u.id
INNER JOIN produkty p ON z.produkt_id = p.id;
Popularne typy danych
| Typ | Opis | Przykład |
|---|---|---|
INTEGER / INT | Liczba całkowita | 42 |
VARCHAR(n) | Tekst do n znaków | 'Warszawa' |
TEXT | Tekst bez limitu | Długi opis |
DECIMAL(p,s) | Liczba dziesiętna | 99.99 |
BOOLEAN | Prawda/Fałsz | TRUE |
DATE | Data | '2024-03-15' |
TIMESTAMP | Data i czas | '2024-03-15 14:30:00' |
JSON | Dane JSON | '{"klucz": "wartość"}' |
Bezpieczeństwo – SQL Injection
Nigdy nie wstawiaj danych użytkownika bezpośrednio do zapytań SQL:
-- ŹLE (podatne na SQL Injection):
SELECT * FROM users WHERE name = '" + userInput + "'
-- DOBRZE (parametryzowane zapytanie):
SELECT * FROM users WHERE name = ?
Ochrona przed SQL Injection:
- Używaj parametryzowanych zapytań (prepared statements)
- Stosuj ORM (Sequelize, Prisma, SQLAlchemy, Hibernate)
- Waliduj dane wejściowe po stronie serwera
- Ogranicz uprawnienia konta bazodanowego
Dialekty SQL
| Cecha | MySQL | PostgreSQL | SQLite |
|---|---|---|---|
| Licencja | Komercyjna/GPL | Open source | Public domain |
| JSON | Tak | Tak (JSONB) | Tak |
| Auto increment | AUTO_INCREMENT | SERIAL | AUTOINCREMENT |
| Limit | LIMIT n | LIMIT n | LIMIT n |
| Komentarz | -- lub # | -- | -- |
| Konkatenacja | CONCAT() | ` |
Najczęstsze błędy
- **SELECT *** – pobieranie wszystkich kolumn obciąża bazę
- Brak indeksów – zapytania na dużych tabelach bez indeksów są wolne
- N+1 problem – zapytanie w pętli zamiast JOIN
- Brak WHERE w UPDATE/DELETE – modyfikuje/usuwa wszystkie rekordy!
- Mieszanie NULL –
NULL = NULLzwraca FALSE, użyjIS NULL
Jeśli ten kalkulator był przydatny, sprawdź również: JSON, .htpasswd, CV i więcej kalkulatorów.
Najczęstsze pytania (FAQ)
Co to jest SQL?
SQL (Structured Query Language) to język zapytań do baz danych relacyjnych. Pozwala tworzyć, czytać, aktualizować i usuwać dane (CRUD). Używany w MySQL, PostgreSQL, SQLite, SQL Server.
Czym jest SQL injection?
Atak polegający na wstrzyknięciu złośliwego kodu SQL przez formularz. Ochrona: parametryzowane zapytania (prepared statements), walidacja danych wejściowych, ORM.
MySQL vs PostgreSQL – co wybrać?
MySQL – prostszy, szybszy do prostych operacji, popularny w WordPress/PHP. PostgreSQL – bardziej zgodny ze standardem SQL, lepszy do złożonych zapytań, JSONB, full-text search.
Źródła i podstawa prawna
Wyliczenia opieramy na oficjalnych źródłach. Sprawdź szczegóły u instytucji, które je publikują:
- SQL — język zapytań do baz danychWikipedia
Kalkulator ma charakter orientacyjny i nie stanowi porady prawnej, podatkowej ani medycznej. W indywidualnej sprawie skonsultuj się z właściwym urzędem, doradcą lub lekarzem.
Zobacz, jak liczymy i weryfikujemy obliczenia. Zauważyłeś błąd? Napisz: kontakt@kalkula.pl.
