Ти тут

Як складати sql-запити - докладні приклади

Кожен з нас регулярно стикається і користується різними базами даних. Коли ми вибираємо Адреса електронної пошти, ми працюємо з базою даних. Бази даних використовують пошукові сервіси, банки для зберігання даних про клієнтів і т.д.

Але, не дивлячись на постійне використання баз даних, навіть для багатьох розробників програмних систем залишається багато «білих плям» через різне тлумачення одних і тих же термінів. Ми дамо коротке визначення основних термінів баз даних перед розглядом мови SQL. Отже.

База даних - файл або набір файлів для зберігання впорядкованих структур даних і їх взаємозв`язків. Дуже часто базою даних називають систему управління базою даних (СУБД). База даних - це тільки сховище інформації в певному форматі і може працювати з різними СУБД.

Таблиця - уявімо собі папку, в якій зберігаються документи, згруповані за певною ознакою, наприклад список замовлень за останній місяць. Це і є таблиця в комп`ютерній базі даних. Окрема таблиця має своє унікальне ім`я.

Тип даних - вид інформації, дозволеної для зберігання в окремому стовпці або рядку. Це можуть бути числа або текст певного формату.

Стовпець і рядок - Всі ми працювали з електронними таблицями, в яких також присутні рядки і стовпці. Будь-яка реляційна база даних працює з таблицями аналогічним чином. Рядки іноді називають записами.

Первинний ключ - Кожен рядок таблиці може мати один або декілька стовпців для її унікальною ідентифікації. Без первинного ключа дуже важко виробляти оновлення, зміна і видалення потрібних рядків.

Що таке SQL?

Мова запитів SQL (Англ. Structured Query Language - мова структурованих запитів) був розроблений тільки для роботи з базами даних і зараз є стандартом для всіх популярних СУБД. Синтаксис мови складається з невеликої кількості операторів і простий у вивченні. Але, не дивлячись на зовнішню простоту, він дозволяє створення sql запитів для складних операцій з БД будь-якого розміру.

sql запити

З 1992 р існує загальноприйнятий стандарт, званий ANSI SQL. Він визначає базовий синтаксис і функції операторів і підтримується всіма лідерами ринку СУБД, такими як ORACLE Microsoft SQL Server. Розглянути всі можливості мови в одній невеликій статті неможливо, тому ми коротко розглянемо тільки основні SQL запити. Приклади наочно показують простоту і можливості мови:

  • створення баз і таблиць;
  • вибірка даних;
  • додавання записів;
  • модифікація і видалення інформації.

Типи даних SQL

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

Тип данихопис
INTЦілі числа
REALЧисла з плаваючою комою
TEXTСимвольний рядок зі змінною довжиною
DATEsql запит "дата" в різних форматах
TIMEчас
CHARТекстові рядки фіксованої довжини

Створюємо таблиці і бази даних

створення sql запитів

Створювати нові бази, таблиці та інші запити в SQL можна двома способами:

  • Операторами SQL через консоль СУБД
  • Використовуючи інтерактивні засоби адміністрування, що входять до складу сервера баз даних.

Створюється нова база даних оператором CREATE DATABASE lt; найменування бази даннихgt; -. Як бачимо, синтаксис простий і лаконічний.

Таблиці всередині бази даних створюємо оператором CREATE TABLE з наступними параметрами:

  • найменування таблиці
  • імена і типи даних стовпців

Як приклад створимо таблицю Commodity з наступними стовпчиками:

стовпецьопис
commodity_idID продукту
vendor_idID постачальника (ключ зовнішньої таблиці Vendors)
commodity_nameНайменування продукту
commodity_priceвартість
commodity_descопис

Створюємо таблицю:

CREATE TABLE Commodity

(Commodity_id CHAR (15) NOT NULL,

vendor_id CHAR (15) NOT NULL,

commodity_name CHAR (254) NULL,

commodity_price DECIMAL (8,2) NULL,



commodity_desc VARCHAR (1000) NULL) -

Таблиця складається з п`яти стовпців. Після найменування йде тип даних, стовпчики розділяються комами. Значення стовпця може приймати порожні значення (NULL) або має бути обов`язково заповнене (NOT NULL), і це визначається при створенні таблиці.

Вибірка даних з таблиці

запити в sql

Оператор вибірки даних - самі часто використовувані SQL запити. Для отримання інформації необхідно вказати, що ми хочемо вибрати з такої таблиці. Спочатку простий приклад:

SELECT commodity_name FROM Commodity

Після оператора SELECT вказуємо ім`я стовпця для отримання інформації, а FROM визначає таблицю.

Результатом виконання запиту будуть всі рядки таблиці зі значеннями Commodity_name в тому порядку, в якому вони були внесені в базу даних тобто без будь-якої сортування. Для упорядкування результату використовується додатковий оператор ORDER BY.

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

SELECT commodity_id, commodity_name, commodity_price FROM Commodity

Є можливість отримати як результат запиту значення всіх стовпців рядка. Для цього використовується знак «*»:

SELECT * FROM Commodity

  • Додатково SELECT підтримує:
  • Сортування даних (оператор ORDER BY)
  • Вибір відповідно до умов (WHERE)
  • Угруповання термін (GROUP BY)

додаємо рядок



sql запит дата

Для додавання рядка в таблицю використовуються SQL запити з оператором INSERT. Додавання може проводитися трьома способами:

  • додаємо нову цілий рядок;
  • частина рядка;
  • результати запиту.

