SQL - одна з найнадійніших та найпростіших мов запитів. Він забезпечує чіткий синтаксис, який легко читається, не абстрагуючи надто багато значення функціоналу.
Якщо вам потрібна історія мови, а також цікаві факти, ознайомтесь із вступною частиною моєї статті «Заява про оновлення SQL».
У цій статті ми розглянемо важливі частини створення таблиці в SQL. Мені вподобаний "смак" SQL - це SQL Server, але інформація про створення таблиці є досить повсюдною у всіх варіаціях SQL.
Якщо ви ніколи не використовували SQL або не знаєте, що таке таблиця, не бійтеся! Коротко (і в цілому) таблиця - це об’єкт бази даних, який вміщує або містить усі дані в межах цієї частини бази даних. Він зберігає ці дані в іменованих стовпцях і пронумерованих рядках, що не є незнайомим, якщо ви коли-небудь використовували будь-яку програму електронних таблиць. Кожен рядок представляє цілий запис бази даних.
Якби дані були у формі ящиків, то таблиця була б розділом складських полиць, в яких ми зберігаємо ці ящики.

Я значно спрощую пояснення, і в таблицях SQL є набагато більше, але це виходить за рамки цієї статті. Якщо ви прагнете отримати більш глибоке пояснення таблиць, я закликаю вас заглибитися в документацію Microsoft Database Design.
Перш ніж ми навчимося створювати таблицю, важливо дізнатися, які типи даних можуть зберігати ці стовпці та рядки.
Типи даних
Таблиці SQL можуть містити текст, цифри, комбінацію тексту та цифр, а також зображення та посилання.
Створюючи нашу таблицю, ми визначаємо тип даних, які будуть містити її рядки та стовпці. Ось загальна класифікація даних:
- Приблизна цифра
- Струни
- Дата, час
- Рядки символів Unicode
- Точна цифра
- Інший
Нижче я перелічу деякі найбільш часто використовувані типи даних, але якщо ви хочете отримати більше інформації про всі типи даних, я запрошую вас ознайомитися з цією вичерпною статтею про кожен тип від Microsoft.
Ось найбільш часто використовувані типи даних з мого досвіду, без певного порядку:
- char (size) - рядок фіксованої довжини, який може містити літери, цифри, спеціальні символи
- varchar (size) - рядок змінної довжини, який може містити літери, цифри та спеціальні символи
- boolean - Нуль (або значення, що дорівнюють 0) хибне, ненульове - істинне
- int ( розмір необов’язковий ) - число довжиною до 10 символів, приймає негативні та додатні числа
- bigint ( розмір необов’язковий ) - число довжиною до 19 символів, приймає негативні та позитивні нумератори
- float (size, d) - число із загальним розміром числа, представленим розміром та кількістю символів після десяткового числа, представленого d
- дата - дата у форматі РРРР-ММ-ДД
- дата-час - час у форматі РРР-ММ-ДД год: мм: сс
- time - час у форматі 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_Food | Fav_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_Food | Fav_Toy | Не подобається | Алергія |
ромашка | червоний | стандартна такса | 1 | 14 | 6 | гранульований аромат лосося | стислий куля | птахи, що летять над двором | коти, ванни, чистота |
начальник | чорний / засмаглий | ротвейлер | 3 | 41 | 17 | буквально що завгодно | мотузковий буксир | тримаючись на дивані | слухати, поводитись, не шльопати на все |
саммі | легкий мед | золотистий ретривер | 9 | 46 | 19 | дріблі з ароматом яловичини | її ліжко | шалених цуценят | ніхто не відомий |
Тепер ми можемо створити іншу таблицю на основі даних, що є в нашій doggo_info
таблиці, виконавши запит нижче:
CREATE TABLE puppies_only AS SELECT * FROM doggo_info WHERE Age < 4
Ми хочемо створити нову таблицю з усіма стовпцями doggo_info
таблиці, але лише там, де значення Age
менше 4. Після запуску цього запиту наша нова таблиця буде виглядати так:
Ім'я | Колір | Порода | Вік | Вага | Висота | Fav_Food | Fav_Toy | Не подобається | Алергія |
ромашка | червоний | стандартна такса | 1 | 14 | 6 | гранульований аромат лосося | стислий куля | птахи, що летять над двором | коти, ванни, чистота |
начальник | чорний / засмаглий | ротвейлер | 3 | 41 | 17 | буквально що завгодно | мотузковий буксир | тримаючись на дивані | слухати, поводитись, не шльопати на все |
Сподіваюсь, ви зрозумієте, наскільки потужним може бути це твердження. Кілька рядків у нашому запиті ми по суті скопіювали дані з однієї таблиці в іншу, але лише ті рядки, які ми хотіли.
Це не лише зручний інструмент, який можна мати у своєму поясі інструментів розробника - він заощадить вам незліченну кількість часу, коли вам потрібно переміщати дані по таблицях.
Підведенню
Тепер, коли ви знаєте, як створити (або скопіювати) таблицю в SQL незалежно від ситуації, з якою ви зібралися, ви можете почати заповнювати стовпці та рядки даними для зберігання!
CREATE TABLE
Заява є надзвичайно корисним і потужним. Ви готові почати використовувати його добре.
Якщо вам здається, що ця стаття корисна, перегляньте мій блог, де я часто публікую статті про веб-розробку, життя та навчання.
Поки ви там, чому б не підписатись на мій бюлетень? Ви можете зробити це у верхньому правому куті головної сторінки блогу. Я люблю періодично надсилати цікаві статті (мої та інші), ресурси та інструменти для розробників.
Якщо у вас є запитання щодо цієї статті або просто загалом, повідомте мене - прийдіть, привітайтеся у Twitter або будь-якому іншому моєму акаунті в соціальних мережах, який ви знайдете під інформаційним бюлетенем, підписавшись на головній сторінці мого блогу або в моєму профілі тут за адресою fCC :)
Гарного дня! Щасливого навчання та щасливого кодування, друже!