Instrukcja SQL Create Table - z przykładową składnią

SQL jest jednym z najbardziej niezawodnych i prostych języków zapytań. Zapewnia przejrzystą składnię, która jest łatwa do odczytania, bez wyabstrahowania zbyt dużego znaczenia funkcji.

Jeśli chcesz poznać historię języka, a także kilka interesujących faktów, zapoznaj się z częścią wprowadzającą mojego artykułu SQL Update Statement.  

W tym artykule omówimy ważne części tworzenia tabeli w języku SQL. Moim preferowanym „wariantem” SQL jest SQL Server, ale informacje o tworzeniu tabeli są dość wszechobecne we wszystkich odmianach SQL.  

Jeśli nigdy nie korzystałeś z SQL lub nie wiesz, czym jest tabela, nie bój się! W skrócie (i ogólnie) tabela to obiekt bazy danych, który przechowuje lub zawiera wszystkie dane w tej części bazy danych. Przechowuje te dane w nazwanych kolumnach i ponumerowanych wierszach, co nie jest nieznane, jeśli kiedykolwiek korzystałeś z jakiegokolwiek programu do obsługi arkuszy kalkulacyjnych. Każdy wiersz reprezentuje cały rekord bazy danych.

Gdyby dane były w formie pudełka, to tabela byłaby częścią regału magazynowego, na którym przechowujemy te pudełka.

Znacznie upraszczam wyjaśnienie i jest znacznie więcej tabel SQL, ale to wykracza poza zakres tego artykułu. Jeśli masz ochotę na bardziej szczegółowe wyjaśnienia dotyczące tabel, zachęcam do zagłębienia się w dokumentację Microsoft Database Design.

Zanim nauczymy się, jak utworzyć tabelę, ważne jest, aby dowiedzieć się, jakie typy danych mogą przechowywać te kolumny i wiersze.

Typy danych

Tabele SQL mogą zawierać tekst, liczby, kombinację tekstu i liczb, a także obrazy i linki.

Tworząc naszą tabelę, określamy rodzaj danych, które będą zawierać jej wiersze i kolumny. Oto nadrzędne klasyfikacje danych:

  • Przybliżone liczby
  • Smyczki
  • Data i godzina
  • Ciągi znaków Unicode
  • Dokładne liczby
  • Inny

Poniżej wymienię niektóre z częściej używanych typów danych, ale jeśli chcesz dowiedzieć się więcej o wszystkich typach danych, zapraszam do zapoznania się z tym wyczerpującym artykułem firmy Microsoft na temat każdego typu.

Oto najczęściej używane typy danych z mojego doświadczenia, w przypadkowej kolejności:

  • char (size) - ciąg o stałej długości, który może zawierać litery, cyfry, znaki specjalne
  • varchar (size) - ciąg o zmiennej długości, który może zawierać litery, cyfry i znaki specjalne
  • boolean - zero (lub wartości równe 0) jest fałszem, wartość niezerowa jest prawdą
  • int ( rozmiar opcjonalny ) - liczba do 10 znaków, akceptuje liczby ujemne i dodatnie
  • bigint ( rozmiar opcjonalny ) - liczba do 19 znaków, akceptuje liczby dodatnie i ujemne
  • float (size, d) - liczba o całkowitej wielkości liczbowej reprezentowanej przez rozmiar i liczbę znaków po przecinku reprezentowaną przez d
  • data - data w formacie RRRR-MM-DD
  • datetime - data i godzina w formacie RRR-MM-DD gg: mm: ss
  • czas - czas w formacie gg: mm: ss

W porządku, teraz, gdy wiemy, jakie typy danych mogą zawierać wiersze i kolumny, przejdźmy do zabawnych części!

Tworzenie tabeli

Zanim zaczniemy, ważne jest, aby pamiętać, że podam wszystkie moje przykłady niezależnie od jakiegokolwiek programu.

Jeśli jednak chcesz zacząć pisać zapytania i nie wiesz, od czego zacząć, zapoznaj się z SQL Server Management Studio. To darmowy, solidny program, który jest szeroko stosowany i wspierany przez społeczność.

Alternatywnie istnieje kilka opcji, w tym DB Fiddle, które umożliwiają tworzenie schematów i pisanie zapytań bezpośrednio w przeglądarce.  

Zacznijmy od prostego polecenia, aby utworzyć podstawową tabelę:

CREATE TABLE table_name ( column1_name datatype, column2_name datatype, column3_name datatype, column4_name datatype, column5_name datatype,)

Istnieją inne parametry, które możemy dodać po datatypeznaku, aby rozszerzyć kolumny:

  • NOT NULL- przekazanie tego parametru zapewni, że kolumna nie będzie mogła przechowywać NULLwartości
  • UNIQUE - przekazanie tego parametru zapobiegnie utrzymywaniu przez kolumnę tej samej wartości więcej niż jeden raz
  • UNIQUE KEY- przekazanie tego parametru spowoduje wyznaczenie tej kolumny jako unikalnego identyfikatora. Zasadniczo jest to połączenie dwóch poprzednich parametrów.

Teraz utworzymy tabelę (o nazwie doggo_info, która musi być zgodna ze standardami identyfikatorów dla baz danych), aby przechowywać informacje o mieszkańcach Woof Woof Retreat, fikcyjnej przedszkolu dla psów, o której właśnie pomyślałem :)

CREATE TABLE doggo_info ( ID int UNIQUE KEY, Name varchar(50) NOT NULL, Color varchar(50), Breed varchar(50), Age int, Weight int, Height int, Fav_Food varchar(100), Fav_Toy varchar(100), Dislikes varchar(500), Allergies varchar(500) NOT NULL )

A oto zupełnie nowy stół, który właśnie stworzyliśmy:

NazwaKolorRasaWiekWagaWysokośćFav_FoodFav_ToyNie lubiAlergie

Zauważysz, że nasza tabela jest całkowicie pusta, a to dlatego, że nie dodaliśmy jeszcze żadnych danych. To wykracza poza zakres tego artykułu, ale chciałem, abyś był tego świadomy.

Utwórz tabelę z istniejącej tabeli

Możliwe jest również utworzenie nowej tabeli na podstawie istniejącej tabeli.

Jest to dość łatwe i nie wymaga dużo większej składni. Musimy wybrać tabelę i kolumny do „skopiowania” z:

CREATE TABLE new_table_name AS SELECT column1, column2, column3, column4 (use * to select all columns to be added to the new_table) FROM current_table_name WHERE conditions_exist

Tak więc, ze względu na celowość, dodałem trochę danych do naszej doggo_infotabeli i teraz wygląda to tak, jak na poniższym przykładzie:

NazwaKolorRasaWiekWagaWysokośćFav_FoodFav_ToyNie lubiAlergie
stokrotkaczerwonyjamnik standardowy1146krokiet o smaku łososiapiskliwa piłkaptaki latające nad podwórkiemkoty, kąpiele, czystość
szefczarny / podpalanyrottweiler34117dosłownie wszystkoholownik linowypozostając poza kanapąsłuchanie, zachowanie, nie ślinienie się wszystkim
sammielekki miódGolden retriever94619krokiet o smaku wołowinyjej łóżkogrube szczeniętanie wiadomo

Teraz możemy utworzyć kolejną tabelę na podstawie danych, które mamy w naszej doggo_infotabeli, uruchamiając poniższe zapytanie:

CREATE TABLE puppies_only AS SELECT * FROM doggo_info WHERE Age < 4

Chcemy utworzyć nową tabelę ze wszystkimi kolumnami z doggo_infotabeli, ale tylko wtedy, gdy wartość Agejest mniejsza niż 4. Po uruchomieniu tego zapytania nasza nowa tabela będzie wyglądać następująco:

NazwaKolorRasaWiekWagaWysokośćFav_FoodFav_ToyNie lubiAlergie
stokrotkaczerwonyjamnik standardowy1146krokiet o smaku łososiapiskliwa piłkaptaki latające nad podwórkiemkoty, kąpiele, czystość
szefczarny / podpalanyrottweiler34117dosłownie wszystkoholownik linowypozostając poza kanapąsłuchanie, zachowanie, nie ślinienie się wszystkim

Mam nadzieję, że widzisz, jak potężne może być to stwierdzenie. Za pomocą kilku wierszy w naszym zapytaniu w zasadzie skopiowaliśmy dane z jednej tabeli do drugiej, ale tylko te wiersze, które chcieliśmy.  

To nie tylko poręczne narzędzie, które możesz mieć w pasku narzędzi programisty - pozwoli Ci zaoszczędzić niezliczone ilości czasu, gdy musisz przenosić dane w tabelach.

Podsumowanie

Teraz, gdy wiesz, jak utworzyć (lub skopiować) tabelę w języku SQL, niezależnie od sytuacji, w której się znajdujesz, możesz zacząć wypełniać kolumny i wiersze danymi do przechowywania!

CREATE TABLEStwierdzenie jest niezwykle przydatne i potężne. Jesteś gotowy, aby zacząć go dobrze wykorzystywać.

Jeśli uważasz, że ten artykuł był pomocny, odwiedź mój blog, na którym często publikuję artykuły o tworzeniu stron internetowych, życiu i nauce.

Skoro już tam jesteś, dlaczego nie zapisać się do mojego newslettera? Możesz to zrobić w prawym górnym rogu głównej strony bloga. Od czasu do czasu lubię wysyłać interesujące artykuły (moje i inne), zasoby i narzędzia dla programistów.

Jeśli masz pytania dotyczące tego artykułu lub po prostu ogólnie daj mi znać - przyjdź przywitać się na Twitterze lub innym moim koncie w mediach społecznościowych, które możesz znaleźć poniżej biuletynu, zapisz się na stronie głównej mojego bloga lub na moim profilu tutaj pod adresem fCC :)

Miłego dnia! Miłej nauki i szczęśliwego kodowania, przyjacielu!