Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator SQL CREATE TABLE

Szybko zbuduj tabelę w bazie

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Zdefiniuj kolumny, aby wygenerować zapytanie CREATE TABLE.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator zapytania CREATE TABLE

Definiowanie tabeli w SQL bywa żmudne. Wpisz kolumny w prostym formacie, a generator złoży gotowe zapytanie dla MySQL lub MariaDB.

Format kolumny

Każda linia to nazwa TYP ograniczenia, na przykład:

id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
email VARCHAR(255) NOT NULL UNIQUE
created_at TIMESTAMP NULL

Wiersze rozpoczynające się od PRIMARY, UNIQUE, KEY lub CONSTRAINT zostaną wstawione bez zmian.

Silnik i charset

Domyślnie używamy InnoDB oraz utf8mb4 z porównywaniem utf8mb4_unicode_ci. To bezpieczny wybór zapewniający obsługę emoji i pełnego Unicode.

Dobre praktyki

  • Klucz główny jako liczba całkowita z AUTO_INCREMENT.
  • Pola tekstowe z ograniczeniem długości (VARCHAR).
  • Kolumny created_at i updated_at do śledzenia zmian.
  • Indeksy na kolumnach często używanych w zapytaniach.

Jak generator składa zapytanie CREATE TABLE

Narzędzie działa jak prosty parser linia po linii. Każdy wiersz jest traktowany jako osobny token wejściowy. Pierwszy wyraz w wierszu to nazwa kolumny lub słowo kluczowe: PRIMARY, UNIQUE, KEY albo CONSTRAINT. Reszta wiersza to definicja — typ danych i ewentualne ograniczenia, takie jak NOT NULL, AUTO_INCREMENT czy UNIQUE.

Jeśli wiersz zaczyna się od PRIMARY, UNIQUE, KEY lub CONSTRAINT, generator wstawia go do sekcji definicji tabeli bez żadnych zmian. W przeciwnym razie pierwszy token staje się nazwą kolumny, a pozostałe tokeny — typem i ograniczeniami. Nie ma tu żadnej magii: generator nie sprawdza, czy typ istnieje w MySQL, ani czy nazwa kolumny nie jest słowem zarezerwowanym. Po prostu skleja tekst w poprawną składniowo całość.

Na końcu doklejane są domyślne ustawienia silnika i kodowania: ENGINE=InnoDB, DEFAULT CHARSET=utf8mb4, COLLATE=utf8mb4_unicode_ci. Kolejność kolumn w wyniku odpowiada kolejności wierszy na wejściu. Klucze i ograniczenia trafiają do wynikowego zapytania w takiej samej kolejności, w jakiej zostały wpisane. Warto więc najpierw wypisać kolumny, a dopiero potem klucze i constrainty.

Przykład: tabela users krok po kroku

  1. W polu tekstowym wpisujemy pierwszą kolumnę: id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT. Generator rozpoznaje nazwę id i resztę jako definicję typu oraz ograniczeń.
  2. Dodajemy drugą kolumnę: email VARCHAR(255) NOT NULL UNIQUE. Nazwa to email, typ VARCHAR o długości 255 znaków, ograniczenia NOT NULL i UNIQUE.
  3. Trzecia kolumna: created_at TIMESTAMP NULL. To znacznik czasu, który może pozostać pusty.
  4. Dopisujemy klucz główny: PRIMARY KEY (id). Wiersz zaczyna się od PRIMARY, więc zostanie wstawiony bez zmian.
  5. Uruchamiamy generator. Otrzymujemy zapytanie: CREATE TABLE users ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, email VARCHAR(255) NOT NULL UNIQUE, created_at TIMESTAMP NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  6. Podsumowanie: powstały 3 kolumny, 1 klucz główny oraz 1 indeks unikalny wynikający z UNIQUE przy kolumnie email. Łącznie daje to 5 elementów definicji tabeli.

Jak generator interpretuje poszczególne wiersze

Wiersz wejściowyCo robi generatorWynik w CREATE TABLE
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENTRozpoznaje nazwę id, resztę traktuje jako typ i ograniczeniaid BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
email VARCHAR(255) NOT NULL UNIQUETworzy kolumnę email z typem VARCHAR(255), NOT NULL i UNIQUEemail VARCHAR(255) NOT NULL UNIQUE
created_at TIMESTAMP NULLTworzy kolumnę created_at z typem TIMESTAMP i możliwością NULLcreated_at TIMESTAMP NULL
PRIMARY KEY (id)Wiersz zaczyna się od PRIMARY — wstawiany bez zmianPRIMARY KEY (id)
UNIQUE KEY email_UNIQUE (email)Wiersz zaczyna się od UNIQUE — wstawiany bez zmianUNIQUE KEY email_UNIQUE (email)
KEY idx_created_at (created_at)Wiersz zaczyna się od KEY — wstawiany bez zmianKEY idx_created_at (created_at)
CONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users(id)Wiersz zaczyna się od CONSTRAINT — wstawiany bez zmianCONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users(id)
(domyślne)Generator dokleja silnik i kodowanie na końcuENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

Praktyczne wskazówki przed wygenerowaniem tabeli

  • Najpierw kolumny, potem klucze. Generator zachowuje kolejność wierszy. Jeśli wstawisz klucz obcy przed kolumną, do której się odwołuje, składnia nadal będzie poprawna, ale trudniej ją czytać. Trzymaj porządek: najpierw wszystkie kolumny, na końcu PRIMARY KEY, UNIQUE, KEY i CONSTRAINT.
  • Nazywaj kolumny jednolicie. Wybierz konwencję, na przykład snake_case, i stosuj ją w całym projekcie. Generator nie poprawi literówek ani niespójności — zrobi dokładnie to, co wpiszesz.
  • Ustawiaj NOT NULL i wartości domyślne świadomie. Dla kolumn wymaganych dodaj NOT NULL, dla opcjonalnych — NULL. Pamiętaj, że generator nie sprawdza, czy kolumna NOT NULL ma DEFAULT, co w MySQL może być wymagane w niektórych trybach.
  • Indeksuj kolumny filtrowane i łączone. Dodaj KEY lub UNIQUE dla kolumn używanych w WHERE, JOIN i ORDER BY. Zbyt wiele indeksów spowalnia zapisy, więc kieruj się realnymi zapytaniami.
  • Testuj na kopii bazy. Wygenerowane CREATE TABLE uruchom najpierw w środowisku testowym. Sprawdź, czy typy i ograniczenia odpowiadają danym, które chcesz przechowywać.

Czego generator nie zrobi i co może zaburzyć wynik

  • Nie waliduje składni SQL. Narzędzie skleja wiersze, ale nie sprawdza, czy typ kolumny istnieje w MySQL/MariaDB ani czy nawiasy są domknięte. Błąd składniowy przeniesie się do wyniku.
  • Nie zna słów zarezerwowanych. Jeśli nazwiesz kolumnę np. order lub select, generator nie doda backticków. Zapytanie może się nie wykonać, dopóki sam nie otoczysz nazwy znakami `.`.
  • Nie wykrywa duplikatów i konfliktów. Dwie kolumny o tej samej nazwie albo dwa klucze główne przejdą przez generator bez ostrzeżenia. MySQL odrzuci takie CREATE TABLE dopiero przy wykonaniu.
  • Nie zarządza kolejnością kluczy obcych. Jeśli tabela odwołuje się do innej tabeli, musisz sam zadbać, aby tabela nadrzędna istniała wcześniej. Generator nie tworzy migracji ani nie sprawdza zależności między tabelami.

Najczęstsze pytania

Czym różni się InnoDB od MyISAM?

InnoDB wspiera transakcje, klucze obce i odzyskiwanie po awarii — jest domyślnym i zalecanym silnikiem.

Dlaczego utf8mb4, a nie utf8?

W MySQL „utf8” obsługuje tylko 3 bajty i nie mieści emoji. utf8mb4 to pełny UTF-8.

Czy mogę dodać klucz obcy?

Tak — wpisz wiersz zaczynający się od CONSTRAINT z definicją FOREIGN KEY. Zostanie wstawiony bez zmian.

Jak wygenerować zapytanie CREATE TABLE dla MySQL?

Wpisz kolumny w formacie nazwa TYP ograniczenia, dodaj klucze w osobnych wierszach i skopiuj wynik. Generator domyślnie ustawi silnik InnoDB oraz kodowanie utf8mb4.

Czy generator obsługuje MariaDB?

Tak, składnia CREATE TABLE w MariaDB jest w praktyce zgodna z MySQL dla typów i silników użytych w narzędziu. Domyślne ustawienia InnoDB i utf8mb4 również działają w MariaDB.

Jak dodać klucz obcy w CREATE TABLE?

Wpisz wiersz zaczynający się od CONSTRAINT, na przykład CONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users(id). Generator wstawi go bez zmian.

Co oznacza COLLATE utf8mb4_unicode_ci?

To sposób porównywania tekstów: wielkość liter nie ma znaczenia (ci = case insensitive), a reguły sortowania są zgodne z Unicode. Domyślnie używamy tego zestawu dla pełnej obsługi emoji i znaków spoza ASCII.

Czy mogę wkleić gotowy CREATE TABLE i coś zmienić?

Narzędzie przyjmuje format linia po linii, a nie cały blok SQL. Jeśli wkleisz gotowe CREATE TABLE, potraktuj je jako źródło i przepisz definicje kolumn do osobnych wierszy. Wtedy generator złoży nową wersję.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!