SQL шпаргалка

Вступне зображення зображення SQL шпаргалки


У цьому посібнику ви знайдете корисну шпаргалку, яка документує деякі найпоширеніші елементи SQL і навіть кілька менш поширені. Сподіваємось, це допоможе розробникам – як початківцям, так і досвідченим – стати більш досвідченими у розумінні мови SQL.

Використовуйте це як швидке посилання під час розробки, навчального посібника або навіть роздруковуйте його та зв’язуйте, якщо хочете (будь-що працює!).

Але перш ніж ми перейдемо до самого шпаргалки, для розробників, які, можливо, не знайомі з SQL, почнемо з…

Що таке SQL

SQL означає структуровану мову запитів. Це мова, яка вибирається в сьогоднішньому Інтернеті для зберігання, маніпулювання та отримання даних у реляційних базах даних. Більшість, якщо ні всі веб-сайтів, які ви відвідуєте, буде використовувати їх якось, в тому числі це один.

Ось як виглядає основна реляційна база даних. Цей приклад, зокрема, зберігає інформацію про електронну комерцію, зокрема про товари, що продаються, користувачів, які їх купують, та записи цих замовлень, які пов’язують ці 2 організації.

Основна реляційна база даних

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

Ось приклад запиту:-

ВИБІР * ВІД користувачів;

Використовуючи цей оператор SELECT, запит вибирає всі дані з усіх стовпців таблиці користувача. Потім вони повертають дані, як наведено нижче, що зазвичай називається набором результатів:-

Приклад таблиці користувачів

Якби ми замінили символ підстановки зірочок (*) на конкретні назви стовпців, з запиту поверталися б лише дані з цих стовпців.

ВИБРАТИ ім’я, прізвище ВІД користувачів;

Приклад таблиці користувачів зі зменшеними стовпцями

Ми можемо додати трохи складності до стандартного оператора SELECT, додавши пункт WHERE, який дозволяє фільтрувати те, що повертається.

ВИБІР * ІЗ продукції, де БЕЗКОШТОВНО <= 10 ORDER BY stock_count ASC;

Цей запит повертає всі дані з таблиці продуктів зі значенням запасу рахунків менше 10 у своєму наборі результатів.

Використання ключового слова ORDER BY означає, що результати будуть упорядковані, використовуючи стовпець stock_count, найнижчі значення до найвищих.

Приклад таблиці продуктів

За допомогою оператора INSERT INTO ми можемо додати нові дані до таблиці. Ось основний приклад додавання нового користувача до таблиці користувачів:-

ВСТАВКА ІНТЕРНЕТІВ (Ім'я, прізвище, адреса, електронна адреса)
ЦІННОСТІ ('Tester', 'Jester', '123 Fake Street, Sheffield, Великобританія', '[захищено електронною поштою]');

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

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

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

SQL проти MySQL

Можливо, ви чули про MySQL раніше. Важливо, щоб ви не переплутали це з самим SQL, оскільки є чітка різниця.

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

MySQL тим часом - це база даних система що працює на сервері. Це знаряддя мова SQL, що дозволяє писати запити, використовуючи його синтаксис для управління базами даних MySQL.

Крім MySQL, існують і інші системи, що реалізують SQL. Деякі з найбільш популярних включають:

  • PostgreSQL
  • SQLite
  • База даних Oracle
  • Microsoft SQL Server

Встановлення MySQL

Windows

Рекомендований спосіб встановлення MySQL в Windows - це за допомогою інсталятора, який ви можете завантажити з Веб-сайт MySQL.

Встановіть MySQL Windows

MacOS

У macOS рекомендований спосіб встановлення MySQL - це використання нативних пакетів, що звучить набагато складніше, ніж є насправді. По суті, це також включає лише завантаження інсталятор.

Встановіть MySQL Mac

Крім того, якщо ви віддаєте перевагу використовувати менеджери пакунків, такі як Домашнє пиво, ви можете встановити MySQL так:

варити встановити mysql

Якщо вам потрібно встановити старішу версію 5.7 MySQL, яка все ще широко використовується в Інтернеті, ви можете:

варити встановлення [захищено електронною поштою]

Використання MySQL

Оскільки MySQL зараз встановлений у вашій системі, щоб якнайшвидше піднятися та продовжувати писати запити SQL, рекомендується використовувати додаток для управління SQL, щоб зробити управління своїми базами даних набагато простішим і простішим процесом.

Можна вибрати багато додатків, з яких в основному виконують ту саму роботу, тож це залежить від ваших особистих уподобань, яким користуватися:

  • MySQL Workbench розробляється Oracle, власником MySQL.
  • HeidiSQL (Рекомендовано Windows) це безкоштовна програма з відкритим кодом для Windows. Для користувачів macOS та Linux, Вино спочатку вимагається як необхідна умова.
  • phpMyAdmin є дуже популярною альтернативою, яка працює у веб-браузері.
  • Sequel Pro (Рекомендований macOS) це єдина альтернатива macOS і наша улюблена завдяки зрозумілому та простому у користуванні інтерфейсом.

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

Веб-сайт MySQL надає ряд фіктивні бази даних що ви можете завантажити безкоштовно, а потім імпортувати у свою програму SQL.

Манекенна база даних MySQL

Наш улюблений з них - це світ База даних, яка надає цікаві дані для написання запитів SQL для. Ось знімок таблиці країни в Sequel Pro.

Приклад Sequel Pro

Цей приклад запиту повертає всі країни з королевою Єлизаветою II як їх главою держави ����.

Приклад Sequel Pro

Хоча ця повертає всі європейські країни з населенням понад 50 мільйонів, разом із їх столицею та її населенням.

Приклад Sequel Pro

І цей останній показник повертає середній відсоток носіїв французької мови в країнах, де загальна кількість носіїв французької мови перевищує 10%.

Приклад Sequel Pro

Шпаргалку

Ключові слова

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

Якщо MySQL згадується поруч із прикладом, це означає, що цей приклад застосовний лише до баз даних MySQL (на відміну від будь-якої іншої системи баз даних).

Ключові слова SQL
Ключове словоОпис
ДОДАТИДодає новий стовпець до існуючої таблиці.

Приклад: Додає нову колонку з назвою "email_address" до таблиці під назвою "користувачів".

ALTER TABLE користувачів
ДОДАТИ email_address varchar (255);
ДОДАТИ ОГРАНИЧЕННЯЦе створює нове обмеження для існуючої таблиці, яке використовується для визначення правил для будь-яких даних у таблиці.

Приклад: Додає нове обмеження PRIMARY KEY під назвою "user" на ідентифікаторах стовпців та ПІБ.

ALTER TABLE користувачів
ДОДАТИ ОГРАНИЧЕНОГО ПОТРЕБНОГО КЛЮЧА (ідентифікатор, ПІБ);
АЛЬТЕР ТАБЛДодає, видаляє або редагує стовпці в таблиці. Його також можна використовувати для додавання та видалення обмежень у таблиці, як зазначено вище.

Приклад: Додає нову булеву колонку під назвою "схвалено" до таблиці під назвою "пропозиції".

АЛЬТЕР ТАБЛИЦЬ угод
ADD затверджено булевим;

Приклад 2: Видаляє стовпчик "затверджений" з таблиці "угоди"

АЛЬТЕР ТАБЛИЦЬ угод
КОРОТКА ДРОПУ затверджена;
АЛЬТЕР КОЛІНЗмінює тип даних стовпця таблиці.

Приклад: У таблиці "користувачі" переведіть стовпець "incept_date" у тип "дата часу".

ALTER TABLE користувачів
ALTER COLUMN incept_date datetime;
ВСІПовертає істину, якщо всі значення підзапиту відповідають передаваній умові.

Приклад: Повертає користувачів із більшою кількістю завдань, ніж користувачів із найбільшою кількістю завдань у відділі кадрів (id 2)

ВИБІРТЕ ім’я, прізвище, завдання_но
ВІД користувачів
WHERE task_no> ALL (ВИБІРТЕ завдання від користувача WHERE Department_id = 2);
ІВикористовується для приєднання окремих умов у пункті WHERE.

Приклад: Повертає події, розташовані в Лондоні, Великобританія

ВИБІР * ВІД подій
WHERE host_country = 'Великобританія' AND host_city = 'Лондон';
БУДЬ-ЯКОГОПовертає істину, якщо будь-яке з підзапитів відповідає заданій умові.

Приклад: Повертає товари з таблиці продуктів, які отримали замовлення - зберігаються в таблиці замовлень - з кількістю більше 5.

ВИБРАТИ ім'я
ВІД продуктів
WHERE productId = БУДЬ-ЯКИЙ (ВИБІРТЬ продуктId ВІД замовлень, де кількість> 5);
ЯКПерейменовує таблицю або стовпець зі значенням псевдоніму, яке існує лише протягом тривалості запиту.

Приклад: Стовпчик "Псевдоніми" north_east_user_subscriptions

ВИБІРТИ north_east_user_subscriptions AS ne_subs
ВІД користувачів
ДЕ ne_subs> 5;
ASCВикористовується з ORDER BY для повернення даних у порядку зростання.

Приклад: Яблука, банани, персики, раддіш

МІЖВибирає значення в заданому діапазоні.

Приклад 1: Вибирає запас з кількістю між 100 і 150.

ВИБІР * З В наявності
Де кількість між 100 і 150;

Приклад 2: Вибирає запас із кількістю НЕ між 100 і 150. Крім того, тут, використовуючи ключове слово NOT, повертається логіка та вибираються значення за межами заданого діапазону.

ВИБІР * З В наявності
КОЛИ кількість НЕ МЕЖЕ 100 та 150;
СЛУЧАЙЗмініть вихідний запит залежно від умов.

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

SELECT ім'я, прізвище, підписки
СЛУЧАЙ КОЛИ підписки> 10 ТОГО "Дуже активний"
КОЛИ Кількість МЕЖ 3 І 10 ТОГО "Активна"
ELSE "Неактивний"
END як активність_рівнів
Від користувачів;
ПЕРЕВІРИТЕДодає обмеження, яке обмежує значення, яке можна додати до стовпця.

Приклад 1 (MySQL): Переконайтесь, що будь-які користувачі, додані до таблиці користувачів, мають 18 років.

СТВОРИТИ ТАБЛИЦІ користувачів (
ім'я варшар (255),
вік міжнар,
ПРОВЕРИТИ (вік> = 18)
);

Приклад 2 (MySQL): Додає чек після того, як таблиця вже створена.

ALTER TABLE користувачів
ДОДАТИ ПЕРЕВІРАТИ (вік> = 18);
СТВОРИТИ ДАНІСтворюється нова база даних.

Приклад: Створює нову базу даних під назвою "websitesetup".

СТВОРИТИ ДАНИНА БАЗА
СТВОРИТИ СТІЛСтворює нову таблицю .

Приклад: Створює нову таблицю під назвою "користувачі" в базі даних "websitesetup".

СТВОРИТИ ТАБЛИЦІ користувачів (
id int,
ім'я варшар (255),
прізвище варчар (255),
адреса варчар (255),
contact_number int
);
ПОВЕРНЕНОВстановлює значення стовпця за замовчуванням;

Приклад 1 (MySQL): Створює нову таблицю під назвою Продукти, у якій стовпець імені зі значенням за замовчуванням "Ім'я заповнювача" та стовпець "доступний_з" із значенням за замовчуванням на сьогодні.

СТВОРИТИ ТАБЛИЧНІ продукти (
id int,
назва varchar (255) DEFAULT 'Ім'я заповнювача',
Доступно_з дати ЗАМЕЧАННЯ GETDATE ()
);

Приклад 2 (MySQL): Те саме, що вище, але редагування існуючої таблиці.

АЛЬТЕР ТАБЛИЧНІ продукти
ALTER name SET DEFAULT 'Ім'я заповнювача',
АЛЬТЕР доступний_з НАЛАШТУВАННЯ ЗАМОВЛЕННЯ GETDATE ();
УДАЛИТИВидалити дані з таблиці.

Приклад: Вилучає користувача з користувачем id 674.

ВИДАЛИТИ ВІД користувачів, де user_id = 674;
DESCВикористовується з ORDER BY для повернення даних у порядку зменшення.

Приклад: Редька, персики, банани, яблука

ДРОПУВАТИ КОЛІНВидаляє стовпчик із таблиці.

Приклад: Вилучає стовпець first_name з таблиці користувачів.

ALTER TABLE користувачів
DROP COLUMN ім'я_файла
ДАТАБАЗА ДРОПІВВидаляє всю базу даних.

Приклад: Видаляє базу даних під назвою "websitesetup".

DROP DATABASE websitesetup;
КОРОБКА ЗАВДАННЯВидаляє значення за замовчуванням для стовпця.

Приклад (MySQL): Вилучає значення за замовчуванням із стовпця "ім'я" в таблиці "товари".

АЛЬТЕР ТАБЛИЧНІ продукти
НАЗАД, НАЗАД КОЛІНСЬКОГО НАЗАДУВАННЯ КОРОБКИ
ДРОПІЛЬНИЙ СТОЛВидаляє таблицю з бази даних.

Приклад: Видаляє таблицю користувачів.

DROP TABLE користувачів;
ІСНУЄТЬСЯПеревіряє наявність будь-якого запису в підзапиті, повертаючи істину, якщо повертається одна чи кілька записів.

Приклад: Перераховує будь-які дилерські компанії із відсотком фінансування угоди менше 10.

ВИБІРТЕ ім’я продавця
ВІД дилерських центрів
ДЕ ВИНАГАЄТЬСЯ (ВИБІРУЙТЕ назву угоди З Угод < 10);
ВІДВказує, з якої таблиці вибрати або видалити дані.

Приклад: Вибирає дані з таблиці користувачів.

SELECT area_manager
FROM area_managers
ДЕ ІСНУЄТЬСЯ (ВИБІРТЕ Ім'я продукту ВІД продуктів, де ДЕРЖАВИ__Anager_id = сделки. < 20);
ВВикористовується поряд із пропозицією WHERE як скорочення для кількох умов АБО.

Тож замість:-

ВИБІР * ВІД користувачів
WHERE країна = 'США' АБО країна = 'Великобританія' АБО країна = 'Росія' АБО країна = 'Австралія';

Ви можете використовувати:-

ВИБІР * ВІД користувачів
ДЕ країна IN ("США", "Великобританія", "Росія", "Австралія");
ВСТУПИТИ ВДодайте нові рядки до таблиці.

Приклад: Додає новий транспортний засіб.

ВСТАВИТИ автомобілі (марка, модель, пробіг, рік)
ЦІННОСТІ ('Audi', 'A3', 30000, 2016);
НУЛЬНИЙТести на порожні (NULL) значення.

Приклад: Повертає користувачів, які не вказали контактний номер.

ВИБІР * ВІД користувачів
WHERE contact_number is NULL;
НЕ НУЛЬНИЙРеверс NULL. Тести на значення, які не порожні / NULL.
ПОДІБНО ДОПовертає істину, якщо значення операнда відповідає шаблону.

Приклад: Повертає істину, якщо ім'я користувача закінчується на "син".

ВИБІР * ВІД користувачів
ДЕ Ім'я_ПОМОГА «% син»;
НЕПовертає істину, якщо запис НЕ відповідає умові.

Приклад: Повертає істину, якщо ім'я користувача не закінчується на "син".

ВИБІР * ВІД користувачів
ДІ Ім'я_НЕ ПОДОБИТИ '% син';
АБОВикористовується поряд з WHERE для включення даних, коли виконується будь-яка умова.

Приклад: Повертає користувачів, які проживають у Шеффілді чи Манчестері.

ВИБІР * ВІД користувачів
WHERE city = 'Шеффілд' АБО 'Манчестер';
СОРТУВАТИ ЗАВикористовується для сортування даних результатів у порядку зростання (за замовчуванням) або у порядку зменшення за допомогою використання ключових слів ASC або DESC.

Приклад: Повертає країни в алфавітному порядку.

ВИБІР * З країн
ЗАМОВИТИ ЗА назвою;
ROWNUMПовертає результати, коли номер рядка відповідає передаваній умові.

Приклад: Повертає 10 кращих країн із таблиці країн.

ВИБІР * З країн
ДЕ РОУНУМ <= 10;
ВИБІРИВикористовується для вибору даних із бази даних, які потім повертаються в наборі результатів.

Приклад 1: Вибирає всі стовпці від усіх користувачів.

ВИБІР * ВІД користувачів;

Приклад 2: Вибирає стовпці ім'я та прізвища від усіх користувачів.xx

ВИБРАТИ ім'я, прізвище ВІД користувачів;
ВИБІР ВИДАЛЕННЯІмена як SELECT, крім повторюваних значень, виключаються.

Приклад: Створює резервну таблицю, використовуючи дані таблиці користувачів.

ВИБІР * INTO користувачівBackup2020
Від користувачів;
ВИБІРІТЬКопіює дані з однієї таблиці та вставляє їх в іншу.

Приклад: Повертає всі країни з таблиці користувачів, видаляючи повторювані значення (що було б дуже ймовірним)

ВИБІРТЕ ДИСТАНЦІЮ від користувачів;
ВИБІРТЕ ТОПДозволяє повернути задану кількість записів для повернення з таблиці.

Приклад: Повертає топ-3 автомобілів із таблиці автомобілів.

ВИБІР ТОП 3 * ВІД автомобілів;
НАСТРОЙКАВикористовується поряд з UPDATE для оновлення наявних даних у таблиці.

Приклад: Оновлення значень значення та кількості для замовлення з ідентифікатором 642 в таблиці замовлень.

ОНОВЛЕННЯ замовлень
Значення SET = 19,49, кількість = 2
WHERE id = 642;
ДЕЩОІдентичне для будь-якого.
ТОПВикористовується поряд із SELECT для повернення заданої кількості записів із таблиці.

Приклад: Повертає топ-5 користувачів із таблиці користувачів.

ВИБІР ТОП 5 * ВІД користувачів;
ТРУНКОВА ТАБЛИЦАПодібно до DROP, але замість видалення таблиці та її даних, вона видаляє лише дані.

Приклад: Очищає таблицю сеансів, але залишає саму таблицю недоторканою.

Сеанси TRUNCATE TABLE;
СОЮЗПоєднує результати з 2 або більше операторів SELECT і повертає лише окремі значення.

Приклад: Повертає міста із таблиць подій та передплатників.

ВИБІРИ місто з подій
СОЮЗ
ВИБРАТИ місто з передплатників;
СОЮЗ ВСІХТе саме, що UNION, але включає повторювані значення.
УНІКАЛЬНИЙЦе обмеження забезпечує всі унікальні значення стовпця.

Приклад 1 (MySQL): Додає унікальне обмеження до стовпця id при створенні нової таблиці користувачів.

СТВОРИТИ ТАБЛИЦІ користувачів (
id int NOT NULL,
ім'я varchar (255) NOT NULL,
УНІКАЛЬНИЙ (id)
);

Приклад 2 (MySQL): Змінює існуючий стовпець, щоб додати UNIQUE обмеження.

ALTER TABLE користувачів
ДОДАТИ УНІКАЛЬНО (id);
ОНОВЛЕННЯОновлення наявних даних у таблиці.

Приклад: Оновлення значень пробігу та serviceDue для транспортного засобу з ідентифікатором 45 у таблиці автомобілів.

ОНОВЛЕННЯ автомобілів
ПОСТАВЛЕНО пробіг = 23500, serviceDue = 0
ГДЕ id = 45;
ЦІННОСТІВикористовується поряд із ключовим словом INSERT INTO для додавання нових значень до таблиці.

Приклад: Додає нову машину до столу автомобілів.

INSERT INTO автомобілі (назва, модель, рік)
ЦІННОСТІ ('Ford', 'Fiesta', 2010);
ДЕРезультати фільтрів включають лише дані, які відповідають заданій умові.

Приклад: Повертає замовлення, кількість яких перевищує 1 товар.

ВИБІР * З замовлень
ДЕ кількість> 1;

Коментарі

Коментарі дозволяють пояснити розділи SQL-операторів або прокоментувати код та запобігти його виконанню.

У SQL є 2 типи коментарів, однорядний та багаторядковий.

Коментарі в одній лінії

Однорядкові коментарі починаються з -. Будь-який текст після цих 2 символів до кінця рядка буде ігнорований.

-- Мій вибір
ВИБІР * ВІД користувачів;

Багаторядкові коментарі

Багаторядкові коментарі починаються з / * і закінчуються * /. Вони простягаються по декількох лініях, поки не знайдені символи, що закриваються.

/ *
Це мій запит на вибір.
Він захоплює всі рядки даних із таблиці користувачів
* /
ВИБІР * ВІД користувачів;

/ *
Це ще один запит вибору, який я ще не хочу виконувати

ВИБРАТИ * З завдань;
* /

Типи даних MySQL

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

У наведеному нижче прикладі дані, передані в стовпчик id, повинні бути цілими, тоді як стовпець first_name має тип даних VARCHAR з максимальною кількістю 255 символів.

СТВОРИТИ ТАБЛИЦІ користувачів (
id int,
ім'я варшар (255)
);

Рядки типів даних

Рядки типів даних
Тип данихОпис
CHAR (розмір)Рядок з фіксованою довжиною, який може містити літери, цифри та спеціальні символи. Параметр size встановлює максимальну довжину рядка, від 0 - 255, за замовчуванням - 1.
ВАРХАР (розмір)Рядок змінної довжини схожий на CHAR (), але з діапазоном максимальної довжини рядка від 0 до 65535.
БІНАРІЯ (розмір)Схожий на CHAR (), але зберігає двійкові байтові рядки.
ВАРБІНАР (розмір)Схожий на VARCHAR (), але для двійкових байтових рядків.
TINYBLOBМістить бінарні великі об'єкти (BLOB) з максимальною довжиною 255 байт.
TINYTEXTУтримує рядок з максимальною довжиною 255 символів. Використовуйте натомість VARCHAR (), оскільки це відбувається набагато швидше.
ТЕКСТ (розмір)Містить рядок з максимальною довжиною 65535 байт. Знову ж таки, краще використовувати VARCHAR ().
BLOB (розмір)Містить двійкові великі об'єкти (BLOB) з максимальною довжиною 65535 байт.
MEDIUMTEXTУтримує рядок з максимальною довжиною 16 777 215 символів.
МЕДІУМБЛОБМістить двійкові великі об’єкти (BLOB) з максимальною довжиною 16 777 215 байт.
ДОВГОТЕКСТУтримує рядок з максимальною довжиною 4 294 967 295 символів.
ЛОНГБЛОБМістить двійкові великі об’єкти (BLOB) з максимальною довжиною 4 294 967 295 байт.
ENUM (a, b, c тощо)Об'єкт рядка, що має лише одне значення, яке вибирається зі списку визначених вами значень, до максимуму 65535 значень. Якщо додано значення, яке відсутнє в цьому списку, воно заміняється порожнім значенням. Подумайте, що ENUM в цьому плані схожий на HTML-радіо.

СТВОРИТИ футболки (кольорові ENUM ('червоний', 'зелений', 'синій', 'жовтий', 'фіолетовий));
SET (a, b, c тощо)Об'єкт рядка, який може мати 0 або більше значень, який вибирається зі списку значень, який ви визначаєте, до максимум 64 значень. Подумайте, що SET у цьому плані схожий на прапорці HTML.

Типові числові дані

Рядки типів даних
Тип данихОпис
BIT (розмір)Тип бітових значень із замовчуванням 1. Дозволена кількість бітів у значенні встановлюється за допомогою параметра size, який може містити значення від 1 до 64.
TINYINT (розмір)Дуже маленьке ціле число з підписаним діапазоном від -128 до 127 та непідписаним діапазоном від 0 до 255. Тут параметр розміру визначає максимально дозволену ширину відображення, яка становить 255.
КОРОБКАПо суті, швидкий спосіб встановлення стовпця на TINYINT розміром 1. 0 вважається помилковим, тоді як 1 вважається істинним.
БУЛЕЙСЬКИЙТе саме, що BOOL.
SMALLINT (розмір)Невелике ціле число з підписаним діапазоном від -32768 до 32767 і непідписаним діапазоном від 0 до 65535. Тут параметр розміру визначає максимально дозволену ширину відображення, яка становить 255.
MEDIUMINT (розмір)Середнє ціле число з підписаним діапазоном від -8388608 до 8388607 і непідписаним діапазоном від 0 до 16777215. Тут параметр розміру визначає максимально дозволену ширину відображення, яка становить 255.
INT (розмір)Середнє ціле число з підписаним діапазоном від -2147483648 до 2147483647 та непідписаним діапазоном від 0 до 4294967295. Тут параметр розміру визначає максимально дозволену ширину відображення, яка становить 255.
INTEGER (розмір)Те саме, що INT.
BIGINT (розмір)Середнє ціле число з підписаним діапазоном від -9223372036854775808 до 9223372036854775807 та непідписаним діапазоном від 0 до 18446744073709551615. Тут параметр розміру визначає максимально дозволену ширину відображення, яка становить 255.
ПЛОТ (p)Значення числа з плаваючою комою Якщо параметр точності (p) становить від 0 до 24, тоді тип даних встановлюється на FLOAT (), тоді як, якщо його значення від 25 до 53, тип даних встановлюється на DOUBLE (). Така поведінка полягає в тому, щоб зробити зберігання цінностей більш ефективним.
ДВОЙНИЙ (розмір, d)Значення числа плаваючої крапки, де загальні цифри встановлюються параметром розміру, а кількість цифр після десяткової крапки задається параметром d.
ДЕКІМАЛЬНА (розмір, d)Точне фіксоване число, де загальна кількість цифр встановлюється параметрами розміру, а загальна кількість цифр після десяткової крапки задається параметром d.

Для розміру максимальне число - 65, а за замовчуванням - 10, тоді як для d - максимальне число 30, а за замовчуванням - 10.

DEC (розмір, d)Те саме, що DECIMAL.

Типи даних дати / часу

Типи даних дати / часу
Тип данихОпис
ДАТАПроста дата у форматі "РРРР-ММ-DD" з підтримуваним діапазоном від "1000-01-01" до "9999-12-31".
DATETIME (fsp)Час дати у форматі РРРР-ММ-год. ​​Год. Год .: мм: формат ss з підтримуваним діапазоном від "1000-01-01 00:00:00" до "9999-12-31 23:59:59".

Додавши DEFAULT та ON UPDATE до визначення стовпця, він автоматично встановлюється на поточну дату / час.

TIMESTAMP (fsp)Часова позначка Unix, яка є значенням відносно кількості секунд після епохи Unix ('1970-01-01 00:00:00' UTC). Це підтримується діапазон від "1970-01-01 00:00:01" UTC до "2038-01-09 03:14:07" UTC.

Додавши DEFAULT CURRENT_TIMESTAMP та ONDATE CURRENT TIMESTAMP до визначення стовпця, він автоматично встановлюється на поточну дату / час.

ЧАС (fsp)Час у hh: mm: ss формат, підтримуваний діапазон від '-838: 59: 59' до '838: 59: 59'.
РІКРік, коли підтримується діапазон від 1901 до 2155.

Оператори

Арифметичні оператори

Арифметичні оператори
ОператорОпис
+Додайте
-Відняти
*Помножте
/Розділити
%Модуло

Побітовий оператор

Побітні оператори
ОператорОпис
&Побітові І
|Побітові АБО
^Побітовий виняток АБО

Оператори порівняння

Оператори порівняння
ОператорОпис
=Дорівнює
>Більш чим
<Менше ніж
> =Більший або рівний
<=Менше або рівне
<>Не дорівнює

Оператори з'єднання

Оператори з'єднання
ОператорОпис
+=Додайте рівні
-=Віднімання дорівнює
* =Множимо дорівнює
/ =Розділіться на рівні
% =Модуло дорівнює
& =Побіт І дорівнює
^ - =Побітові ексклюзивні рівні
| * =Побітові АБО рівні

Функції

Функції струн

Функції струн
Ім'яОпис
ASCIIПовертає еквівалентне значення ASCII для конкретного символу.
CHAR_LENGTHПовертає довжину символу рядка.
CHARACTER_LENGTHТе саме, що CHAR_LENGTH.
КОНЦАТДодає вирази разом, як мінімум 2.
CONCAT_WSДодає вирази разом, але з роздільником між кожним значенням.
ПОЛЯПовертає значення індексу відносно позиції значення в списку значень.
ЗНАЙТИ В СТІЙПовертає позицію рядка в списку рядків.
ФОРМАТПісля передачі числа повертає це число у форматі, що включає коми (наприклад, 3 400 000).
ВСТУПИТИДозволяє вставити один рядок в інший в певний момент, для певної кількості символів.
ІНСТРПовертає позицію, коли перший рядок з'являється в іншому.
ЛАЗАПеретворити рядок у малі регістри.
ЛІВОПочинаючи зліва, витягніть задану кількість символів з рядка і поверніть їх як інші.
ДОВЖИНАПовертає довжину рядка, але в байтах.
МІСЦЕПовертає перше виникнення одного рядка в іншому,
НИЗЬКОТе саме, що LCASE.
LPADЛіва прокладка одна струна з іншою, до певної довжини.
LTRIMВидаліть будь-які провідні пробіли з даного рядка.
MIDВитягує один рядок з іншого, починаючи з будь-якої позиції.
ПОЗИЦІЯПовертає позицію першого разу, коли одна підрядка з’являється всередині іншої.
ПОВТОРИТИДозволяє повторити рядок
ЗАМІНАДозволяє замінити будь-які екземпляри підрядки в рядку новою підрядкою.
ЗВОРОТНИЙПовертає рядок.
ПРАВОПочинаючи справа, витягніть задану кількість символів з рядка і поверніть їх як інші.
RPADПрава прокладка однієї струни з іншою, до певної довжини.
RTRIMВилучає будь-які пробіли із заданого рядка.
ПРОСТІРПовертає рядок, повний пробілів, рівний кількості, яку ви його передаєте.
STRCMPПорівняє 2 рядки для відмінностей
SUBSTRВитягує одну підрядку з іншої, починаючи з будь-якої позиції.
ПІДТРИМКАТе саме, що SUBSTR
SUBSTRING_INDEXПовертає підрядку з рядка до того, як буде знайдена передана підрядка, кількість разів дорівнює переданому номеру.
TRIMВилучає проміжні та провідні пробіли з заданого рядка. Так само, як якщо б ви разом запускали LTRIM і RTRIM.
UCASEПеретворити рядок у великі регістри.
ВИПАДКАТе саме, що UCASE.

Числові функції

Числові функції
Ім'яОпис
АБСПовертає абсолютне значення заданого числа.
ACOSПовертає косинус дуги заданого числа.
ЯК І ВПовертає синус дуги заданого числа.
АТАНПовертає дотичну дугу одного або двох заданих чисел.
ATAN2Поверніть дотичну дугу з 2 заданих чисел.
AVGПовертає середнє значення даного виразу.
CEILПовертає найближче ціле число (ціле число) вгору від заданого числа десяткової крапки.
СТОЛИНТе саме, що CEIL.
COSПовертає косинус заданого числа.
COTПовертає котангенс заданого числа.
РАХУВАТИПовертає кількість записів, які повертаються за допомогою SELECT-запиту.
СТУДЕНТИПеретворює значення радіану в градуси.
DIVДозволяє ділити цілі числа.
EXPПовертає е до потужності заданого числа.
ПОЛЯПовертає найближче ціле число (ціле число) вниз від заданого числа десяткової крапки.
ВЕЛИКИЙПовертає найвище значення у списку аргументів.
ОСТАННЯПовертає найменше значення у списку аргументів.
LNПовертає природний логарифм заданого числа
ЛОГІЯПовертає природний логарифм заданого числа або логарифм даного числа до заданої бази
ЛОГ10Це те саме, що і ЛОГ, але на основі 10.
LOG2Це те саме, що і ЛОГ, але на базі 2.
МАКСПовертає найвище значення з набору значень.
ХВПовертає найменше значення з набору значень.
MODПовертає залишок даного числа, поділений на інше задане число.
ПІПовертає PI.
ВійськовополоненіПовертає значення заданого числа, підняте на потужність іншого заданого числа.
СИЛАТе саме, що військовополонені.
РАДІАНИПеретворює значення градусів у радіани.
РАНДПовертає випадкове число.
КРУГЛОЗакруглете задане число до заданої кількості знаків після коми.
ПІДПИСПовертає знак заданого числа.
СІНПовертає синус заданого числа.
SQRTПовертає квадратний корінь заданого числа.
СУМПовертає значення заданого набору значень у поєднанні.
ТАНПовертає дотичну даного числа.
TRUNCATEПовертає число, усечене до заданої кількості знаків після коми.

Функції дати

Функції дати
Ім'яОпис
ДОДАТИДодайте інтервал дати (наприклад: 10 ДЕНЬ) до дати (наприклад: 20/01/20) і поверніть результат (наприклад: 20/01/30).
ДОДАТИДодайте інтервал часу (наприклад: 02:00) до часу або дати (05:00) і поверніть результат (07:00).
КУРДАТОтримайте поточну дату.
ПОТОЧНА ДАТАТе саме, що і КУРДАТ.
ПОТОЧНИЙ ЧАСОтримайте поточний час.
CURRENT_TIMESTAMPОтримайте поточну дату та час.
КУРТТе саме, що CURRENT_TIME.
ДАТАВитягує дату з виразу datetime.
DATEDIFFПовертає кількість днів між двома вказаними датами.
DATE_ADDТе саме, що і ДОДАТИ.
ФОРМАТ ДАТИФорматує дату до заданого шаблону.
DATE_SUBВідніміть інтервал дати (наприклад: 10 ДЕНЬ) до дати (наприклад: 20/01/20) і поверніть результат (наприклад: 20/01/10).
ДЕНЬПовертає день для даної дати.
DAYNAMEПовертає назву буднього дня для даної дати.
DAYOFWEEKПовертає індекс за будній день для даної дати.
DAYOFYEARПовертає день року для заданої дати.
ЕКСТРАКТВитяг з дати даної частини (наприклад, МІСЯЦЬ за 20.01.20 = 01).
З ДНІВПовернути дату із заданого числового значення дати.
ГОДАПоверніть годину з вказаної дати.
ОСТАННІЙ ДЕНЬОтримайте останній день місяця для даної дати.
МІСЦЕВИЙ ЧАСОтримує поточну місцеву дату та час.
LOCALTIMESTAMPТе саме, що LOCALTIME.
МАКЕДАТСтворює дату та повертає її, виходячи із заданого року та кількості днів.
МАКЕТИМСтворює час і повертає його, виходячи із заданих значень години, хвилини та секунди.
МІКРОСЕКОНДПовертає мікросекунду заданого часу або дати.
ХВ. ХВПовертає хвилину заданого часу або дати.
МІСЯЦЬПовертає місяць зазначеної дати.
MONTHNAMEПовертає назву місяця зазначеної дати.
ЗАРАЗТе саме, що LOCALTIME.
PERIOD_ADDДодає задану кількість місяців до заданого періоду.
PERIOD_DIFFПовертає різницю між двома заданими періодами.
ЧЕТВЕРТАПовертає квартал року за дану дату.
ДРУГИЙПовертає секунду заданого часу або дати.
SEC_TO_TIMEПовертає час на основі заданих секунд.
STR_TO_DATEСтворює дату та повертає її на основі заданого рядка та формату.
СУБДАТТе саме, що і DATE_SUB.
ПІДТРИМКАВіднімаємо часовий інтервал (наприклад: 02:00) до часу або дати (05:00) і повертаємо результат (03:00).
SYSDATEТе саме, що LOCALTIME.
ЧАСПовертає час із заданого часу або дати.
TIME_FORMATПовертає заданий час у заданому форматі.
TIME_TO_SECПеретворює та повертає час у секунди.
ВРЕМЯПовертає різницю між двома виразами часу / дати.
TIMESTAMPПовертає значення дати дати або часу.
TO_DAYSПовертає загальну кількість днів, що пройшли від '00 -00-0000 'до заданої дати.
ТИЖДЕНЬПовертає номер тижня для даної дати.
ТИЖДЕНЬПовертає номер робочого дня для даної дати.
ТИЖДЕННЯПовертає номер тижня для даної дати.
РІКПовертає рік із заданої дати.
РОКІВПовертає номер року та тижня для даної дати.

Різні функції

Різні функції
Ім'яОпис
БІНПовертає задане число у двійковій формі.
ДвоєчніПовертає задане значення у вигляді двійкового рядка.
КАСТПеретворення одного типу в інший.
КАЛЕЦІЯЗі списку значень поверніть перше ненулеве значення.
CONNECTION_IDДля поточного з'єднання поверніть унікальний ідентифікатор з'єднання.
CONVПеретворіть задане число з однієї числової базової системи в іншу.
КОНВЕРТПеретворіть задане значення у заданий тип даних або набір символів.
ПОТОЧНИЙ КОРИСТУВАЧПоверніть ім'я користувача та ім'я хоста, які використовувались для автентифікації з сервером.
БАНКАОтримайте ім’я поточної бази даних.
ГРУПА ПОВикористовується поряд із сукупними функціями (COUNT, MAX, MIN, SUM, AVG) для групування результатів.

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

SELECT COUNT (user_id), active_orders
ВІД користувачів
ГРУПА ПО active_orders;
ВИДАЛЕНОВін використовується замість того, де БЕЗ із сукупними функціями.

Приклад: Перераховує кількість користувачів з активними замовленнями, але включає лише користувачів, які мають більше 3 активних замовлень.

SELECT COUNT (user_id), active_orders
ВІД користувачів
ГРУПА ПО активних_порушень
ВИДАЛЕННЯ COUNT (user_id)> 3;
ЯКЩОЯкщо умова справжня, поверніть значення, в іншому випадку поверніть інше значення.
ІФНУЛЬНОЯкщо даний вираз дорівнює нулю, поверніть задане значення.
ІСНУЛЬНОЯкщо вираз є нульовим, поверніть 1, інакше поверніть 0.
LAST_INSERT_IDДля останнього рядка, який був доданий або оновлений у таблиці, поверніть ідентифікатор автоматичного збільшення.
NULLIFПорівняє 2 подані вирази. Якщо вони рівні, повертається NULL, інакше повертається перший вираз.
SESSION_USERПовернути поточного імені користувача та хостів.
SYSTEM_USERТе саме, що SESSION_USER.
КОРИСТУВАЧТе саме, що SESSION_USER.
ВЕРСІЯПовертає поточну версію живлення бази даних MySQL.

Символи підстановки

У SQL Wildcards - це спеціальні символи, які використовуються з ключовими словами LIKE та NOT LIKE, які дозволяють нам набагато ефективніше шукати дані зі складними візерунками.

Уайлдкард
Ім'яОпис
%Дорівнює нулю або більше символів.

Приклад 1: Знайти всіх користувачів із прізвищами, що закінчуються на "son".

ВИБІР * ВІД користувачів
ДЕ ПІБ ПОДИМОК «% син»;

Приклад 2: Знайдіть усіх користувачів, які живуть у містах, що містять шаблон "че"

ВИБІР * ВІД користувачів
ДЕ МІСЬКИЙ ЛИКИЙ «% che%»;
_Зрівняється з будь-яким окремим символом.

Приклад: Знайдіть усіх користувачів, які живуть у містах, починаючи з будь-яких 3 символів, а потім "chester".

ВИБІР * ВІД користувачів
ДЕ МІСЦЕ ЛІТИ '___честер';
[список]Зрівняється з будь-яким символом у списку.

Приклад 1: Знайдіть усіх користувачів із прізвищами, що починаються з J, H або M.

ВИБІР * ВІД користувачів
ДЕ ім’я first_name LIKE '[jhm]%';

Приклад 2: Знайдіть усіх користувачів з іменами, що починають букви між A - L.

ВИБІР * ВІД користувачів
WHERE ім'я first_name LIKE '[a-l]%';

Приклад 3: Знайдіть усіх користувачів із прізвищами, які не закінчуються літерами між n - s.

ВИБІР * ВІД користувачів
WHERE first_name LIKE '% [! N-s]';

Ключі

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

Первинний ключ

Первинний ключ дозволяє однозначно ідентифікувати кожен запис у таблиці. У таблиці може бути лише один первинний ключ, і ви можете призначити це обмеження будь-якому одному або комбінації стовпців. Однак це означає, що кожне значення в цьому стовпчику має бути унікальним.

Зазвичай у таблиці первинний ключ - це стовпчик ідентифікатора, і зазвичай він поєднується з ключовим словом AUTO_INCREMENT. Це означає, що значення автоматично збільшується в міру створення нових записів.

Приклад 1 (MySQL)

Створіть нову таблицю та встановіть первинний ключ у стовпчик ідентифікатора.

СТВОРИТИ ТАБЛИЦІ користувачів (
id int NOT NULL AUTO_INCREMENT,
ім'я варшар (255),
прізвище varchar (255) NOT NULL,
адреса варчар (255),
varchar електронної пошти (255),
ПЕРШИЙ КЛЮЧ (id)
);

Приклад 2 (MySQL)

Змініть існуючу таблицю та встановіть первинний ключ у стовпчик ім'я_імена.

ALTER TABLE користувачів
ДОДАТИ ПЕРШИЙ КЛЮЧ (ім'я_файла);

Зовнішній ключ

Іноземний ключ може бути застосований до одного стовпця або багатьох і використовується для з'єднання 2 таблиць у реляційній базі даних.

Як видно з діаграми нижче, таблиця, що містить зовнішній ключ, називається дочірнім ключем, тоді як таблиця, що містить посиланий ключ, або ключ-кандидат, називається батьківською таблицею.

Клавіші MySQL

Це по суті означає, що дані стовпців діляться між двома таблицями, оскільки зовнішній ключ також запобігає введенню недійсних даних, які також відсутні в батьківській таблиці.

Приклад 1 (MySQL)

Створіть нову таблицю та перетворіть усі стовпці, на які посилаються ідентифікатори в інших таблицях, в іноземні ключі.

СТВОРИТИ замовлення ТАБЛИЦІ (
id int NOT NULL,
user_id int,
product_id int,
ПЕРШИЙ КЛЮЧ (id),
ІНТЕРНЕТ КЛЮЧ (user_id) ПОСИЛАННЯ користувачів (id),
ІНТЕРНЕТ КЛЮЧ (product_id) ДОВІДКИ продукти (id)
);

Приклад 2 (MySQL)

Змініть існуючу таблицю та створіть зовнішній ключ.

ALTER TABLE замовлень
ДОДАТИ ІНТЕРНЕТ-КЛЮЧ (user_id) ПОСИЛАННЯ користувачів (id);

Покажчики

Індекси - це атрибути, які можна присвоїти стовпцям, які часто шукають, щоб зробити пошук даних швидшим та ефективнішим процесом.

Це не означає, що кожен стовпець повинен бути перетворений в індекс, оскільки для оновлення стовпця з індексом потрібно довше, ніж стовпчик без. Це тому, що коли оновлюються індексовані стовпці, сам індекс також повинен бути оновлений.

Покажчики
Ім'яОпис
СТВОРИТИ ІНДЕКССтворює індекс із іменем "idx_test" у стовпцях "ім'я та прізвище" таблиці користувачів. У цьому випадку допускаються повторювані значення.
СТВОРИТИ INDEX idx_test
Користувачі ON (ім’я, прізвище);
СТВОРТИ УНІКАЛЬНИЙ ІНДЕКСТе саме, що вище, але жодних повторюваних значень.

СТВОРИТИ УНІКАЛЬНИЙ ІНДЕКС idx_test
Користувачі ON (ім’я, прізвище);
ДРОП ІНДЕКСВидаляє індекс.

ALTER TABLE користувачів
DROP INDEX idx_test;

Приєднується

У SQL пропозиція JOIN використовується для повернення набору результатів, який поєднує дані з декількох таблиць на основі загального стовпця, розміщеного в обох.

Існує кілька різних приєднань, які ви можете використовувати:-

  • Внутрішнє приєднання (за замовчуванням): Повертає будь-які записи, які мають відповідні значення в обох таблицях.
  • Залишилося приєднання: Повертає всі записи з першої таблиці, а також будь-які відповідні записи з другої таблиці.
  • Правильне приєднання: Повертає всі записи з другої таблиці разом з усіма відповідними записами з першої.
  • Повне приєднання: Повертає всі записи з обох таблиць, коли є збіг.

Поширений спосіб візуалізації того, як приєднується до роботи такий:

MySQL приєднується

У наступному прикладі внутрішнє з'єднання буде використано для створення нового об'єднавчого виду, що поєднує таблицю замовлень і потім 3 різних таблиці

Ми замінимо user_id та product_id на стовпці з ім’ям та прізвищем користувача, який розмістив замовлення, а також назвою товару, який було придбано.

Приклад таблиці MySQL

ВИБІР замовлення.id, user.first_name, user.surname, product.name як "назва продукту"
ВІД замовлень
INNER JOIN користувачів на замовлення.user_id = users.id
INNER JOIN продукція на замовлення.product_id = products.id;

Повертає набір результатів, який виглядає так:

Приклад таблиці MySQL

Вид

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

Створення переглядів

Щоб створити подання, ви можете зробити так:

СТВОРИТИ ПОГЛЯД ПЕРЕКЛЮЧАТИ_користувачі
ВИБІР * ВІД користувачів
WHERE країна = 'Великобританія';

Тоді в майбутньому, якщо вам потрібно отримати доступ до збереженого набору результатів, ви можете зробити так:

SELECT * FROM [prior_users];

Заміна переглядів

За допомогою команди СТВОРИТИ АБО ЗАМОВИТИ подання можна оновити.

СТВОРИТИ АБО ЗАМІНУВАТИ ПОГЛЯД [пріоритетні користувачі] ЯК
ВИБІР * ВІД користувачів
WHERE країна = 'Великобританія' АБО країна = 'США';

Видалення переглядів

Щоб видалити подання, просто скористайтеся командою DROP VIEW.

DROP VIEW prior_users;

Висновок

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

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map