Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

SQL Tworzenie tabeli

SQL Tworzenie tabeli

SQL jest językiem specyficznym dla danej dziedziny, który inżynierowie wykorzystują do obsługi danych przechowywanych w relacyjnych bazach danych lub do przetwarzania strumieniowego w relacyjnych systemach zarządzania strumieniami danych. Dane w relacyjnej bazie danych można przechowywać za pomocą tabel. Pierwszą rzeczą, jaką należy zrobić w tym procesie, jest stworzenie bazy danych, na której chcemy pracować. Następnie tworzymy tabele, w których będą przechowywane rzeczywiste dane. Tabela w takiej bazie danych będzie miała zarówno wiersze jak i kolumny.

Z każdą kolumną będzie związany określony datatype, który określa rodzaj danych, jakie może ona przechowywać. Podczas tworzenia tabeli musimy określić nazwę i typ danych każdej kolumny. Tabelę można utworzyć za pomocą polecenia SQL CREATE TABLE zarówno w bazach MySQL, jak i PostgreSQL.

Przyjrzyjmy się dokładniej poleceniu SQL CREATE TABLE.

Jak mogę utworzyć tabelę za pomocą SQL?

Możesz utworzyć tabelę w MySQL za pomocą następującej składni:

CREATE TABLE table_name(

column_1 data_type wartość domyślna column_constraint,

column_2 data_type wartość domyślna column_constraint,

...,

...,

ograniczenie_tabeli

);

Podstawowe rzeczy, które powinieneś mieć podczas tworzenia tabeli to jej nazwa i przynajmniej jedna nazwa kolumny. W bazie danych powinna istnieć tylko jedna tabela o danej nazwie. Baza danych wyświetli komunikat o błędzie, jeśli spróbujesz stworzyć dwie tabele o tej samej nazwie.

Wewnątrz nawiasów podajemy nazwy kolumn, które chcemy utworzyć w tabeli, wraz z typem danych, które będą do niej wprowadzane. Przecinki będą oddzielać nazwy tych kolumn. Nazwa, typ danych, domyślna wartość kolumny oraz jedno lub więcej ograniczeń kolumny tworzą każdą kolumnę.

Ograniczenia kolumny kontrolują rzeczywistą wartość danych, które mogą być przechowywane w kolumnie. Na przykład ograniczenie NOT NULL gwarantuje, że w tej konkretnej kolumnie nie istnieją wartości NULL. Możesz mieć więcej niż jedno ograniczenie dla pojedynczej kolumny. Na przykład kolumna może zawierać zarówno ograniczenie NOT NULL jak i UNIQUE.

Jeśli chcesz zastosować ograniczenia do wszystkich kolumn w tabeli, możesz użyć ograniczeń tabeli. Niektóre przykłady to FOREIGN KEY, CHECK i UNIQUE. Każda tabela może mieć klucz główny, który składa się z jednej lub więcej niż jednej kolumny. Ten klucz główny jest używany do unikalnej identyfikacji każdego rekordu tabeli. Zwykle najpierw wymieniasz kolumnę klucza głównego, a następnie pozostałe. Musisz zadeklarować ograniczenie PRIMARY KEY jako ograniczenie tabeli, jeśli składa się z dwóch lub więcej kolumn.

Przyjrzyjmy się przykładowi:

CREATE TABLE CUSTOMERS(

ID INT NOT NULL,

NAME VARCHAR (20) NOT NULL,

AGE INT NOT NULL,

SALARY DECIMAL (18, 2),

KLUCZ GŁÓWNY (ID)

);

Tutaj nazwa tabeli to "KLIENCI", a jej kluczem głównym jest ID. Kolumny ID, NAME i AGE mają ograniczenie NOT NULL. Długość nazwy powinna być mniejsza niż 20 znaków. Teraz utworzyliśmy tabelę za pomocą polecenia SQL CREATE TABLE i możemy wstawić do niej i do bazy danych odpowiednie dane.

Czy można mieć tabelę wewnątrz tabeli w MySQL/PostgreSQL?

Posiadanie tabeli wewnątrz tabeli nazywane jest zagnieżdżaniem tabel. W tym celu musielibyśmy stworzyć tabelę wewnątrz innej tabeli za pomocą polecenia SQL CREATE TABLE. Jest to koncepcja, która nie istnieje w MySQL. Możemy jednak osiągnąć ten sam efekt, co w przypadku zagnieżdżonych tabel, używając klucza głównego i klucza obcego. Tworzy to relację rodzic-dziecko pomiędzy dwoma tabelami.

Pole lub grupa pól w jednej tabeli, które odwołuje się do KLUCZA GŁÓWNEGO innej tabeli jest znane jako KLUCZ OBCY. Tabela z głównym kluczem głównym jest określana jako tabela nadrzędna, podczas gdy tabela z kluczem obcym jest określana jako tabela dziecięca.

Na przykład, załóżmy, że mamy tabelę nadrzędną Vehicle, której kluczem głównym jest VehId. Mamy jeszcze dwie tabele, odpowiednio Car, z kluczem podstawowym CarId, oraz Truck, z kluczem podstawowym TruckId. Jeśli umieścimy VehId jako klucz obcy zarówno w Car jak i Truck, to Vehicle stanie się jego tabelą nadrzędną, tworząc tym samym relację rodzic-dziecko.

Tabela nadrzędna Vehicle {VehId}

Tabele podrzędne

1. samochód {VehId,CarId}

2. Truck {VehId,TruckId}

Czy można wybrać do tabeli SQL bez jej wcześniejszego tworzenia?
Aby wybrać dane z bazy danych, używamy instrukcji SELECT. Dane z niej przechowywane są w tabeli wynikowej zwanej zbiorem wyników. Jest ona używana do wybierania części tabeli lub całej tabeli w całości. Kiedy kodujesz i utworzyłeś tabelę za pomocą polecenia SQL CREATE TABLE, możesz użyć polecenia SELECT do przeglądania utworzonych tabel.

Jej składnia wygląda tak:

SELECT kolumna_1, kolumna_2, ...

FROM table_name;

Na przykład następujące polecenie wybiera całą tabelę.

SELECT * FROM table_name;

SELECT INTO
Dane z jednej tabeli są przenoszone do innej tabeli za pomocą polecenia SELECT INTO. Może ono skopiować wszystkie kolumny jednej tabeli do drugiej. Jest to zwykle stosowane, gdy tabela, do której kopiowane są dane, już istnieje.

Aby wybrać wszystkie kolumny tabeli:

SELECT *.

INTO new_table [IN externaldb]

FROM old_table

WHERE warunek;

Aby wybrać tylko kilka kolumn do nowej tabeli:

SELECT kolumna_1, kolumna_2, kolumna_3, ...

Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

INTO new_table [IN externaldb]

FROM old_table

WHERE condition;

Czy możemy zatem dokonać selekcji do tabeli, jeśli jeszcze jej nie utworzyliśmy za pomocą SQL CREATE TABLE?

Logicznie rzecz biorąc, odpowiedź powinna brzmieć: nie. Jednak tak nie jest i możemy wybierać do tabeli, nawet jeśli jeszcze jej nie stworzyliśmy. Gdy trzeba utworzyć tabelę, a dane z jednej tabeli trzeba przenieść do nowo utworzonej tabeli, wykorzystuje się to podejście. Do wygenerowania nowej tabeli wykorzystywane są te same typy danych, co wybrane kolumny.

Jak stworzyć tabelę produktową w SQL?

Tabela produktowa w SQL może być utworzona na różne sposoby. Jedną z opcji jest użycie polecenia SQL CREATE TABLE. Informacje o produkcie będą zawarte w tabeli, którą to polecenie utworzy. Polecenie SELECT może być również użyte do przeglądania i pobierania danych z tabeli. Składnia dla obu z nich została wymieniona powyżej.

Do wstawiania nowych danych do tabeli może posłużyć również polecenie INSERT. Dzięki instrukcji INSERT dane zostaną wstawione do tabeli w wyznaczonym miejscu. Dane można również wyjąć z tabeli za pomocą zapytania SELECT, a następnie dodać je do innej tabeli za pomocą instrukcji INSERT.

INSERT INTO
Instrukcji INSERT INTO używamy do dodawania nowych rekordów do tabeli. Składnia instrukcji INSERT to:

INSERT INTO nazwa_tabeli (kolumna_1, kolumna_2, ...)

VALUES (wartość_1, wartość_2, ...);

