Учебники

33) Шпаргалка по SQL

В этом чит-листе 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; Удалить основной синтаксис индекса