Шпаргалка SQL (оновлення 2021 р.)

Зміст

У цій шпаргалці SQL Query ви дізнаєтесь

Створення команд бази даних і таблиць

Команда Опис
Створити базу даних; Створити базу даних
СТВОРЕННЯ БАЗИ ДАНИХ НЕ ІСНУЄ база даних1; ЯКЩО НЕ ІСНУЄ, дозвольте доручити серверу MySQL перевірити наявність бази даних з подібним іменем перед створенням бази даних.
СТВОРИТИ БАЗУ ДАНИХ, ЯКЩО НЕ ІСНУЄ база даних1 НАБІР ХАРАКТЕРІВ latin1 COLLATE latin1_swedish_ci набір символів Latin1 використовує порівняння latin1_swedish_ci, яке є шведським нечутливим порядком.
ПОКАЗАТИ БАЗИ ДАНИХ Ви можете переглянути список існуючих баз даних, запустивши наступну команду SQL.
СТВОРИТИ ТАБЛИЦУ [ЯКЩО НЕ ІСНУЄ] Ім'я таблиці (ім’я поля dataType [необов’язкові параметри]) ENGINE = Механізм зберігання; Створити синтаксис таблиці

ТИПИ ДАНИХ

Числові типи даних

Команда Опис
TINYINT () -128 до 127 нормальний 0 до 255 НЕ ПІДПИСАН.
СМАЛІНТ () -32768 до 32767 нормально від 0 до 65535 ПІДПИСАНО.
ПОСЕРЕДНИЙ () -8388608 до 8388607 нормально від 0 до 16777215 НЕ ПІДПИСАНО.
INT () -2147483648 до 2147483647 нормальна від 0 до 4294967295 НЕ ПІДПИСАНО.
ВЕЛИКИЙ () -9223372036854775808 до 9223372036854775807 нормальне від 0 до 18446744073709551615 НЕ ПІДПИСАНО.
ПЛАВАТИ Невелике приблизне число з плаваючою десятковою комою.
ДВОЙНИЙ (,) Велике число з плаваючою десятковою комою.
ДЕКІМАЛЬНИЙ (,) ДВОЙКА, що зберігається у вигляді рядка, з можливістю фіксованої десяткової коми. Вибір для зберігання валютних цінностей.

Типи текстових даних

Команда Опис
CHAR () Фіксований розділ довжиною від 0 до 255 символів.
VARCHAR () Розділ змінної довжиною від 0 до 255 символів.
ТІНІТЕКСТ Рядок з максимальною довжиною 255 символів.
ТЕКСТ Рядок з максимальною довжиною 65535 символів.
BLOB Рядок з максимальною довжиною 65535 символів.
СЕРЕДНІЙ ТЕКСТ Рядок з максимальною довжиною 16777215 символів.
СЕРЕДНІЙ Рядок з максимальною довжиною 16777215 символів.
ДОЛГОТЕКСТ Рядок з максимальною довжиною 4294967295 символів.
LONGBLOB Рядок з максимальною довжиною 4294967295 символів.

Типи даних Дата / Час

Команда Опис
ДАТА РРРР-ММ-ДД
ДАТА, ЧАС РРРР-ММ-ДД ЧЧ: ММ: СС
ГРАФІК РРРРРММДДГХММСС
ЧАС HH: MM: SS

Інші типи даних

Команда Опис
ENUM Для збереження текстового значення, вибраного зі списку заздалегідь визначених текстових значень.
ВСТАНОВИТИ Це також використовується для зберігання текстових значень, вибраних зі списку заздалегідь визначених текстових значень. Він може мати кілька значень.
БУЛ Синонім TINYINT (1), що використовується для зберігання булевих значень
ДВОЙКА Подібно до CHAR, різниця полягає в тому, що тексти зберігаються у двійковому форматі.
ВАРБІНАР Подібно до VARCHAR, різниця полягає в тому, що тексти зберігаються у двійковому форматі.

Команда оператора MySQL SELECT