To, co różni tabelę produktów, to tylko aspekt projektowy tego samego. Nazwa produktu, model, klasa, rok modelowy i cena katalogowa są przechowywane w bazie danych produktów. Każdy przedmiot jest częścią marki identyfikowanej przez kolumnę id marki. W związku z tym, marka może mieć jeden produkt lub wiele. Każdy produkt jest członkiem kategorii, która jest identyfikowana przez id kategorii w tabeli.

Jakie typy danych nadają się do baz danych SQL?

Podczas korzystania z polecenia SQL CREATE TABLE musimy wymienić typy danych dla kolumn. Dane, które może zawierać kolumna, zależą od tego typu danych. Przykładami mogą być liczby całkowite, znaki, dane binarne, data i czas oraz inne. Tabela bazy danych musi mieć nazwę, jak również typ danych dla każdej kolumny.

Podczas tworzenia tabeli programista SQL musi określić, jakiego rodzaju dane będą zawarte w każdej kolumnie. Typ danych określa, w jaki sposób SQL będzie współpracował z przechowywanymi danymi. Pomaga on w określeniu, jaki rodzaj danych jest przewidywany wewnątrz każdej kolumny. Trzy podstawowe typy danych w MySQL 8.0 to string, numeric oraz data i czas.

Typy danych String
Typy danych String to ogólnie rzecz biorąc zbiór znaków należących do alfabetu angielskiego. Główne typy danych typu string to:

  • CHAR(rozmiar)
  • VARCHAR(rozmiar)
  • BINARY(rozmiar)
  • VARBINARY(rozmiar)
  • TINYBLOB
  • TINYTEXT
  • TEXT(size)
  • BLOB(size)
  • MEDIUMTEXT
  • MEDIUMBLOB
  • LONGTEXT
  • LONGBLOB
  • ENUM(val_1, val_2, val_3, ...)
  • SET(val_1, val_2, val_3, ...)

SIZE oznacza tutaj maksymalny rozmiar, jaki mogą przyjąć przechowywane dane. CHAR to ciąg znaków o stałej długości, natomiast VARCHAR to ciąg znaków o zmiennej długości. Są to najczęściej używane typy danych łańcuchowych. BLOB to obiekt typu Binary Large Object.

Numeryczne typy danych.
Zmienne numerycznego typu danych służą do przechowywania danych numerycznych. Są one dalej podzielone na dwa rodzaje typów danych - Exact i Approximate. Dokładne typy danych są używane do przechowywania wartości danych w ich dosłownej formie. Podczas gdy liczby rzeczywiste są zawarte w przybliżonych typach danych, informacje nie są dosłownie zapisywane jako kopia prawdziwych wartości. Główne liczbowe typy danych to:

  • BIT(size)\N
  • TINYINT(size)
  • BOOL
  • BOOLEAN
  • SMALLINT(size)
  • MEDIUMINT(size)
  • INT(size)
  • INTEGER(size)
  • BIGINT(size)
  • FLOAT(size, d)
  • FLOAT(p)
  • DOUBLE(size, d)
  • DOUBLE PRECISION(size, d)
  • DECIMAL(size, d)
  • DEC(size, d)

Najczęściej używanym typem danych liczbowych jest INT. Służy on do przechowywania liczb niedziesiętnych, natomiast zmienne o typie danych FLOAT służą do przechowywania liczb dziesiętnych. W typie danych BOOL, zero jest uważane za FALSE, a wartości niezerowe za TRUE.

Data i czas
Typy danych daty i czasu są używane do przechowywania danych dat. Głównymi typami danych daty i czasu są:

  • DATE
  • DATETIME(fsp)
  • TIMESTAMP(fsp)
  • TIME(fsp)
  • YEAR

Typy danych serwera SQL są podobne do podanych wyżej typów danych, ale z niewielkimi różnicami syntaktycznymi.

Jakie są rodzaje zmiennych w serwerze SQL?

W serwerze MS SQL istnieją dwie kategorie zmiennych:

Zmienna lokalna.

Użytkownik deklaruje zmienną lokalną. Zaczyna się ona zawsze od znaku @. Zakres każdej zmiennej lokalnej jest ograniczony do partii lub procesu, który jest aktualnie uruchomiony w ramach danej sesji. Zmienna lokalna Transact-SQL jest rodzajem obiektu, który może przechowywać tylko jeden określony rodzaj wartości danych. Skrypty i partie często wykorzystują zmienne:

  • jako licznik, albo do zarządzania szybkością powtarzania pętli, albo do śledzenia, ile razy jest ona wykonywana.
  • do przechowywania wartości danych, które zostaną poddane kontroli przepływu.
  • aby przechowywać wartość danych, którą zwróci funkcja.

