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