Команда Опис
ВИБЕРІТЬ [ВИЗНАЧЕННЯ | ВСЕ] {* | [fieldExpression [AS newName]} FROM tableName [псевдонім] [WHERE умова] [GROUP BY fieldName (s)] [HAVING condition] ORDER BY fieldName (s) Синтаксис оператора SQL SELECT
ВИБЕРІТЬ * З таблиці1; виберіть таблицю
ВИБЕРІТЬ t1, t2, t3, t4 З таблиці1; нас цікавить лише отримання полів t1, t2, t3 та t4.
ВИБЕРІТЬ Concat (t1, (, t3,)), t4 ВІД таблиці2; Отримання списку таблиці2
ВИБЕРІТЬ ім'я_столбця | значення | вираз [AS] псевдонім_назви; Синтаксис імен полів псевдонімів

Речення MySQL WHERE з командами AND, OR, IN, NOT IN

Команда Опис
Умова SELECT * FROM tableName WHERE; Синтаксис речення WHERE
ВИБЕРІТЬ * З таблиці1 ДЕ t1 = 2 І t2 = 2008; Речення WHERE у поєднанні з оператором AND AND LOGICAL
ВИБЕРІТЬ * З таблиці1 ДЕ t1 = 1 АБО t1 = 2; Застереження WHERE у поєднанні з - OR LOGICAL Operator
ВИБЕРІТЬ * З таблиці2 ДЕ t1 ВХОД (1,2,3); Речення WHERE у поєднанні з ключовим словом - IN
ВИБЕРІТЬ * З таблиці2, де t1 НЕ ВХОДИТЬ (1,2,3); Речення WHERE у поєднанні з - NOT IN Keyword
ВИБЕРІТЬ * З таблиці2 ДЕ t3 = жіночий; Застереження WHERE у поєднанні з Equal (=) COMPARISON OPERATORS
ВИБЕРІТЬ * З таблиці3 ДЕ t3> 2000; Застереження WHERE у поєднанні з величиною більше (>) для ПОРІВНЯЛЬНИХ ОПЕРАТОРІВ
ВИБЕРІТЬ * З таблиці1 ДЕ t1 <> 1; Застереження WHERE у поєднанні з Не дорівнює (<>) ПОРІВНЯЛЬНИМ ОПЕРАТОРАМ

Команда MySQL INSERT INTO Table

Команда Опис
ВСТАВИТИ У Ім'я таблиці (стовпець_1, стовпець_2,…) ЗНАЧЕННЯ (значення_1, значення_2,…); базовий синтаксис команди SQL INSERT
ВСТАВИТИ У ТАБЛИЦЮ1 (t1, t2, t3, t4) ЗНАЧЕННЯ (X1, X2, X3, X4); ВСТАВІТЬ дані в таблицю
INSERT INTO table_1 SELECT * FROM table_2; Вставлення в таблицю з іншої таблиці

Команда MySQL DELETE

Команда Опис
ВИДАЛИТИ ІМЯ таблиці [умова WHERE]; Видалити рядок у MySQL

Приклад: - ВИДАЛИТИ З table1 WHERE table1_id = 18;

(видалити запис форми 18 ідентифікатора номера table1.) ВИДАЛИТИ З table1 ДЕ table1_id IN (20,21); (видалити запис форми 20 і 21 номера ідентифікатора table1)

Команда оновлення MySQL

Команда Опис
ОНОВИТИ ім'я таблиці ВСТАНОВИТИ ім'я_столбця = new_value [умова WHERE]; оновити синтаксис команди -

Приклад: - SELECT * FROM table1 WHERE t1 = 1;

(отримати запис для t1 = 1) UPDATE table1 SET t4 = X1 WHERE t1 = 1; (оновіть значення t4 у таблиці)

ORDER BY у MySQL: команда DESC & ASC

Команда Опис
Оператор SELECT… [умова WHERE | ГРУПУВАТИ ПО ІМЕНАМ ПОЛЯ, ЩО МАЮ УМОВУ] ЗАМОВИТИ ПО ІМЕНАМ ПОЛЯ [ASC | DESC]; Впорядкування за реченням базового синтаксису
ВИБЕРІТЬ {імена полів |. | *} ВІД таблиці (ів) [WHERE умова] ЗАМОВИТИ ПО Іменах полів ASC / DESC [ОБМЕЖЕННЯ N] Синтаксис DESC та ASC

Приклад: - Для DESC (за спаданням)

ВИБЕРІТЬ * З таблиці1 ЗАМОВИТИ Т3 DESC; Для ASC (за зростанням) SELECT * FROM table1 ORDER BY t3 ASC;

Команда MySQL GROUP BY і HAVING

Групувати за

Команда Опис
Виберіть оператори… GROUP BY стовпець_імен1 [, ім'я стовпця2, ...] [ХАВІНГ]] ГРУПУВАТИ ЗА СИНТАКСОМ

Приклад групування одного стовпця: - ВИБЕРІТЬ t4 З таблиці1;

ВИБЕРІТЬ t4 ІЗ table1 GROUP BY t4; (припустимо, ми хочемо отримати унікальні значення для t4.)

Приклад групування кількох стовпців: - SELECT t1_id, t4 FROM table2;

ВИБЕРІТЬ t1_id, t4 ІЗ table2 GROUP BY t1_id, t4; (використовуючи групу за методом)

Функції групування та сукупності

Команда Опис
ВИБЕРІТЬ t2, COUNT (t1) З таблиці1 ГРУПА НА t2; Припустимо, нам потрібна загальна кількість значень стовпців t2 у нашій базі даних.

Речення HAVING

Команда Опис
ВИБЕРІТЬ * ІЗ таблиці2 ГРУПУВАТИ за t1_id, t4 МАЮЧИ t1_id = x1; всі t4 для таблиці2 t1 ідентифікатор x1. Для досягнення результатів ми використали б наступний сценарій.

Команди узагальнюючих знаків MySQL для Like, NOT Like, Escape, (%), (_)

% відсотків узагальнюючих команд у MySQL

Команда Опис
SELECT оператори… WHERE ім’я поля LIKE xxx%; базовий синтаксис для% відсотків підстановки

Приклад: - ми б використовували відсоток підстановки для виконання збігу шаблону з обох сторін слова "X1" як частина t2 таблиці1 ВИБРАТИ * З таблиці1 ДЕ t2 ПОДОБАЄТЬСЯ% X1%;

ВИБЕРІТЬ * З таблиці1 ДЕ t2 ПОДОБАЄ% X1; (відсоток підстановки лише на початку критеріїв пошуку) ВИБЕРІТЬ * З таблиці1 ДЕ t2 ПОДОБАЄТЬСЯ X1%; (відсоток узагальнюючих знаків до кінця вказаного зразка, який потрібно зіставити.)

_ команда підкреслення підстановки

Команда Опис
ВИБЕРІТЬ * З таблиці1 ДЕ t3 ПОДОБАЄ x2_; всі таблиці1, які були t3 у році "x2"

НЕ як команда підстановки

Команда Опис
ВИБЕРІТЬ * З таблиці1 ДЕ t3 НЕ ЯК X2_; Припустимо, ми хочемо отримати таблицю1, яка не була t3 у році X2_

Команда узагальнення ключового слова підстановки

Команда Опис
ПОДОБАЄТЬСЯ 67 # %% ВТЯГ #; ми хочемо перевірити рядок "67%"

Регулярні вирази MYSQL (REGEXP)

Команда Опис
Оператори SELECT… WHERE ім’я поля REGEXP шаблон; основний синтаксис регулярного виразу

Приклад: - усі таблиці1 t1, у яких є слово X1. Не має значення, чи є "X1" на початку, в середині чи в кінці заголовка. ВИБЕРІТЬ * З таблиці1 ДЕ t1 REGEXP X1;

Регулярний вираз Метасимволи

Команда Опис
* Метасимвол зірочки (*) використовується для відповідності нулю (0) або більше екземплярів рядків, що передують йому
+ Метасимвол плюс (+) використовується для відповідності одному або декільком екземплярам рядків, що передують йому.
? Метасимвол запитання (?) Використовується для відповідності нулю (0) або одному екземпляру рядків, що передують йому.
. Точковий (.) Метасимвол використовується для відповідності будь-якому окремому символу, за винятком нового рядка.
[abc] Список символів [abc] використовується для відповідності будь-якому із вкладених символів.
[^abc] Список символів [abc] використовується для відповідності будь-яким символам, крім вкладених.
[A-Z] [AZ] використовується для збігу будь-якої великої літери
[a-z] [Az] використовується для збігу будь-якої малої літери
[0-9] [0-9] використовується для відповідності будь-якої цифри від 0 до 9.
^ Каретка (^) використовується для початку матчу на початку.
| Вертикальна смуга (|) використовується для ізоляції альтернативних варіантів.
[[:<:]] [[: <:]] Відповідає початку слів.
[[:>:]] [[:>:]] Відповідає кінці слів.
[:class:] [: Class:] відповідає класу символів, тобто [: alpha:] відповідає буквам, [: пробіл:] відповідає пробілу, [: punct:] - це пунктуаційні знаки та [: верхній:] для літер верхнього класу.

Команди функцій SQL

Функції рядка

Команда Опис
ВИБЕРІТЬ t1_id, t2, UCASE (t2) ВІД table1; функція "UCASE" для цього. В якості параметра приймає рядок і перетворює всі літери у верхній регістр.

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

Команда Опис Приклад
DIV Ціле ділення ВИБЕРІТЬ 23 DIV 6;
/ Відділ ВИБЕРІТЬ 23/6;
- Віднімання ВИБЕРІТЬ 23 - 6;
+ Додавання ВИБЕРІТЬ 23 + 6;
* Множення ВИБЕРІТЬ 23 * 6 ЯК результат множення_;
% or MOD Модуль ВИБІР 23% 6; або ВИБЕРІТЬ 23 MOD 6;
Floor ця функція видаляє десяткові місця з числа і округлює його до найближчого найменшого числа. ВИБЕРИТИ ПІДЛОГ (23/6) ЯК підлоговий результат;
Round ця функція округлює число з десятковими знаками до найближчого цілого числа. ВИБЕРИТИ КРУГ (23/6) ЯК результат круглих результатів;

Збережені функції

Команда Опис
СТВОРИТИ ФУНКЦІЮ sf_name ([параметр (и))) ПОВЕРНУЄ тип даних ДЕТЕРМІНІСТИЧНІ ЗАЯВИ базовий синтаксис для створення збереженої функції
СТВОРИТИ ФУНКЦІЮ sf_name ([параметр (и))) Обов'язковий і повідомляє серверу MySQL створити функцію з ім'ям `sf_name 'з необов'язковими параметрами, визначеними в дужках.
Повертає тип даних Обов’язковий і визначає тип даних, який функція повинна повертати.
ДЕТЕРМІНІСТИЧНИЙ Функція поверне ті самі значення, якщо до неї подано однакові аргументи.
ЗАЯВИ Процедурний код, який виконує функція.

Команди функцій MySQL Aggregate

Команда Опис
ВИБЕРІТЬ COUNT (t1_id) З таблиці1 ДЕ t1_id = 2; Функція COUNT
ВИБЕРІТЬ МІН (t3) З таблиці2; Функція MIN
ВИБЕРІТЬ МАКС (t3) З таблиці2; Функція MAX
ВИБЕРІТЬ СУММУ (t4) З таблиці3; Функція SUM
ВИБЕРІТЬ AVG (t4) З таблиці3; Функція AVG

MySQL є НУЛЬНИМИ І НЕ НУЛЬНИМИ командами

Команда Опис
ВИБЕРІТЬ КІЛЬКУ (t3) З таблиці1; (якщо t3 має нульове значення, яке не враховується) Нуль як значення
СТВОРИТИ ТАБЛИЦЮ table2 (t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6)); NOT NULL Значення
comlumn_name - НУЛЬ comlumn_name НЕ NULL NULL Ключові слова Основний синтаксис
ВИБЕРІТЬ * З таблиці1 ДЕ t2_number НУЛЬНИЙ; Приклад IS NULL
ВИБЕРІТЬ * З таблиці1, де t2_number НЕ НУЛЬ; Приклад IS NOT NULL

Команди MySQL AUTO_INCREMENT

Команда Опис
СТВОРИТИ ТАБЛИЦЮ table1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) DEFAULT NULL, t3 varchar (500) DEFAULT NULL, PRIMARY KEY (t1_id)); Синтаксис автоматичного збільшення

MYSQL - ЗМІНИТИ, ВПАДАТИ, ПЕРЕМЕНИТИ, ЗМІНИТИ

Команда Опис
ЗМІНИТЬ ТАБЛИЦЮ ім'я таблиці ДОДАТИ Стовпець Ім'я стовпця тип_ даних; Альтер- синтаксис
ТАБЛИЦЯ ПАДАННЯ sample_table; DRAP TABLE синтаксис
ПЕРЕМЕНУВАТИ ТАБЛИЦЮ поточне_назву таблиці НА ім'я_нового_таблиці; ПРИЙМЕНИТИ КОМАНДУ синтаксис
ЗМІНИТЬ ТАБЛИЦЮ table1 ЗМІНИТИ СТОЛЬБУ t1_names t1name char (250) NOT NULL; ЗМІНИТИ КЛЮЧОВЕ СЛОВО
ALTER TABLE table1MODIFY t1name char (50) NOT NULL; ЗМІНИТИ КЛЮЧОВЕ СЛОВО
ALTER TABLE table1 ADD t4 date NULL AFTER t3; ПІСЛЯ КЛЮЧОВОГО СЛОВА

Обмеження та зміщення MySQL

Команда Опис
ВИБЕРІТЬ {імена полів | | *} ВІД таблиці (ій) [WHERE умова] ОБМЕЖЕННЯ N; ОБМІН синтаксису ключових слів
ВИБЕРИТЬ * З таблиці1 ОБМЕЖЕННЯ 1, 2; OFF SET у запиті LIMIT

Команди MySQL SubQuery:

Команда Опис
ВИБЕРІТЬ t1_name ВІД table1 WHERE category_id = (ВИБЕРІТЬ MIN (t1_id) з table2); підзапити

Команди MySQL JOINS

Команда Опис
ВИБЕРІТЬ * З таблиці1 ПЕРЕКЛЮЧЕННЯ таблиці2 Перехресне ПРИЄДНАННЯ
ВИБЕРІТЬ table1.t1, table1.t2, table2.t1 ВІД table1, table2 WHERE table2.id = table1.table2_id ВНУТРІШНЄ З'ЄДНАННЯ
ВИБЕРІТЬ A.t1, B.t2, B.t3 З таблиці2 ЯК ЛІВО ПРИЄДНАЙТЕСЬ таблицю1 ЯК B УВІМК. B.table2_id = A.id ЛІВО ПРИЄДНАЙТЕСЬ
ВИБЕРІТЬ A.t1, A.t2, B.t3 ІЗ таблиці1 ЯК ПРАВИЛЬНО ПРИЄДНАЙТЕСЬ таблиці2 ЯК Б УВІМК. ПРАВИЛЬНЕ ПРИЄДНАННЯ
ВИБЕРІТЬ A.t1, B.t2, B.t3 З таблиці2 ЯК ВЛІВО ПРИЄДНАЙТЕСЬ таблицю1 ЯК ВИКОРИСТАННЯ (table2_id) Речення "ON" та "USING"

Команди MySQL UNION

Команда Опис
ВИБЕРІТЬ стовпець1, стовпець2 З таблиці1 Синтаксис UNION
ВИБЕРІТЬ стовпець1, стовпець2 З таблиці2; СОЮЗНА ВИЗНАЧЕННЯ

MySQL в командах Views

Команда Опис
CREATE VIEW view_name AS оператор SELECT; Синтаксис переглядів
DROP VIEW general_v_movie_rentals; Випадання переглядів

Команди MySQL Index

Команда Опис
СТВОРИТИ ІНДЕКС id_index ON ім'я таблиці (ім'я_столбця); Додайте основний синтаксис індексу
DROP INDEX index_id ON ім'я таблиці; Викиньте індекс основного синтаксису

Цікаві статті...