Изявление на таблица за създаване на SQL - с примерен синтаксис

SQL е един от най-надеждните и ясни езици за заявки. Той осигурява ясен синтаксис, който се чете лесно, без да се абстрахира твърде много от значението на функционалността.

Ако искате малко история за езика, както и някои интересни факти, разгледайте частта за въвеждане на моята статия за SQL Update Statement.  

В тази статия ще разгледаме важните части от създаването на таблица в SQL. Моят предпочитан "вкус" на SQL е SQL Server, но информацията за създаването на таблица е доста повсеместна във всички варианти на SQL.  

Ако никога не сте използвали SQL или не знаете какво представлява таблица, не се страхувайте! Накратко (и най-общо) таблицата е обект на база данни, който съдържа или съдържа всички данни в рамките на тази част от базата данни. Той съхранява тези данни в именувани колони и номерирани редове, което не е непознато, ако някога сте използвали някаква програма за електронни таблици. Всеки ред представлява цял запис на база данни.

Ако данните бяха под формата на кутия, тогава таблицата щеше да бъде част от рафта на склада, в който съхраняваме тези кутии.

Опростявам значително обяснението и има много повече за SQL таблиците, но това е извън обхвата на тази статия. Ако ви сърби за по-задълбочено обяснение на таблиците, препоръчвам ви да се потопите в документацията на Microsoft Database Design.

Преди да научим как да създаваме таблицата, важно е да научим какви типове данни могат да съхраняват тези колони и редове.

Типове данни

SQL таблиците могат да съдържат текст, цифри, комбинация от текст и числа, както и изображения и връзки.

Когато създаваме нашата таблица, ние определяме типа данни, които ще съдържат нейните редове и колони. Ето основните класификации на данните:

  • Приблизителни цифри
  • Струни
  • Време за среща
  • Unicode символни низове
  • Точна цифра
  • Други

Ще изброя някои от най-често използваните типове данни по-долу, но ако искате повече за всички типове данни, ви каня да разгледате тази изчерпателна статия за всеки тип от Microsoft.

Ето по-често използваните типове данни от моя опит, без конкретен ред:

  • char (размер) - низ с фиксирана дължина, който може да съдържа букви, цифри, специални символи
  • varchar (размер) - низ с променлива дължина, който може да съдържа букви, цифри и специални символи
  • boolean - Нула (или стойности, които се равняват на 0) е false, ненулевата е true
  • int ( размер по избор ) - число с дължина до 10 знака, приема отрицателни и положителни числа
  • bigint ( размер по избор ) - число с дължина до 19 знака, приема отрицателни и положителни номератори
  • float (размер, d) - число с общ номер, представен от размер и броя на символите след десетичния знак, представен от d
  • дата - дата във формата ГГГГ-ММ-ДД
  • дата и час - дата във формат ГГГ-ММ-ДД чч: мм: сс
  • време - време във формат hh: mm: ss

Добре, сега, след като знаем какви типове данни могат да съдържат редовете и колоните, нека да влезем в забавните части!

Създаване на таблица

Преди да започнем, важно е да отбележим, че ще предоставя всички мои примери, независимо от всяка програма.

Ако обаче искате да започнете да пишете заявки и не сте сигурни откъде да започнете, разгледайте SQL Server Management Studio. Това е безплатна, стабилна програма, която се използва широко и се поддържа в общността.

Като алтернатива има няколко опции, включително DB Fiddle, които ви позволяват да изграждате схеми и да пишете заявки направо във вашия браузър.  

Нека започнем с просто изявление за създаване на основна таблица:

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

Има и други параметри, които можем да добавим след datatypeза увеличаване на колоните:

  • NOT NULL- предаването на този параметър ще гарантира, че колоната не може да съдържа NULLстойност
  • UNIQUE - предаването на този параметър ще попречи на колоната да държи една и съща стойност повече от веднъж
  • UNIQUE KEY- предаването на този параметър ще определи тази колона като уникален идентификатор. По същество това е комбинация от предишните два параметъра.

Сега ще създадем таблица (на име doggo_info, която трябва да се придържа към стандартите за идентификатори за бази данни), за да съдържа информация за жителите на Woof Woof Retreat, измислена детска градина, за която току що се сетих :)

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 )

И ето чисто новата таблица, която току-що създадохме:

ИмеЦвятПородаВъзрастТеглоВисочинаFav_FoodFav_ToyНехаресванияАлергии

Ще забележите, че нашата таблица е напълно празна и това е така, защото все още не сме добавили данни към нея. Това е извън обхвата на тази статия, но исках да сте наясно с тази малка част.

Създайте таблица от съществуваща таблица

Също така е възможно да се създаде нова таблица, базирана на съществуваща таблица.

Това е доста лесно и не изисква толкова много синтаксис. Трябва да изберем таблицата и колоните, от които да "копираме":

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

Така че, за целесъобразност, добавих някои данни към нашата doggo_infoтаблица и сега изглежда като примера по-долу:

ИмеЦвятПородаВъзрастТеглоВисочинаFav_FoodFav_ToyНехаресванияАлергии
маргариткачервенстандартен дакел114.6дрънкане с вкус на сьомгастискаща топкаптици, прелитащи над дворакотки, бани, чистота
главенчерен / тенротвайлер34117буквално всичковъже влекачстоейки извън диванада слушате, да се държите, да не се мърляте за всичко
саммилек медГолдън Ретривър94619.месо с вкус на говеждо месолеглото йбуйни кученцаникой не е известен

Сега можем да създадем друга таблица, базирана на данните, които имаме в нашата doggo_infoтаблица, като изпълним заявката по-долу:

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

Искаме да създадем нова таблица с всички колони от нея, doggo_infoно само когато а Ageе по-малка от 4. След изпълнението на тази заявка, новата ни таблица ще изглежда така:

ИмеЦвятПородаВъзрастТеглоВисочинаFav_FoodFav_ToyНехаресванияАлергии
маргариткачервенстандартен дакел114.6дрънкане с вкус на сьомгастискаща топкаптици, прелитащи над дворакотки, бани, чистота
главенчерен / тенротвайлер34117буквално всичковъже влекачстоейки извън диванада слушате, да се държите, да не се мърляте за всичко

Надявам се да видите колко мощно може да бъде това твърдение. С няколко реда в нашата заявка ние по същество копирахме данни от една таблица в друга, но само редовете, които искахме.  

Това е не само удобен инструмент, който да имате в колана си с инструменти за разработчици - той ще ви спести неизброими количества време, когато трябва да премествате данни около таблици.

Обобщавайки

Сега, след като знаете как да създадете (или копирате) таблица в SQL, независимо с каква ситуация сте представени, можете да започнете да попълвате колоните и редовете с данни за съхранение!

В CREATE TABLEотчета е изключително полезен и мощен. Готови сте да започнете да го използвате добре.

Ако намерите тази статия за полезна, разгледайте моя блог, където често публикувам статии за уеб разработка, живот и учене.

Докато сте там, защо не се регистрирате за моя бюлетин? Можете да направите това в горния десен ъгъл на основната страница на блога. Обичам да изпращам от време на време интересни статии (мои и други), ресурси и инструменти за разработчици.

Ако имате въпроси относно тази статия или просто като цяло, уведомете ме - заповядайте, поздравете в Twitter или някой от другите ми акаунти в социалните медии, които можете да намерите под бюлетина, регистрирайте се на главната страница на моя блог или на моя профил тук на fCC :)

Приятен ден! Приятно учене и щастливо кодиране, приятелю!