Основи SQL

Мова структурованих запитів є одним з фундаментальних будівельних блоків сучасної архітектури баз даних. SQL визначає методи, які використовуються для створення та керування реляційними базами даних на всіх основних платформах. На перший погляд, мова може здатися лякаючою і складною, але це не так вже й складно.

ПРО SQL

Правильна вимова SQL є спірним питанням у спільноті баз даних. У своєму стандарті SQL Американський національний інститут стандартів оголосив, що офіційною вимовою є «es queue el». Тим не менш, багато фахівців з баз даних прийняли жаргонну вимову «продовження». Вибір ваш.


SQL поставляється в багатьох варіантах. Бази даних Oracle використовують свій пропріетарний PL/SQL. Microsoft SQL Server використовує Transact-SQL. Всі варіанти засновані на галузевому стандарті ANSI SQL. У цьому введенні використовуються ANSI-сумісні команди SQL, які працюють в будь-якій сучасній системі реляційних баз даних.

DDL и DML

Команди SQL можна розділити на дві основні під'язики. Мова визначення даних (DDL) містить команди, які використовуються для створення і знищення баз даних і об'єктів баз даних. Після визначення структури бази даних за допомогою DDL адміністратори бази даних і користувачі можуть використовувати мову маніпулювання даними (DML) для вставки, витягування і зміни даних, що містяться в ньому.

Мовні команди визначення даних

Мова визначення даних використовується для створення і знищення баз даних і об'єктів баз даних. Ці команди в основному використовуються адміністраторами бази даних на етапах установки і видалення проекту бази даних. Ось погляд на структуру і використання чотирьох основних команд DDL:

ЗА ДОПОМОГОЮ СТВОРЕННЯ системи керування базами даних на комп "ютер можна створювати і керувати багатьма базами даних. Наприклад, ви можете захотіти зберегти базу даних контактів з клієнтами для вашого відділу продажів і базу даних персоналу для вашого відділу кадрів. Команда CREATE використовується для встановлення кожної з цих баз даних на вашій платформі. Наприклад, команда:

CREATE DATABASE співробітники

створює порожню базу даних з ім'ям «співробітники» у вашій СУБД. Після створення бази даних наступним кроком буде створення таблиць, що містять дані. Для цього можна використовувати інший варіант команди CREATE. Команда:


CREATE TABLE personal_info (first_name char (20) не нуль, last_name char (20) не нуль, employee_id int не нуль)

встановлює таблицю з назвою «personal_info» у поточній базі даних. У цьому прикладі таблиця містить три атрибути: first_name, last_name і employee_id, а також деяку додаткову інформацію.

Команда USE надає вам змогу вказати базу даних, з якою ви бажаєте працювати у вашій СУБД. Наприклад, якщо ви зараз працюєте в базі даних продажів і хочете виконати деякі команди, які будуть впливати на базу даних співробітників, передбачте їх наступною командою SQL:

ВИКОРИСТОВУВАТИ співробітників

Важливо завжди пам'ятати про базу даних, в якій ви працюєте, перш ніж вводити команди SQL, які маніпулюють даними.

Якщо ви створили таблицю у базі даних, ви можете змінити її визначення. Команда ALTER дозволяє вносити зміни в структуру таблиці, не видаляючи і не відтворюючи її. Подивіться на наступну команду:

ALTER TABLE personal_info ДОДАТИ зарплату гроші нуль


У цьому прикладі в таблицю personal_info додається новий атрибут - зарплата співробітника. Аргумент «гроші» вказує, що зарплата співробітника зберігається у форматі доларів і центів. Нарешті, ключове слово «null» повідомляє базі даних, що для цього поля нормально, що воно не містить значення для будь-якого співробітника.

DROP. Остання команда мови визначення даних, DROP, дозволяє нам видаляти цілі об'єкти бази даних з нашої СУБД. Наприклад, якщо ми хочемо остаточно видалити створену нами таблицю personal_info, ми будемо використовувати наступну команду:

DROP TABLE personal_info

Аналогічно, команда нижче буде використовуватися для видалення всієї бази даних співробітників:

DROP DATABASE співробітники


Використовуйте цю команду з обережністю. Команда DROP вилучає цілі структури даних з вашої бази даних. Якщо ви хочете вилучити окремі записи, скористайтеся командою DELETE мови керування даними.

Команди мови маніпулювання даними

Мова маніпулювання даними (DML) використовується для вилучення, вставлення та зміни інформації бази даних. Ці команди використовуються всіма користувачами бази даних під час звичайної роботи бази даних.

Команда INSERT у SQL використовується для додавання записів до існуючої таблиці. Повертаючись наприклад personal_info з попереднього розділу, уявіть, що нашому відділу кадрів потрібно додати нового співробітника в свою базу даних. Ви можете використовувати команду, подібну до цієї:

INSERT INTO
значення personal_info ('bart','simpson', 12345, $45000)

Зауважте, що для запису вказано чотири значення. Вони відповідають атрибутам таблиці в тому порядку, в якому вони були визначені: first_name, last_name, employee_id и salary.


КОМАНДА SELECT є найчастішою командою SQL. Це дозволяє користувачам бази даних отримувати конкретну інформацію, яку вони хочуть, з оперативної бази даних. Погляньте на кілька прикладів, знову використовуючи таблицю personal_info з бази даних співробітників.

Команда, показана нижче, витягує всю інформацію, що міститься в таблиці personal_info. Зауважте, що зірочка використовується як символ підстановки в SQL. Це буквально означає "Виберіть всі з таблиці personal_info".

SELECT *
FROM personal_info

Як альтернативу користувачі можуть захотіти обмежити атрибути, які витягуються з бази даних. Наприклад, відділ кадрів може вимагати список прізвищ всіх співробітників компанії. Наступна команда SQL отримуватиме лише цю інформацію:

ВИБЕРІТЬ ПРІЗВИЩЕ
ВІД особистого


Пропозиція WHERE може використовуватися для обмеження отриманих записів тими, що відповідають зазначеним критеріям. Генеральний директор може бути зацікавлений у перегляді кадрових записів всіх високооплачуваних співробітників. Наступна команда витягує всі дані, що містяться в personal_info, для записів зі значенням зарплати, що перевищує 50 000 доларів:

SELECT *
FROM personal_info
WHERE зарплата > $50000

Команда UPDATE може бути використана для зміни інформації, що міститься в таблиці, або в натуральному, або в індивідуальному порядку. Припустимо, що компанія щорічно дає всім співробітникам підвищення заробітної плати на 3%. Наступна команда SQL може бути використана для швидкого застосування цього до всіх співробітників, які зберігаються в базі даних:

ОНОВЛЕННЯ personal_info
SET заробітна плата = зарплата * 1,03

Коли новий співробітник Барт Сімпсон демонструє ефективність понад службового обов'язку, керівництво бажає визнати його зіркові досягнення з підвищенням на 5000 доларів. Пропозиція WHERE може бути використана для виділення Барта для цього підвищення:

ОНОВЛЕННЯ personal_info
SET заробітна плата = зарплата + $5000 ДЕ
employee_id = 12345

УДАЛЯТЬ.Нарешті, давайте подивимося на команду DELETE. Ви побачите, що синтаксис цієї команди аналогічний синтаксису інших команд DML. На жаль, наш останній звіт про корпоративні доходи не зовсім виправдав очікування, і Барт був звільнений. Команда DELETE з пропозицією WHERE може використовуватися для видалення його запису з таблиці personal_info:

DELETE FROM personal_info
WHERE employee_id = 12345

JOIN і

Тепер, коли ви вивчили основи SQL, настав час перейти до однієї з найпотужніших концепцій мови - пропозиції JOIN.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND