Для створення таблиць в SQL використовують значення CREATE TABLE. Як параметри воно приймає всі колонки, які ми вносимо, а також і їх типи даних.
Створимо таблицю з назвою “Months” (місяці) і запишемо в неї три колонки:
- id – номер місяця, тобто, його порядковий номер (int)
- name – назва місяця (varchar (10), де максимальна довжина рядка 10)
- days – число днів в тому, чи іншому місяці (int)
Код запиту буде виглядати так:
CREATE TABLE months (id int, name varchar (10), days int);
Після того, як таблиця створені, внесемо в них дані. Зробити це можна за допомогою значення INSERT.
Перший спосіб приймає значення в тому порядку, в якому вони були вказані в таблиці:
INSERT INTO months VALUES (1, ‘January’, 31);
У другому способі ми вказуємо назви колонок перед введенням даних:
INSERT INTO months (id, name, days) VALUES (2, 'Febreary', 29);
Другий спосіб довше першого. Його використовують у разі, якщо додали нові\додаткові колонки – в такому випадку перший спосіб працювати не буде. Так само, якщо ми будемо використовувати другий спосіб і не вкажемо одну з колонок, на її місце буде записано NULL або задане значення за замовчуванням.
Якщо необхідно показати дані в таблиці – використовують значення Select. Наприклад:
SELECT * FROM users
Результатом запиту буде висновок таблиці з усіма даними в таблиці users. Знак * (зірочка) означає що ми хочемо показати все стовпці з таблиці без винятків.
Значення FROM використовується при вказівці назви таблиці яку ми хочемо подивитися, так як зазвичай в базі даних існують більше однієї таблиці. Якщо потрібно переглянути деякі стовпці з таблиці – можете вказати їх імена через кому замість зірочки:
SELECT name, age FROM users
Існує значення і для сортування даних, що виводяться ORDER BY, яке має два модифікатора: ASC – по зростанню (використовується за умовчанням)
DESC – по спадаючій
Наприклад, наступний запит виведе стовпці name і age з таблиці users по спадаючій:
SELECT name, age FROM "users" ORDER BY name DESC
За допомогою умови Where можна вивести деякі конкретні рядки. Воно дозволяє нам фільтрувати дані за певним умові. Як приклад, наступний запит виведе тільки тих користувачів, вік яких становить 20 років:
SELECT * FROM users WHERE age = '20';
Умови в Where можуть використовуватися з логічними операторами (AND / OR) і математичні оператори порівняння (=, <,>, <=,> =, <>).
Припустимо, у нас є таблиця, в якій записані дані про працівниць якоїсь фірми. Давайте виведемо тільки тих, хто працює програмістом і чия зарплата нижче, ніж 10 тисяч:
SELECT * FROM workers WHERE profession = 'programmer' AND salary_in_thousands <= 10 ORDER BY released
Можна використовувати умови в Where ще кілька команд:
IN – порівнює значення в стовпці з декількома можливими значеннями і повертає true, якщо значення збігається хоча б з одним з значенням
BETWEEN – перевіряє, чи знаходиться значення в якомусь проміжку
LIKE – шукає за шаблоном
Як приклад, можна зробити висновок даних про робітників бухгалтерів і програмістів:
SELECT * FROM workers WHERE profession IN ( 'accountant', 'programmer');
Якщо потрібно вивести працівників, рік народження яких в проміжку між 1985 і 1990 роком, запит буде виглядати так:
SELECT * FROM workers WHERE year_of_birth BETWEEN 1985 AND 1990;
Якщо потрібно вивести імена, в яких є буква N, запит буде таким:
SELECT * FROM workers WHERE name LIKE '%N%';
де, знак “%” означає будь-яку послідовність символів.
Якщо потрібно вивести всі імена, перша буква в яких – N, тоді запит буде таким:
SELECT * FROM workers WHERE name LIKE 'N%';
Варто зазначити що в SQL є велика кількість функцій для виконання різних операцій. Найбільш часто використовувані:
COUNT – повертає число рядків
SUM – повертає суму всіх полів з числовими значеннями в них
AVG – повертає середнє значення серед рядків
MIN/MAX – повертає як мінімальне, або ж максимальне значення серед рядків
Щоб вивести рік найстаршого працівника, використовуємо запит:
SELECT MAX FROM workers;
Якщо потрібно вивести ім’я та середнє значення чогось, використовуємо запит:
SELECT name, avg (age) FROM programmer; GROUP BY name
Для зміни даних у таблиці на допомогу приходить значення UPDATE, яке включає в себе вибір таблиці, запис нового значення і використання WHERE для позначення конкретного місця в таблиці. Припустимо, в базі працівнику помилково прописали посаду не програміста, а бухгалтера. Щоб змінити, використовуємо метод:
UPDATE users SET profession = 'programmers' WHERE name = 'Sarah Kerrigan';
Для видалення запису з таблиці використовуємо метод:
DELETE FROM users WHERE id = 22;
Зверніть увагу, що значення WHERE обов’язково має бути присутнім, інакше ви видалите всі записи з таблиці.
Для видалення таблиць використовуємо значення TRUNCATE. Наступна команда видалить всі записи з таблиці але залишить саму таблицю:
TRUNCATE TABLE salary_in_thousands;
Якщо потрібно видалити всю таблицю, то використовуємо запит:
DROP TABLE salary_in_thousands;
де, salary_in_thousands – назва таблиці.