Для додавання повної рядка необхідно вказати ім`я таблиці і значення стовпців (полів) нового рядка. Наведемо приклад:

INSERT INTO Commodity VALUES ( `106`, `50`, `Coca-Cola`, `1.68`, `No Alcogol,)

Відео: (SQL запити) 1. Запит на вибірку даних за допомогою оператора select

Приклад додає в таблицю новий товар. Значення вказуються після VALUES для кожного стовпчика. Якщо немає відповідного значення для стовпця, то необхідно вказувати NULL. Стовпці заповнюються значеннями в порядку, зазначеному при створенні таблиці.

У разі додавання тільки частини рядка необхідно явно вказати найменування стовпців, як в прикладі:

INSERT INTO Commodity (commodity_id, vendor_id, commodity_name)

VALUES ( `106`, &lsquo-50 `,` Coca-Cola `,)

Ми ввели тільки ідентифікатори товару, постачальника і його найменування, а решта поля відставили порожніми.

Додавання результатів запиту

В основному INSERT використовується для додавання рядків, але може використовуватися і для додавання результатів оператора SELECT.

Відео: Як створити запити в Microsoft Access за 10 хвилин

зміна даних

мова запитів sql

Для зміни інформації в полях таблиці бази даних необхідно використовувати оператор UPDATE. Оператор може застосовуватися двома способами:

  • Оновлюються всі рядки в таблиці.
  • Тільки для певного рядка.

UPDATE складається з трьох основних елементів:

  • таблиця, в якій необхідно робити зміни;
  • імена полів і їх нові значення;
  • умови вибору рядків для зміни.

Розглянемо приклад. Припустимо, у товару з ID = 106 змінилася вартість, тому цей рядок необхідно оновити. Пишемо наступний оператор:

UPDATE Commodity SET commodity_price = `3.2` WHERE commodity_id = `106`

Ми вказали ім`я таблиці, в нашому випадку Commodity, де буде проводитися оновлення, потім після SET - нове значення стовпця і знайшли потрібний запис, вказавши в WHERE потрібне значення ID.

Для зміни декількох стовпців після оператора SET вказуються кілька пар стовпець-значення, розділених комами. Дивимося приклад, в якому оновлюється найменування та ціна товару:

UPDATE Commodity SET commodity_name =&rsquo-Fanta&rsquo-, commodity_price = `3.2` WHERE commodity_id = `106`

Для видалення інформації в стовпці можна привласнити йому значення NULL, якщо це дозволяє структура таблиці. Необхідно пам`ятати, що NULL - це саме «ніяке» значення, а не нуль у вигляді тексту або числа. Видалимо опис товару:

UPDATE Commodity SET commodity_desc = NULL WHERE commodity_id = `106`

видалення рядків

sql запити приклади

SQL запити на видалення рядків в таблиці виконуються оператором DELETE. Є два варіанти використання:

  • в таблиці видаляються певні рядки;
  • видаляються всі рядки в таблиці.

Приклад видалення одного рядка з таблиці:

DELETE FROM Commodity WHERE commodity_id = `106`

Після DELETE FROM вказуємо ім`я таблиці, в якій будуть видалятися рядка. Оператор WHERE містить умову, за якою обиратимуться рядки для видалення. У прикладі ми видаляємо рядок товару з ID = 106. Вказувати WHERE дуже важливо тому пропуск цього оператора пріведт до видалення всіх рядків в таблиці. Це відноситься і до зміни значення полів.

В операторі DELETE не вказуються найменування стовпців і метасимволу. Він повністю видаляє рядки, а видалити окремий стовпець він не може.

Використання SQL в Microsoft Access

запити sql access

Microsoft Access зазвичай використовується в інтерактивному режимі для створення таблиць, баз даних, для управління, зміни, аналізу даних в базі даних і з метою впровадити запити SQL Access через зручний інтерактивний конструктор запитів (Query Designer), використовуючи який можна побудувати і негайно виконати операторів SQL будь-якої складності.

Також підтримується режим доступу до сервера, при якому СУБД Access може використовуватися як генератор SQL-запитів до будь-якого ODBC джерела даних. Ця можливість дозволяє додаткам Access взаємодіяти з базами даних будь-якого формату.

розширення SQL

Оскільки SQL запити не мають всіх можливостей процедурних мов програмування, таких як цикли, розгалуження і т.д., виробники СУБД розробляють свій варіант SQL з розширеними можливостями. В першу чергу це підтримка збережених процедур і стандартних операторів процедурних мов.

Найбільш поширені діалекти мови:

  • Oracle Database - PL / SQL
  • Interbase, Firebird - PSQL
  • Microsoft SQL Server - Transact-SQL
  • PostgreSQL - PL / pgSQL.

SQL в Інтернет

СУБД MySQL поширюється під вільною ліцензією GNU General Public License. Є комерційна ліцензія з можливістю розробки замовних модулів. Як складова частина входить в найбільш популярні збірки Інтернет-серверів, таких як XAMPP, WAMP і LAMP, і є найпопулярнішою СУБД для розробки додатків в мережі Інтернет.

Була розроблена компанією Sun Microsystems і зараз підтримується корпорацією Oracle. Підтримуються бази даних розміром до 64 терабайт, стандарт синтаксису SQL: 2003, реплікація баз даних і хмарних сервісів.

Поділися в соц мережах:

Увага, тільки СЬОГОДНІ!

Схожі повідомлення


Увага, тільки СЬОГОДНІ!