В этом чит-листе SQL Query вы узнаете
Создать базу данных и таблицы команд
| команда | Описание |
|---|---|
| СОЗДАТЬ БАЗУ ДАННЫХ; | Создать базу данных |
| СОЗДАТЬ БАЗУ ДАННЫХ НЕ СУЩЕСТВУЕТ БД1; | ЕСЛИ НЕ СУЩЕСТВУЕТ, вы можете дать команду серверу MySQL проверить существование базы данных с похожим именем перед созданием базы данных. |
| СОЗДАЙТЕ БАЗУ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ БАЗА ДАННЫХ1 ХАРАКТЕР УСТАНОВЛЕНЫ | набор символов Latin1 использует сопоставление latin1_swedish_ci, которое является шведским регистром без учета регистра. |
| ПОКАЗАТЬ БАЗЫ ДАННЫХ | Вы можете увидеть список существующих баз данных, выполнив следующую команду SQL. |
| CREATE TABLE [ЕСЛИ НЕ СУЩЕСТВУЕТ] TableName (имя поля dataType [необязательные параметры]) ENGINE = хранилище Engine; | Создать синтаксис таблицы |
ТИПЫ ДАННЫХ
Числовые типы данных
| команда | Описание |
|---|---|
| TINYINT () | От -128 до 127, нормально от 0 до 255, НЕ ПОДПИСАНО. |
| SMALLINT () | От -32768 до 32767, обычно от 0 до 65535 НЕ ПОДПИСАНО. |
| СРЕДНИЙ () | От -8388608 до 8388607, обычно от 0 до 16777215 НЕ ПОДПИСАНО. |
| INT () | От -2147483648 до 2147483647 нормальный от 0 до 4294967295 НЕ ПОДПИСАНО. |
| BIGINT () | От -9223372036854775808 до 9223372036854775807 нормально от 0 до 18446744073709551615 НЕ ПОДПИСАНО. |
| FLOAT | Небольшое приблизительное число с плавающей запятой. |
| ДВОЙНОЙ (,) | Большое число с плавающей запятой. |
| ДЕСЯТИЧНЫЙ( , ) | DOUBLE хранится в виде строки, допускающей фиксированную десятичную точку. Выбор для хранения валютных значений. |
Типы текстовых данных
| команда | Описание |
|---|---|
| CHAR () | Фиксированный раздел длиной от 0 до 255 символов. |
| VARCHAR () | Переменная секция длиной от 0 до 255 символов. |
| TINYTEXT | Строка с максимальной длиной 255 символов. |
| ТЕКСТ | Строка с максимальной длиной 65535 символов. |
| большой двоичный объект | Строка с максимальной длиной 65535 символов. |
| MEDIUMTEXT | Строка с максимальной длиной 16777215 символов. |
| MEDIUMBLOB | Строка с максимальной длиной 16777215 символов. |
| LONGTEXT | Строка с максимальной длиной 4294967295 символов. |
| LONGBLOB | Строка с максимальной длиной 4294967295 символов. |
Типы данных Дата / Время
| команда | Описание |
|---|---|
| СВИДАНИЕ | YYYY-MM-DD |
| DATETIME | ГГГГ-ММ-ДД ЧЧ: ММ: СС |
| TIMESTAMP | YYYYMMDDHHMMSS |
| ВРЕМЯ | НН: ММ: СС |
Другие типы данных
| команда | Описание |
|---|---|
| ENUM | Для хранения текстового значения выбран из списка предопределенных текстовых значений. |
| НАБОР | Это также используется для хранения текстовых значений, выбранных из списка предопределенных текстовых значений. Может иметь несколько значений. |
| BOOL | Синоним для TINYINT (1), используется для хранения логических значений |
| BINARY | Подобно CHAR, разница в том, что тексты хранятся в двоичном формате. |
| VARBINARY | Как и в VARCHAR, разница в том, что тексты хранятся в двоичном формате. |
Команда оператора MySQL SELECT
| команда | Описание |
|---|---|
| ВЫБЕРИТЕ [DISTINCT | ALL] {* | [fieldExpression [AS newName]} FROM tableName [псевдоним] [условие WHERE] [GROUP BY fieldName (s)] [условие HAVING] ORDER BY fieldName (s) | Синтаксис оператора SQL SELECT |
| SELECT * FROM table1; | выберите стол |
| ВЫБЕРИТЕ t1, t2, t3, t4 ИЗ таблицы1; | нас интересует только получение только полей t1, t2, t3 и t4. |
| ВЫБЕРИТЕ Concat (t1, (, t3,)), t4 ИЗ таблицы2; | Получение таблицы table2 |
| SELECT имя_ столбца | значение | выражение [AS] псевдоним_имя; | Синтаксис имен полей псевдонимов |
Предложение MySQL WHERE с командами AND, OR, IN, NOT IN
| команда | Описание |
|---|---|
| SELECT * FROM tableName WHERE условие; | ГДЕ Синтаксис предложения |
| SELECT * FROM table1, ГДЕ t1 = 2 И t2 = 2008; | Предложение WHERE в сочетании с оператором — AND LOGICAL |
| SELECT * FROM table1, ГДЕ t1 = 1 ИЛИ t1 = 2; | Предложение WHERE в сочетании с оператором OR OR LOGICAL |
| SELECT * FROM table2, ГДЕ t1 IN (1,2,3); | Предложение WHERE в сочетании с ключевым словом IN |
| SELECT * FROM table2, ГДЕ t1 НЕ ВХОДИТ (1,2,3); | Предложение WHERE в сочетании с ключевым словом NOT IN |
| SELECT * FROM table2, ГДЕ t3 = Женский; | Предложение WHERE в сочетании с Равным (=) для СРАВНЕНИЯ ОПЕРАТОРОВ |
| SELECT * FROM table3, ГДЕ t3> 2000; | Предложение WHERE в сочетании с больше чем (>) для СРАВНИТЕЛЬНЫХ ОПЕРАТОРОВ |
| SELECT * FROM table1, ГДЕ t1 <> 1; | Предложение WHERE в сочетании с (<>) СРАВНИТЕЛЬНЫМИ ОПЕРАТОРАМИ |
Команда MySQL INSERT INTO Table
| команда | Описание |
|---|---|
| INSERT INTO table_name (column_1, column_2, …) VALUES (value_1, value_2, …); | основной синтаксис команды SQL INSERT |
| INSERT INTO table1 (t1, t2, t3, t4) ЗНАЧЕНИЯ (X1, X2, X3, X4); | Вставить данные в таблицу |
| INSERT INTO table_1 SELECT * FROM table_2; | Вставка в таблицу из другой таблицы |
Команда MySQL DELETE
| команда | Описание |
|---|---|
| DELETE FROM table_name [WHERE условие]; | Удалить строку в MySQL |
Пример: —
УДАЛИТЬ ИЗ таблицы1, ГДЕ table1_id = 18;
(удалить запись из 18
числовых идентификаторов из таблицы table1.) DELETE FROM table1 WHERE table1_id IN (20,21);
(удалить запись из 20 и 21 номера идентификатора таблицы table1)
Команда обновления MySQL
| команда | Описание |
|---|---|
| ОБНОВЛЕНИЕ table_name SET column_name = new_value [ГДЕ условие]; | обновить синтаксис команды |
Пример: —
SELECT * FROM table1, ГДЕ t1 = 1;
(получить запись для t1 = 1)
ОБНОВЛЕНИЕ table1 SET t4 = X1 WHERE t1 = 1;
(обновить значение t4 в таблице)
ORDER BY в MySQL: команда DESC & ASC
| команда | Описание |
|---|---|
| Оператор SELECT … [ГДЕ условие | GROUP BY field_name (s) ИМЕЕТ условие] ORDER BY field_name (s) [ASC | По убыванию]; | Упорядочить по пункту основной синтаксис |
| SELECT {fieldName (s) | *} FROM tableName (s) [ГДЕ условие] ORDER BY по именам полей ASC / DESC [LIMIT N] | DESC и ASC синтаксис |
Пример: —
для DESC (по убыванию)
SELECT * FROM table1 ORDER BY t3 DESC;
Для ASC (по возрастанию)
SELECT * FROM table1 ORDER BY t3 ASC;
MySQL GROUP BY и команда предложения HAVING
Группа по
| команда | Описание |
|---|---|
| Операторы SELECT … GROUP BY column_name1 [, column_name2, …] [HAVING условие]; | Синтаксис GROUP BY |
Пример группировки одного столбца: —
ВЫБРАТЬ t4 ОТ таблицы1;
ВЫБЕРИТЕ t4 ОТ table1 GROUP BY t4; (предположим, мы хотим получить уникальные значения для t4.)
Пример группировки нескольких столбцов: —
SELECT t1_id, t4 FROM table2;
SELECT t1_id, t4 ИЗ таблицы2 GROUP BY t1_id, t4; (используя группировку по методу)
Группировка и агрегирование функций
| команда | Описание |
|---|---|
| ВЫБЕРИТЕ t2, COUNT (t1) ИЗ таблицы1 GROUP BY t2; | Предположим, мы хотим получить общее количество значений столбца t2 в нашей базе данных. |
HAVING пункт
| команда | Описание |
|---|---|
| SELECT * FROM table2 GROUP BY t1_id, t4 ИМЕЮТ t1_id = x1; | все t4 для table2 t1 id x1. Мы бы использовали следующий скрипт для достижения наших результатов. |
MySQL Wildcards команды для Like, NOT Like, Escape, (%), (_)
% процент подстановочных знаков в MySQL
| команда | Описание |
|---|---|
| Операторы SELECT … WHERE имя поля LIKE xxx%; | основной синтаксис для подстановочного знака% процент |
Пример: — мы использовали бы подстановочный знак процента, чтобы выполнить сопоставление с образцом с обеих сторон слова «X1» как части t2 таблицы1
SELECT * FROM table1, ГДЕ t2 LIKE% X1%;
SELECT * FROM table1, ГДЕ t2 НРАВИТСЯ% X1;
(подстановочный знак процента в начале только критериев поиска)
SELECT * FROM table1, ГДЕ t2 LIKE X1%;
(подстановочный знак процента до конца указанного шаблона для сопоставления.)
символ подчеркивания _
| команда | Описание |
|---|---|
| SELECT * FROM table1, ГДЕ t3 НРАВИТСЯ x2_; | все table1, которые были t3 в год «x2» |
НЕ как команда подстановочных знаков
| команда | Описание |
|---|---|
| SELECT * FROM table1, ГДЕ t3 НЕ НРАВИТСЯ X2_; | Предположим, мы хотим получить table1, которые не были t3 в году X2_ |
Команда подстановки с ключевым словом Escape
| команда | Описание |
|---|---|
| НРАВИТСЯ 67 # %% ESCAPE #; | мы хотим проверить строку «67%» |
MYSQL регулярные выражения (REGEXP)
| команда | Описание |
|---|---|
| Операторы SELECT … WHERE имя поля REGEXP pattern; | основной синтаксис регулярного выражения |
Пример: — все table1 t1, в которых есть слово X1. Не имеет значения, находится ли «X1» в начале, середине или конце заголовка.
SELECT * FROM table1, ГДЕ t1 REGEXP X1;
Метасимволы регулярных выражений
| команда | Описание |
|---|---|
* |
Метасимвол звездочки (*) используется для соответствия нулю (0) или более экземпляров строк, предшествующих ему |
+ |
Метасимвол плюс (+) используется для сопоставления одного или нескольких экземпляров строк, предшествующих ему. |
? |
Метасимвол вопроса (?) Используется для соответствия нулю (0) или одному экземпляру строк, предшествующих ему. |
. |
Метасимвол точка (.) Используется для сопоставления любого отдельного символа, за исключением новой строки. |
[abc] |
Charlist [abc] используется для соответствия любому из вложенных символов. |
[^abc] |
Список символов [^ abc] используется для соответствия любым символам, кроме прилагаемых. |
[A-Z] |
[AZ] используется для соответствия любой заглавной букве |
[a-z] |
[Az] используется для соответствия любой строчной букве |
[0-9] |
[0-9] используется для соответствия любой цифре от 0 до 9. |
^ |
Символ каретки (^) используется для начала матча в начале. |
| |
Вертикальная черта (|) используется для выделения альтернатив. |
[[:<:]] |
[[: <:]] Соответствует началу слов. |
[[:>:]] |
[[:>:]] Соответствует концу слов. |
[:class:] |
[: Class:] соответствует классу символов, т. Е. [: Alpha:] для сопоставления букв, [: space:] для сопоставления пробелов, [: punct:] соответствует пунктуации и [: upper:] для букв верхнего класса. |
Команды функций SQL
Строковые функции
| команда | Описание |
|---|---|
| ВЫБЕРИТЕ t1_id, t2, UCASE (t2) FROM table1; | функция «UCASE», чтобы сделать это. Он принимает строку в качестве параметра и преобразует все буквы в верхний регистр. |
Числовые функции
| команда | Описание | пример |
|---|---|---|
DIV |
Целочисленное деление | ВЫБЕРИТЕ 23 DIV 6; |
/ |
разделение | ВЫБЕРИТЕ 23/6; |
- |
Вычитание | ВЫБЕРИТЕ 23 — 6; |
+ |
прибавление | ВЫБЕРИТЕ 23 + 6; |
* |
умножение | ВЫБЕРИТЕ 23 * 6 AS multiplication_result; |
% or MOD |
модуль | ВЫБЕРИТЕ 23% 6; или ВЫБРАТЬ 23 MOD 6; |
Floor |
эта функция удаляет десятичные разряды из числа и округляет до ближайшего наименьшего числа. | ВЫБЕРИТЕ ЭТАЖ (23/6) AS floor_result; |
Round |
эта функция округляет число с десятичными разрядами до ближайшего целого числа. | ВЫБЕРИТЕ КРУГЛЫЙ (23/6) КАК round_result; |
Хранимые функции
| команда | Описание |
|---|---|
| CREATE FUNCTION sf_name ([параметр (ы)]) ВОЗВРАЩАЕТ тип данных ДЕТЕРМИНИСТИЧЕСКИЕ ЗАЯВЛЕНИЯ |
основной синтаксис для создания хранимой функции |
| СОЗДАТЬ ФУНКЦИЮ sf_name ([параметр (ы)]) | Обязательно и указывает серверу MySQL создать функцию с именем `sf_name ‘с необязательными параметрами, определенными в скобках. |
| ВОЗВРАЩАЕТСЯ тип данных | Обязательно и указывает тип данных, который должна возвращать функция. |
| DETERMINISTIC | Функция будет возвращать одинаковые значения, если ей предоставлены одинаковые аргументы. |
| ЗАЯВЛЕНИЯ | Процедурный код, который выполняет функция. |
MySQL Агрегатные команды функции
| команда | Описание |
|---|---|
| ВЫБЕРИТЕ СЧЕТ (t1_id) ОТ таблицы1 ГДЕ t1_id = 2; | Функция COUNT |
| ВЫБЕРИТЕ МИН (t3) ИЗ таблицы2; | Функция MIN |
| ВЫБЕРИТЕ МАКС. (T3) ИЗ таблицы2; | Макс функция |
| ВЫБЕРИТЕ СУММУ (t4) ОТ table3; | СУММА функция |
| ВЫБЕРИТЕ AVG (t4) ИЗ table3; | Функция AVG |
MySQL NULL & IS NOT NULL команды
| команда | Описание |
|---|---|
| ВЫБЕРИТЕ СЧЕТ (t3) ИЗ таблицы1; (если t3 имеет нулевое значение, которое не учитывается) |
Null как значение |
| CREATE TABLE table2 ( t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6) ); |
Значения NOT NULL |
| comlumn_name IS NULL comlumn_name NOT NULL |
NULL Ключевые слова Основной синтаксис |
| SELECT * FROM table1, ГДЕ t2_number IS NULL; | Пример IS NULL |
| SELECT * FROM table1, ГДЕ t2_number НЕ ПУСТО; | Пример IS NOT NULL |
MySQL AUTO_INCREMENT команды
| команда | Описание |
|---|---|
| CREATE TABLE table1 ( t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) DEFAULT NULL, t3 varchar (500) DEFAULT NULL, ПЕРВИЧНЫЙ КЛЮЧ (t1_id) ); |
Синтаксис автоинкремента |
MYSQL — ALTER, DROP, RENAME, MODIFY
| команда | Описание |
|---|---|
| ALTER TABLE table_name ADD COLUMN имя_ столбца data_type; | Альтернативный синтаксис |
| DROP TABLE sample_table; | Синтаксис DROP TABLE |
| Переименовать таблицу current_table_name в new_table_name; | Переименовать команду синтаксис |
| ALTER TABLE table1 CHANGE COLUMN t1_names t1name char (250) NOT NULL; | ИЗМЕНИТЬ КЛЮЧЕВОЕ СЛОВО |
| ALTER TABLE table1MODIFY t1name char (50) NOT NULL; | MODIFY KEYWORD |
| ALTER TABLE таблица1 ДОБАВИТЬ t4 дата NULL ПОСЛЕ t3; | ПОСЛЕ КЛЮЧЕВОГО СЛОВА |
MySQL LIMIT & OFFSET
| команда | Описание |
|---|---|
| SELECT {fieldname (s) | *} FROM tableName (s) [ГДЕ условие] LIMIT N; | LIMIT синтаксис ключевого слова |
| SELECT * FROM table1 LIMIT 1, 2; | OFF SET в запросе LIMIT |
Команды MySQL SubQuery:
| команда | Описание |
|---|---|
| SELECT t1_name ОТ table1 WHERE category_id = (SELECT MIN (t1_id) из таблицы2); | подзапросы |
MySQL JOINS команды
| команда | Описание |
|---|---|
| SELECT * FROM table1 CROSS JOIN table2 | Cross JOIN |
| ВЫБЕРИТЕ table1.t1, table1.t2, table2.t1 ОТ table1, table2 WHERE table2.id = table1.table2_id |
ВНУТРЕННЕЕ СОЕДИНЕНИЕ |
| ВЫБЕРИТЕ A.t1, B.t2, B.t3 ИЗ таблицы 2 В КАЧЕСТВЕ ЛЕВОГО СОЕДИНЕНИЯ table1 КАК B ВКЛ B.table2_id = A.id |
ЛЕВОЕ СОЕДИНЕНИЕ |
| ВЫБЕРИТЕ A.t1, A.t2, B.t3 ИЗ таблицы1 В КАЧЕСТВЕ ПРАВИЛЬНОГО СОЕДИНЕНИЯ table2 КАК B ВКЛ B.id = A.table2_id |
ПРАВИЛЬНОЕ СОЕДИНЕНИЕ |
| ВЫБЕРИТЕ A.t1, B.t2, B.t3 ИЗ таблицы 2 В КАЧЕСТВЕ ЛЕВОГО СОЕДИНЕНИЯ |
Положения «ON» и «USING» |
MySQL UNION команды
| команда | Описание |
|---|---|
| ВЫБРАТЬ столбец1, столбец2 ИЗ таблицы1 | Синтаксис UNION |
| ВЫБРАТЬ столбец1, столбец2 ИЗ таблицы2; | СОЮЗ ОТЛИЧАЕТСЯ |
Команды MySQL в представлениях
| команда | Описание |
|---|---|
| CREATE VIEW view_name AS оператор SELECT; | Синтаксис просмотров |
| DROP VIEW general_v_movie_rentals; | Отбрасывание просмотров |
MySQL Index команды
| команда | Описание |
|---|---|
| CREATE INDEX id_index ON table_name (column_name); | Добавить основной синтаксис индекса |
| DROP INDEX index_id ON table_name; | Удалить основной синтаксис индекса |