Що таке sql
Що таке SQL?
Structured Query Language (Мова Структурованих Запитів) розроблений корпорацій IBM на початку 1970-х років. У 1986 році SQL був вперше стандартизований організацій ANSI.
SQL - це потужний і в той же час не складна мова для управління базами даних. Він підтримується практично всіма сучасними базами даних. SQL підрозділяться на два підмножини команд: DDL (Data Definition Language - мова визначення даних) і DML (Data Manipulation Language - мова обробки даних). Команди DDL використовуються для створення нових баз даних, таблиць і стовпців, а команди DML - для читання, записи, сортування, фільтрування, видалення даних.
Тут будуть розглянуті докладно лише команди DML, оскільки їх доводиться використовувати набагато частіше, ніж команди DDL, тобто дається просто поняття про SQL.
Про командах DDL
CREATE - використовується для створення нових таблиць, стовпців і індексів.
DROP - використовується для видалення стовпців і індексів.
ALTER - використовується для додавання в таблиці нових стовпців і зміни певних стовпців.
команди DML
SELECT - найбільш часто використовувана команда, застосовується для отримання набору даних з таблиці бази даних. Команда SELECT має наступний синтаксис:
SELECT спісок_полей1 FROM ім'я_таблиці [WHERE критерій ORDER BY спісок_полей2 [ASC | DESC]]
Оператори, що знаходять всередині квадратних дужок не обов'язкові, а вертикальна риса означає, що має бути присутня одна із зазначених фраз, але не обидві.
Для прикладу створимо найпростіший запит на отримання даних з полів "name" і "phone" таблиці "friends":
SELECT name, phone FROM friends
Якщо необхідно отримати всі поля таблиці, то не обов'язково їх перераховувати, досить поставити зірочку (*):
SELECT * FROM friends
Для виключення з виведеного списку повторюваних записів, використовується ключове слово DISTINCT.
SELECT DISTINCT name FROM friends
SELECT * FROM friends WHERE name = 'Сергій Іванов'
SELECT * FROM friends WHERE phone = 293-89-13 '
Крім цього можна використовувати групові символи, таким чином, створюючи шаблони пошуку. Для цього використовується оператор LIKE. Оператор LIKE має наступні оператори підстановки:
* - відповідає рядку складається з одного або більше символів;
_ - відповідає одному будь-якому символу;
[] - відповідає одному символу з певного набору;
Наприклад, для отримання записів з поля "name" містять слово "Сергій", запит будить виглядати наступним чином:
SELECT * FROM friends WHERE name LIKE '* Сергій *'
Для визначення порядку, в якому повертаються дані, використовується оператор ORDER BY. Без цього оператора порядок повертаються даних неможливо передбачити. Ключові слова ASC і DESC дозволяють визначити напрямок сортування. ASC - впорядковує по зростанню, а DESC - по спадаючій.
Наприклад, запит на отримання списку записів з поля "name" в алфавітному порядку буде виглядати наступним чином:
SELECT * FROM friends ORDER BY name
Звернемо увагу на те, що ключове слово ASC вказувати не обов'язково, оскільки воно використовується за умовчанням.
INSERT - дана команда служить для додавання нового запису в таблицю. Записується вона наступним чином:
INSERT INTO ім'я_таблиці VALUES (спісок_значеній)
Звернемо увагу на те, що типи значень в списку значень повинні відповідати типам значень полів таблиці, наприклад:
INSERT INTO friends VALUES ( 'Анна Осипова', '495-09-81')
В даному прикладі в таблицю friends додається новий запис із зазначеними значеннями.
UPDATE - ця команда застосовується для поновлення даних в таблиці і найчастіше використовується спільно з оператором WHERE. Команда UPDATE повинен виглядати так:
UPDATE ім'я_таблиці SET ім'я_поля = значення [WHERE критерій]
UPDATE friends SET phone = '255-55-55' WHERE name = 'Сергій Іванов'
DELETE - як ви вже напевно зрозуміли, ця команда служить для видалення записів з таблиці. Як і UPDATE, команда DELETE зазвичай використовується з оператором WHERE, якщо цей оператор пропустити, то будуть видалені всі дані з зазначеної таблиці. Синтаксис команди DELETE виглядає наступним чином:
DELETE FROM ім'я_таблиці [WHERE критерій]
Для прикладу, давайте видалимо Сергія Іванова з нашої таблиці :).
DELETE FROM friends WHERE name = 'Сергій Іванов'
Детально про SQL
НОВИНИ ФОРУМУ
Лицарі теорії ефіру