Zmienna globalna

System przechowuje zmienne globalne. Użytkownicy nie mogą ich upubliczniać. @@ to miejsce, w którym zaczyna się zmienna globalna. Przechowuje ona dane dotyczące sesji.

Deklarowanie zmiennej

Pomocne byłoby zdefiniowanie dowolnej zmiennej przed użyciem jej w partii lub procesie. Zmienna zastępująca miejsce w pamięci jest deklarowana za pomocą polecenia DECLARE. Zmienna może być wykorzystana dopiero po zadeklarowaniu jej w kolejnym kroku partii lub procedury.

Składnia TSQL do zadeklarowania zmiennej wygląda następująco:

Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

DECLARE { @LOCAL_VARIABLE[AS] data_type [ = wartość ] }

Programista może również zdecydować o wartości zdefiniowanej zmiennej przez :

  • W procesie deklaracji zmiennej za pomocą słowa kluczowego DECLARE
  • Używając SET
  • Używając SELECT

Dlaczego typy danych są ważne w języku SQL?

Typ danych należy do podstawowych składników każdego języka kodowania, niezależnie od tego, czy jest to język programowania, taki jak C, czy język manipulacji danymi, taki jak SQL. W rzeczywistości SQL obsługuje ponad 30 typów danych, które mogą przechowywać różne formy rzeczywistych danych. Najlepiej będzie, jeśli przed rozpoczęciem pracy z danymi poznasz różne typy danych SQL.

Rodzaje informacji, które mogą być przechowywane w obiektach bazy danych, takich jak tabele, są określone przez typy danych SQL. Każda kolumna w tabeli posiada nazwę i typ danych, a każda tabela posiada kolumny. Typy danych stanowią podstawę każdego języka, ponieważ nie można manipulować danymi bez ich użycia.

Należy wiedzieć, że nie wszystkie typy danych są obsługiwane przez systemy baz danych. Dlatego musisz sprawdzić, zanim zastosujesz konkretny typ danych. Na przykład, nie możesz użyć DateTime w Oracle, ponieważ nie pozwala na ten typ danych.

Podobnie MySQL nie używa Unicode jako typu danych. Możesz użyć dodatkowych typów danych, które mają niektóre bazy danych. Na przykład "money" i "smallmoney" w Microsoft SQL Server można zastąpić "float" i "real", ale te terminy są specyficzne dla bazy danych i nie występują w innych systemach baz danych. Czasami określone typy danych są określane różnymi nazwami w niektórych bazach danych. Oracle, na przykład, odnosi się do "decimal" jako "number" i "blob" jako "raw".

Czy wiele tabel może mieć ten sam klucz główny?

Tak. W kilku tabelach klucz główny może mieć tę samą nazwę kolumny. Wewnątrz tabeli, nazwy kolumn muszą być odrębne. Ponieważ decyduje o integralności Entities, tabela może zawierać tylko jeden klucz główny. Każda tabela może zawierać klucz główny, ale nie jest to wymagane. Żadne dwa wiersze nie mogą dzielić tego samego klucza głównego, dzięki kolumnie lub kolumnom wyznaczonym jako klucz główny. Klucz główny jednej tabeli może być użyty do identyfikacji rekordów innej tabeli i być częścią klucza głównego tej drugiej.

Jak użyć "order by" na kluczu głównym?

Polecenie ORDER BY może być użyte do posortowania zestawu wyników. Może to być zarówno kolejność rosnąca jak i malejąca. Rekordy są zazwyczaj sortowane przy użyciu słowa kluczowego ORDER BY w kolejności rosnącej. Możesz użyć słowa kluczowego DESC, aby uporządkować wpisy w porządku malejącym.

Składnia orderu wygląda tak:

SELECT column_1, column_2, ...

FROM nazwa_tabeli

ORDER BY kolumna_1, kolumna_2, ... ASC|DESC;

Na przykład załóżmy, że istnieje tabela o nazwie Użytkownicy; możesz posortować ją w porządku rosnącym lub malejącym na podstawie miasta użytkowników.

