Из этой шпаргалки по SQL-запросам вы узнаете
Создать базу данных и команды таблицы
Командование | Описание |
СОЗДАТЬ БАЗУ ДАННЫХ; | Создать базу данных |
СОЗДАТЬ БАЗУ ДАННЫХ НЕ СУЩЕСТВУЕТ database1; | ЕСЛИ НЕ СУЩЕСТВУЕТ, позволяет указать серверу MySQL проверить существование базы данных с аналогичным именем перед созданием базы данных. |
СОЗДАТЬ БАЗУ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ database1 CHARACTER SET latin1 COLLATE latin1_swedish_ci | набор символов Latin1 использует сопоставление latin1_swedish_ci, которое является шведским порядком без учета регистра. |
ПОКАЗАТЬ БАЗЫ ДАННЫХ | Вы можете увидеть список существующих баз данных, выполнив следующую команду SQL. |
СОЗДАТЬ ТАБЛИЦУ [ЕСЛИ НЕ СУЩЕСТВУЕТ] TableName (fieldname dataType [необязательные параметры]) ENGINE = Storage Engine; | Создать синтаксис таблицы |
ТИПЫ ДАННЫХ
Числовые типы данных
Командование | Описание |
ТИНИИНТ () | -128 до 127 нормальный 0 до 255 НЕ ПОДПИСАНО. |
МАЛЕНЬКИЙ () | -32768 до 32767 нормальный 0 до 65535 НЕ ПОДПИСАНО. |
СРЕДНИЙ () | -8388608 до 8388607 нормальный 0 до 16777215 НЕ ПОДПИСАНО. |
INT () | -2147483648 до 2147483647 нормальный 0 до 4294967295 НЕ ПОДПИСАНО. |
BIGINT () | -9223372036854775808 до 9223372036854775807 нормальный 0 до 18446744073709551615 НЕ ПОДПИСАНО. |
ПЛАВАТЬ | Небольшое приблизительное число с плавающей десятичной запятой. |
ДВОЙНОЙ( , ) | Большое число с плавающей запятой. |
ДЕСЯТИЧНЫЙ( , ) | DOUBLE хранится в виде строки с фиксированной десятичной точкой. Выбор для хранения валютных ценностей. |
Типы текстовых данных
Командование | Описание |
СИМВОЛ () | Фиксированный раздел длиной от 0 до 255 символов. |
VARCHAR () | Раздел переменной длиной от 0 до 255 символов. |
TINYTEXT | Строка длиной не более 255 символов. |
ТЕКСТ | Строка максимальной длиной 65535 символов. |
BLOB | Строка максимальной длиной 65535 символов. |
СРЕДНИЙ ТЕКСТ | Строка максимальной длиной 16777215 символов. |
СРЕДНИЙ БЛОК | Строка максимальной длиной 16777215 символов. |
LONGTEXT | Строка максимальной длиной 4294967295 символов. |
LONGBLOB | Строка максимальной длиной 4294967295 символов. |
Типы данных даты и времени
Командование | Описание |
ДАТА | ГГГГ-ММ-ДД |
ДАТА ВРЕМЯ | ГГГГ-ММ-ДД ЧЧ: ММ: СС |
TIMESTAMP | ГГГГММДДЧЧММСС |
ВРЕМЯ | ЧЧ: ММ: СС |
Другие типы данных
Командование | Описание |
ENUM | Для хранения текстового значения, выбранного из списка предопределенных текстовых значений. |
НАБОР | Это также используется для хранения текстовых значений, выбранных из списка предопределенных текстовых значений. Может иметь несколько значений. |
BOOL | Синоним TINYINT (1), используется для хранения логических значений |
БИНАРНЫЙ | Подобно CHAR, разница в том, что тексты хранятся в двоичном формате. |
ВАРБИНАРНЫЙ | Подобно VARCHAR, разница в том, что тексты хранятся в двоичном формате. |
Команда оператора MySQL SELECT
Командование | Описание |
ВЫБРАТЬ [ОТЛИЧИТЕЛЬНЫЙ | ВСЕ] {* | [fieldExpression [AS newName]} FROM tableName [псевдоним] [WHERE condition] [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; | Получение списка table2 |
ВЫБЕРИТЕ имя_столбца | значение | выражение [AS] псевдоним; | Синтаксис имен полей псевдонимов |
Предложение MySQL WHERE с командами AND, OR, IN, NOT IN
Командование | Описание |
ВЫБЕРИТЕ * ИЗ tableName WHERE условие; | Синтаксис предложения WHERE |
ВЫБЕРИТЕ * ИЗ таблицы1, ГДЕ t1 = 2 И t2 = 2008; | Предложение WHERE в сочетании с оператором - AND LOGICAL |
ВЫБРАТЬ * ИЗ таблицы1 ГДЕ t1 = 1 ИЛИ t1 = 2; | Предложение WHERE в сочетании с оператором - OR LOGICAL |
ВЫБЕРИТЕ * ИЗ таблицы2 ГДЕ t1 В (1,2,3); | Предложение WHERE в сочетании с ключевым словом - IN |
ВЫБРАТЬ * ИЗ таблицы2, ГДЕ t1 НЕ В (1,2,3); | Предложение WHERE в сочетании с - NOT IN Keyword |
ВЫБРАТЬ * ИЗ table2 ГДЕ t3 = Женский; | Предложение WHERE в сочетании с Equal (=) to COMPARISON OPERATORS |
ВЫБЕРИТЕ * ИЗ таблицы3 ГДЕ t3> 2000; | Предложение WHERE в сочетании с более чем (>) для COMPARISON OPERATORS |
ВЫБРАТЬ * ИЗ таблицы1 ГДЕ t1 <> 1; | Предложение WHERE в сочетании с оператором сравнения не равно (<>) |
Команда MySQL INSERT INTO Table
Командование | Описание |
INSERT INTO имя_таблицы (столбец_1, столбец_2,…) ЗНАЧЕНИЯ (значение_1, значение_2,…); | базовый синтаксис команды SQL INSERT |
ВСТАВИТЬ В таблицу1 (t1, t2, t3, t4) ЗНАЧЕНИЯ (X1, X2, X3, X4); | ВСТАВИТЬ данные в таблицу |
ВСТАВИТЬ В таблицу_1 ВЫБРАТЬ * ИЗ таблицы_2; | Вставка в таблицу из другой таблицы |
Команда MySQL DELETE
Командование | Описание |
УДАЛИТЬ ИЗ имя_таблицы [условие ГДЕ]; | Удалить строку в MySQL |
Пример: - УДАЛИТЬ ИЗ table1 WHERE table1_id = 18;
(удалить запись из 18 номеров id из таблицы 1.) УДАЛИТЬ ИЗ table1 WHERE table1_id IN (20,21); (удалить запись из 20 и 21 номера id из таблицы1)
Команда обновления MySQL
Командование | Описание |
ОБНОВЛЕНИЕ имя_таблицы УСТАНОВИТЬ имя_столбца = новое_значение [ГДЕ условие]; | синтаксис команды обновления |
Пример: - SELECT * FROM table1 WHERE t1 = 1;
(получить запись для t1 = 1) ОБНОВИТЬ table1 SET t4 = X1 WHERE t1 = 1; (обновить значение t4 в таблице)
ORDER BY в MySQL: команда DESC & ASC
Командование | Описание |
Оператор SELECT… [условие WHERE | ГРУППА ПО именам полей ИМЕЮЩИЕ условие] ORDER BY имена полей [ASC | DESC]; | Основной синтаксис упорядочить по предложениям |
ВЫБЕРИТЕ {fieldName (s) | *} FROM tableName (s) [WHERE condition] ORDER BY fieldname (s) ASC / DESC [LIMIT N] | Синтаксис DESC и ASC |
Пример: - Для DESC (по убыванию)
ВЫБРАТЬ * ИЗ table1 ORDER BY t3 DESC; Для ASC (по возрастанию) SELECT * FROM table1 ORDER BY t3 ASC;
MySQL GROUP BY и команда HAVING Clause
Группа по
Командование | Описание |
Операторы SELECT… GROUP BY имя_столбца1 [, имя_столбца2,…] [условие HAVING]; | GROUP BY синтаксис |
Пример группировки одного столбца: - ВЫБРАТЬ t4 ИЗ таблицы1;
SELECT t4 FROM table1 GROUP BY t4; (предположим, мы хотим получить уникальные значения для t4.)
Пример группировки нескольких столбцов: - ВЫБЕРИТЕ t1_id, t4 FROM table2;
ВЫБЕРИТЕ t1_id, t4 FROM table2 GROUP BY t1_id, t4; (используя группировку по методу)
Группирующие и агрегатные функции
Командование | Описание |
ВЫБРАТЬ t2, COUNT (t1) FROM table1 GROUP BY t2; | Предположим, нам нужно общее количество значений столбца t2 в нашей базе данных. |
Пункт HAVING
Командование | Описание |
ВЫБРАТЬ * ИЗ table2 ГРУППА ПО t1_id, t4 ИМЕЕТ t1_id = x1; | все t4 для table2 t1 id x1. Мы бы использовали следующий сценарий для достижения наших результатов. |
Команды подстановочных знаков MySQL для Like, NOT Like, Escape, (%), (_)
% процентная команда подстановочных знаков в MySQL
Командование | Описание |
Операторы SELECT… WHERE fieldname LIKE xxx%; | основной синтаксис для подстановочного знака% процента |
Пример: - мы могли бы использовать подстановочный знак процента для выполнения сопоставления с образцом с обеих сторон слова «X1» как части t2 таблицы1 SELECT * FROM table1 WHERE t2 LIKE% X1%;
ВЫБЕРИТЕ * ИЗ таблицы1 ГДЕ t2 КАК% X1; (подстановочный знак процента только в начале критерия поиска) SELECT * FROM table1 WHERE t2 LIKE X1%; (процентный подстановочный знак до конца указанного шаблона, который необходимо сопоставить.)
_ команда подстановочного знака подчеркивания
Командование | Описание |
ВЫБРАТЬ * ИЗ table1 WHERE t3 LIKE x2_; | все table1, которые были t3 в году "x2" |
НЕ как команда с подстановочными знаками
Командование | Описание |
ВЫБРАТЬ * ИЗ таблицы1, ГДЕ t3 НЕ НРАВИТСЯ X2_; | Предположим, мы хотим получить table1, которых не было t3 в году X2_ |
Команда Escape с подстановочными знаками ключевого слова
Командование | Описание |
НРАВИТСЯ 67 # %% ESCAPE #; | мы хотим проверить строку "67%" |
Регулярные выражения MYSQL (REGEXP)
Командование | Описание |
Операторы SELECT… WHERE fieldname REGEXP pattern; | базовый синтаксис регулярного выражения |
Пример: - все table1 t1, в которых есть слово X1. Не имеет значения, находится ли «X1» в начале, середине или конце заголовка. ВЫБРАТЬ * ИЗ table1 WHERE t1 REGEXP X1;
Метасимволы регулярного выражения
Командование | Описание |
* | Метасимвол звездочка (*) используется для сопоставления нуля (0) или более экземпляров предшествующих ему строк. |
+ | Метасимвол плюс (+) используется для сопоставления одного или нескольких экземпляров предшествующих ему строк. |
? | Метасимвол вопроса (?) Используется для сопоставления нуля (0) или одного экземпляра строк, предшествующих ему. |
. | Метасимвол точка (.) Используется для соответствия любому одиночному символу, за исключением новой строки. |
[abc] | Список символов [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) ИЗ таблицы1; | функция "UCASE" для этого. Он принимает строку в качестве параметра и преобразует все буквы в верхний регистр. |
Числовые функции
Командование | Описание | Пример |
DIV | Целочисленное деление | ВЫБРАТЬ 23 РАЗД 6; |
/ | Разделение | ВЫБРАТЬ 23/6; |
- | Вычитание | ВЫБРАТЬ 23 - 6; |
+ | Добавление | ВЫБРАТЬ 23 + 6; |
* | Умножение | ВЫБРАТЬ 23 * 6 КАК multiplication_result; |
% or MOD | Модуль | ВЫБРАТЬ 23% 6; или ВЫБРАТЬ 23 MOD 6; |
Floor | эта функция удаляет десятичные разряды из числа и округляет его до ближайшего наименьшего числа. | ВЫБРАТЬ ЭТАЖ (23/6) КАК floor_result; |
Round | эта функция округляет число с десятичными знаками до ближайшего целого числа. | ВЫБРАТЬ КРУГЛЫЙ (23/6) КАК round_result; |
Сохраненные функции
Командование | Описание |
СОЗДАТЬ ФУНКЦИЮ sf_name ([параметр (ы)]) ВОЗВРАЩАЕТ тип данных ДЕТЕРМИНИСТИЧЕСКИЕ ЗАЯВЛЕНИЯ | базовый синтаксис для создания сохраненной функции |
СОЗДАТЬ ФУНКЦИЮ sf_name ([параметры]) | Обязательный и указывает серверу MySQL создать функцию с именем sf_name с необязательными параметрами, указанными в скобках. |
RETURNS тип данных | Обязательный и указывает тип данных, который должна возвращать функция. |
ДЕТЕРМИНИСТИЧЕСКИЙ | Функция вернет те же значения, если ей переданы те же аргументы. |
ЗАЯВЛЕНИЯ | Процедурный код, который выполняет функция. |
Команды функции MySQL Aggregate
Командование | Описание |
ВЫБРАТЬ СЧЕТЧИК (t1_id) ИЗ table1 ГДЕ t1_id = 2; | Функция COUNT |
ВЫБРАТЬ МИН (t3) ИЗ таблицы2; | Функция МИН |
ВЫБРАТЬ МАКС (t3) ИЗ таблицы2; | Функция МАКС |
ВЫБРАТЬ СУММ (t4) ИЗ таблицы3; | СУММ (функция СУММ) |
ВЫБРАТЬ СРЕДНЕЕ (t4) ИЗ table3; | Функция AVG |
MySQL IS NULL & IS NOT NULL команды
Командование | Описание |
ВЫБРАТЬ СЧЕТЧИК (t3) ИЗ таблицы1; (если t3 имеет нулевое значение, которое не учитывается) | Нулевое значение как значение |
СОЗДАТЬ ТАБЛИЦУ table2 (t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6)); | НЕ NULL значения |
comlumn_name IS NULL comlumn_name NOT NULL | NULL Ключевые слова Базовый синтаксис |
ВЫБРАТЬ * ИЗ таблицы1, ГДЕ t2_number IS NULL; | Пример 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 - АЛЬТЕР, УДАЛЕНИЕ, ПЕРЕИМЕНОВАНИЕ, ИЗМЕНЕНИЕ
Командование | Описание |
ALTER TABLE имя_таблицы ADD COLUMN имя_столбца тип_данных; | Альтернативный синтаксис |
DROP TABLE sample_table; | DROP TABLE синтаксис |
ПЕРЕИМЕНОВАТЬ ТАБЛИЦУ current_table_name TO new_table_name; | ПЕРЕИМЕНОВАТЬ синтаксис КОМАНДЫ |
ALTER TABLE table1 ИЗМЕНИТЬ COLUMN 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 LIMIT и OFFSET
Командование | Описание |
ВЫБЕРИТЕ {имя (а) поля | *} FROM tableName (s) [WHERE condition] LIMIT N; | LIMIT синтаксис ключевого слова |
ВЫБРАТЬ * ИЗ table1 LIMIT 1, 2; | OFF SET в запросе LIMIT |
Команды MySQL SubQuery:
Командование | Описание |
ВЫБЕРИТЕ t1_name ИЗ таблицы1 ГДЕ category_id = (ВЫБЕРИТЕ MIN (t1_id) из таблицы2); | подзапросы |
Команды MySQL JOINS
Командование | Описание |
ВЫБРАТЬ * ИЗ table1 CROSS JOIN table2 | Кросс JOIN |
ВЫБРАТЬ table1.t1, table1.t2, table2.t1 ИЗ table1, table2 ГДЕ table2.id = table1.table2_id | ВНУТРЕННЕЕ СОЕДИНЕНИЕ |
ВЫБЕРИТЕ A.t1, B.t2, B.t3 ИЗ таблицы2 КАК ЛЕВЫЙ СОЕДИНЕНИЕ table1 КАК B ON B.table2_id = A.id | LEFT JOIN |
ВЫБЕРИТЕ A.t1, A.t2, B.t3 ИЗ таблицы1 КАК ПРАВИЛЬНОЕ СОЕДИНЕНИЕ с таблицей2 КАК B ON B.id = A.table2_id | ПРАВО ПРИСОЕДИНИТЬСЯ |
ВЫБЕРИТЕ A.t1, B.t2, B.t3 ИЗ таблицы2 КАК ЛЕВЫЙ СОЕДИНЕНИЕ table1 КАК B ИСПОЛЬЗОВАНИЕ (table2_id) | Предложения "ON" и "USING" |
Команды MySQL UNION
Командование | Описание |
ВЫБРАТЬ столбец1, столбец2 ИЗ таблицы1 | Синтаксис UNION |
ВЫБРАТЬ столбец1, столбец2 ИЗ таблицы2; | UNION DISTINCT |
MySQL в командах представлений
Командование | Описание |
CREATE VIEW имя_представления как оператор SELECT; | Синтаксис представлений |
ОТКАЗАТЬ ПРОСМОТР general_v_movie_rentals; | Отбрасывание просмотров |
Команды индексации MySQL
Командование | Описание |
СОЗДАТЬ ИНДЕКС id_index ON имя_таблицы (имя_столбца); | Добавить базовый синтаксис индекса |
DROP INDEX index_id ON имя_таблицы; | Базовый синтаксис удаления индекса |