SELECT * FROM Użytkownicy

ORDER BY City;

Aby posortować to samo w porządku malejącym:

SELECT * FROM Users

ORDER BY Miasto DESC;

ORDER BY na kluczu głównym

Po prostu użyj ORDER BY jak zwykle na nazwie klucza podstawowego, takiego jak "RollID":

SELECT * FROM my_table WHERE col_1 < 5 ORDER BY RollID;

Optymalizator zapytań może lub nie może zdecydować się na użycie struktury indeksu klucza głównego do analizy sortowania zamiast wykonywania aktywnego sortowania na zestawie wyników zapytania, aby rozwiązać problem ORDER BY w oparciu o to, jak zdecyduje się ocenić zapytanie.

Większość zapytań do pojedynczej tabeli bez klauzuli ORDER BY zwróci wyniki w kolejności klucza głównego, ponieważ MySQL InnoDB przechowuje tabele w kolejności klucza głównego. Jednakże, możesz nadal używać ORDER BY, jeśli Twoja aplikacja rzeczywiście wymaga uporządkowania klucza głównego.

Tworzenie bez kodu

Metodologia rozwoju bez kodu jest jednym z głównych czynników promujących demokratyzację kodowania. W dzisiejszych czasach więcej osób ma dostęp do informatyki w zasadzie bez znajomości kodowania. Ułatwia to budowanie responsywnych stron internetowych, a także aplikacji mobilnych.

low-code-no-code

AppMaster może pomóc Ci wygenerować kod źródłowy automatycznie. Kod jest zawsze dostępny dla Ciebie do wglądu i zbadania. Masz wybór, aby zmodyfikować szczegóły projektu za pomocą języka programowania z AppMaster. Dajemy również użytkownikom opcję eksportu kodu. Jest to obietnica, że oprogramowanie, które rozwijasz z AppMaster, jest całkowicie pod twoją kontrolą i własnością.

Podsumowanie

SQL ma kilka zastosowań, które czynią go bardzo atrakcyjnym. Tworzenie skryptów integracji danych, projektowanie i wykonywanie zapytań analitycznych, a także dostęp do podzbiorów danych z bazy danych w celu uzyskania wglądu i przetwarzania transakcji to niektóre z jego najbardziej znaczących celów. Może być również używany do wstawiania, modyfikowania i usuwania wierszy i kolumn danych w bazie danych.

Zanim zagłębimy się w SQL, musimy zapoznać się z jego podstawowymi poleceniami i składnią. Przechodząc przez powyższy artykuł, możemy dowiedzieć się więcej o podstawowych poleceniach używanych w SQL, takich jak CREATE TABLE, INSERT INTO, SELECT i innych.

Powiązane posty

Rola LMS w edukacji online: transformacja e-learningu
Rola LMS w edukacji online: transformacja e-learningu
Dowiedz się, w jaki sposób systemy zarządzania nauczaniem (LMS) zmieniają edukację online, zwiększając jej dostępność, zaangażowanie i skuteczność dydaktyczną.
Kluczowe cechy, na które należy zwrócić uwagę przy wyborze platformy telemedycznej
Kluczowe cechy, na które należy zwrócić uwagę przy wyborze platformy telemedycznej
Odkryj kluczowe funkcje platform telemedycznych — od zabezpieczeń po integrację — zapewniające bezproblemową i wydajną zdalną opiekę zdrowotną.
10 najważniejszych korzyści wdrożenia elektronicznej dokumentacji medycznej (EHR) dla klinik i szpitali
10 najważniejszych korzyści wdrożenia elektronicznej dokumentacji medycznej (EHR) dla klinik i szpitali
Poznaj dziesięć najważniejszych korzyści wprowadzenia Elektronicznej Dokumentacji Medycznej (EHR) w klinikach i szpitalach – od poprawy opieki nad pacjentem po zwiększenie bezpieczeństwa danych.
ROZPOCZNIJ BEZPŁATNIE
Zainspirowany do samodzielnego wypróbowania?

Najlepszym sposobem na zrozumienie mocy AppMaster jest zobaczenie tego na własne oczy. Stwórz własną aplikację w ciągu kilku minut z bezpłatną subskrypcją

Wprowadź swoje pomysły w życie