MySQL


Начало работы

Подключение MySQL

mysql -u <user> -p

mysql [имя_базы]

mysql -h <host> -P <port> -u <user> -p [db_name]

mysql -h <host> -u <user> -p [db_name]

Commons

База данных

- -
CREATE DATABASE db ; Создать базу данных
SHOW DATABASES; Список баз данных
USE db; Переключиться на базу данных
CONNECT db; Переключиться на db
DROP DATABASE db; Удалить db

Таблица

- -
SHOW TABLES; Список таблиц для текущей базы данных
SHOW FIELDS FROM t; Список полей для таблицы
DESC t; Показать структуру таблицы
SHOW CREATE TABLE t; Показать sql создания таблицы
TRUNCATE TABLE t; Удалить все данные в таблице
DROP TABLE t; Удалить таблицу

Процесс

- -
show processlist; Список процессов
kill pid; kill process

Другое

- -
exit или \q Выход из сеанса MySQL

Резервное копирование

Создайте резервную копию

mysqldump -u user -p db_name > db.sql

Экспорт db без схемы

mysqldump -u user -p db_name --no-data=true --add-drop-table=false > db.sql

Восстановление резервной копии

mysql -u user -p db_name < db.sql

Примеры MySQL

Управление таблицами

Создайте новую таблицу с тремя столбцами

``ql CREATE TABLE t ( id INT, name VARCHAR DEFAULT NOT NULL, цена INT DEFAULT 0 PRIMARY KEY(id) );


Удаление таблицы из базы данных
```ql
DROP TABLE t ;

Добавить в таблицу новый столбец

ALTER TABLE t ADD column;

Удалить столбец c из таблицы

ALTER TABLE t DROP COLUMN c ;

Добавить ограничение

ALTER TABLE t ADD constraint;

Удалить ограничение

ALTER TABLE t DROP constraint;

Переименование таблицы из t1 в t2

ALTER TABLE t1 RENAME TO t2;

Переименовать столбец c1 в c2

ALTER TABLE t1 RENAME c1 TO c2 ;

Удалить все данные в таблице

TRUNCATE TABLE t;

Запрос данных из таблицы

Запрос данных в столбцах c1, c2 из таблицы

SELECT c1, c2 FROM t

Запрос всех строк и столбцов из таблицы

SELECT * FROM t

Запрос данных и фильтрация строк с помощью условия

SELECT c1, c2 FROM t
ГДЕ условие

Запрос отдельных строк из таблицы

SELECT DISTINCT c1 FROM t
WHERE условие

Отсортировать набор результатов в порядке возрастания или убывания

SELECT c1, c2 FROM t
ORDER BY c1 ASC [DESC]

Пропустить смещение строк и вернуть следующие n строк

SELECT c1, c2 FROM t
ORDER BY c1
LIMIT n OFFSET offset

Группировка строк с помощью агрегатной функции

SELECT c1, aggregate(c2)
FROM t
GROUP BY c1

Фильтр групп с помощью предложения HAVING

SELECT c1, aggregate(c2)
FROM t
GROUP BY c1
условие HAVING

Запрос из нескольких таблиц

Внутреннее соединение t1 и t2

``ql SELECT c1, c2 из t1 INNER JOIN t2 ON condition



Левое соединение t1 и t1

```ql
SELECT c1, c2
из t1
LEFT JOIN t2 ON condition

Правое соединение t1 и t2

SELECT c1, c2
из t1
RIGHT JOIN t2 ON condition

Выполнить полное внешнее объединение

SELECT c1, c2
из t1
FULL OUTER JOIN t2 ON condition

Произвести декартово произведение строк в таблицах

SELECT c1, c2
из t1
CROSS JOIN t2

Другой способ выполнения перекрестного соединения

SELECT c1, c2
FROM t1, t2

Присоединим t1 к самому себе с помощью предложения INNER JOIN

SELECT c1, c2
FROM t1 A
INNER JOIN t1 B ON condition

Использование операторов SQL Объединение строк из двух запросов

``ql SELECT c1, c2 FROM t1 UNION [ALL] SELECT c1, c2 FROM t2



Возвращает пересечение двух запросов

```ql
SELECT c1, c2 FROM t1
INTERSECT
SELECT c1, c2 FROM t2

Вычитание набора результатов из другого набора результатов

SELECT c1, c2 FROM t1
МИНУС
SELECT c1, c2 FROM t2

Запрос строк с использованием сопоставления шаблонов %, _

SELECT c1, c2 FROM t1
WHERE c1 [NOT] LIKE pattern

Запрос строк в списке

SELECT c1, c2 FROM t
WHERE c1 [NOT] IN value_list

Запрос строк между двумя значениями

SELECT c1, c2 FROM t
WHERE c1 BETWEEN low AND high

Проверка того, являются ли значения в таблице NULL или нет

SELECT c1, c2 FROM t
WHERE c1 IS [NOT] NULL

Использование ограничений SQL

Установите c1 и c2 в качестве первичного ключа

``ql CREATE TABLE t( c1 INT, c2 INT, c3 VARCHAR, PRIMARY KEY (c1,c2) );



Установить столбец c2 в качестве внешнего ключа

```ql
CREATE TABLE t1(
    c1 INT PRIMARY KEY,
    c2 INT,
    FOREIGN KEY (c2) REFERENCES t2(c2)
);

Сделаем значения в c1 и c2 уникальными

``ql CREATE TABLE t( c1 INT, c1 INT, UNIQUE(c2,c3) );



Убедиться, что c1 > 0 и значения в c1 >= c2

```ql
CREATE TABLE t(
  c1 INT, c2 INT,
  CHECK(c1> 0 AND c1 >= c2)
);

Установить значения в столбце c2 не NULL

CREATE TABLE t(
     c1 INT PRIMARY KEY,
     c2 VARCHAR NOT NULL
);

Модификация данных

Вставка одной строки в таблицу

``ql INSERT INTO t(список_столбцов) VALUES(value_list);



Вставка нескольких строк в таблицу

```ql
INSERT INTO t(список_столбцов)
VALUES (список_значений),
       (список_значений), ...;

Вставка строк из t2 в t1

INSERT INTO t1(список_колонок)
SELECT column_list
FROM t2;

Обновить новое значение в столбце c1 для всех строк

UPDATE t
SET c1 = new_value;

Обновление значений в столбцах c1, c2, соответствующих условию

UPDATE t
SET c1 = new_value,
        c2 = new_value
WHERE условие;

Удаление всех данных в таблице

DELETE FROM t;

Удаление подмножества строк в таблице

DELETE FROM t
WHERE условие;

Управление представлениями

Создайте новое представление, состоящее из c1 и c2

``ql CREATE VIEW v(c1,c2) AS SELECT c1, c2 FROM t;



Создайте новое представление с опцией проверки

``ql
CREATE VIEW v(c1,c2)
AS
SELECT c1, c2
FROM t;
С ОПЦИЕЙ ПРОВЕРКИ [CASCADED | LOCAL];

Создание рекурсивного представления

CREATE RECURSIVE VIEW v
AS
select-statement -- якорная часть
UNION [ALL]
select-statement; -- рекурсивная часть

Создайте временное представление

CREATE TEMPORARY VIEW v
AS
SELECT c1, c2
FROM t;

Удаление представления

DROP VIEW view_name;

Управление триггерами

Создание или изменение триггера

CREATE OR MODIFY TRIGGER trigger_name
КОГДА СОБЫТИЕ
ON table_name TRIGGER_TYPE
EXECUTE stored_procedure;

WHEN

- -
BEFORE вызов до наступления события
AFTER вызов после наступления события

СОБЫТИЕ

- -
INSERT вызов для INSERT
UPDATE вызов UPDATE
DELETE вызов DELETE

TRIGGER_TYPE

- -
ДЛЯ КАЖДОЙ СТРОКИ
ДЛЯ КАЖДОГО ОПЕРАТОРА

Управление индексами

Создайте индекс на c1 и c2 таблицы t

``ql CREATE INDEX idx_name ON t(c1,c2);



Создадим уникальный индекс на c3, c4 таблицы t

```ql
CREATE UNIQUE INDEX idx_name
ON t(c3,c4)

Удаление индекса

DROP INDEX idx_name;

Типы данных MySQL

Строки

- -
CHAR Строка (0 - 255)
VARCHAR Строка (0 - 255)
TINYTEXT Строка (0 - 255)
TEXT Строка (0 - 65535)
BLOB String (0 - 65535)
MEDIUMTEXT Строка (0 - 16777215)
MEDIUMBLOB String (0 - 16777215)
LONGTEXT String (0 - 4294967295)
LONGBLOB String (0 - 4294967295)
ENUM Один из предустановленных вариантов
SET Выбор опций предустановки

Дата и время

Тип данных Формат
DATE yyyy-MM-dd
TIME hh:mm:ss
DATETIME yyyy-MM-dd hh:mm:ss
TIMESTAMP yyyy-MM-dd hh:mm:ss
YEAR yyyy

Числовой

- -
TINYINT x Целое число (от -128 до 127)
SMALLINT x Целое число (от -32768 до 32767)
MEDIUMINT x Целое число (от -8388608 до 8388607)
INT x Целое число (от -2147483648 до 2147483647)
BIGINT x Целое число (от -9223372036854775808 до 9223372036854775807)
FLOAT Десятичная система счисления (с точностью до 23 цифр)
DOUBLE Десятичная дробь (от 24 до 53 цифр)
DECIMAL “DOUBLE” хранится как строка

Функции и операторы MySQL

Строки

  • ASCII(){data-tooltip=“Возвращает числовое значение крайнего левого символа”}
  • BIN(){data-tooltip=“Возвращает строку, содержащую двоичное представление числа”}
  • BIT_LENGTH(){data-tooltip=“Возвращает длину аргумента в битах”}
  • CHAR(){data-tooltip=“Возвращает символ для каждого переданного целого числа”}
  • CHARACTER_LENGTH(){data-tooltip=“Синоним CHAR_LENGTH()”}
  • CHAR_LENGTH(){data-tooltip=“Возвращает количество символов в аргументе”}
  • CONCAT(){data-tooltip=“Возвращает конкатенированную строку”}
  • CONCAT_WS(){data-tooltip=“Возвращает конкатенацию с разделителем”}
  • ELT(){data-tooltip=“Возвращает строку по номеру индекса”}
  • EXPORT_SET(){data-tooltip=“Возвращается строка, в которой для каждого установленного бита значения получается строка on, а для каждого неустановленного бита - строка off”}
  • FIELD(){data-tooltip=“Индекс (позиция) первого аргумента в последующих аргументах”}
  • FIND_IN_SET(){data-tooltip=“Индекс (позиция) первого аргумента внутри второго аргумента”}
  • FORMAT(){data-tooltip=“Возвращает число, отформатированное до указанного количества знаков после запятой”}
  • FROM_BASE64(){data-tooltip=“Декодировать строку в кодировке base64 и вернуть результат”}
  • HEX(){data-tooltip=“Шестнадцатеричное представление десятичного или строкового значения”}
  • INSERT(){data-tooltip=“Вставить подстроку в указанную позицию до указанного количества символов”}
  • INSTR(){data-tooltip=“Вернуть индекс первого вхождения подстроки”}
  • LCASE(){data-tooltip=“Синоним LOWER()”}
  • LEFT(){data-tooltip=“Возвращает крайнее левое число символов, как указано”}
  • LENGTH(){data-tooltip=“Возвращает длину строки в байтах”}
  • LIKE{data-tooltip=“Простое сопоставление шаблонов”}
  • LOAD_FILE(){data-tooltip=“Загрузить именованный файл”}
  • LOCATE(){data-tooltip=“Возвращает позицию первого вхождения подстроки”}
  • LOWER(){data-tooltip=“Вернуть аргумент в нижнем регистре”}
  • LPAD(){data-tooltip=“Возвращает строковый аргумент, дополненный слева указанной строкой”}
  • LTRIM(){data-tooltip=“Удалить ведущие пробелы”}
  • MAKE_SET(){data-tooltip=“Возвращает набор разделенных запятыми строк, у которых установлен соответствующий бит в битах”}
  • MATCH{data-tooltip=“Выполнить полнотекстовый поиск”}
  • MID(){data-tooltip=“Возвращает подстроку, начиная с указанной позиции”}
  • NOT LIKE{data-tooltip=“Отрицание простого сопоставления с образцом”}
  • NOT REGEXP{data-tooltip=“Отрицание REGEXP”}
  • OCT(){data-tooltip=“Возвращает строку, содержащую восьмеричное представление числа”}
  • OCTET_LENGTH(){data-tooltip=“Синоним LENGTH()”}
  • ORD(){data-tooltip=“Возвращает символьный код крайнего левого символа аргумента”}
  • POSITION(){data-tooltip=“Синоним LOCATE()”}
  • QUOTE(){data-tooltip=“Вывод аргумента для использования в операторе SQL”}
  • REGEXP{data-tooltip=“Соответствует ли строка регулярному выражению”}
  • REGEXP_INSTR(){data-tooltip=“Начальный индекс подстроки, соответствующей регулярному выражению”}
  • REGEXP_LIKE(){data-tooltip=“Соответствует ли строка регулярному выражению”}
  • REGEXP_REPLACE(){data-tooltip=“Заменить подстроку, соответствующую регулярному выражению”}
  • REGEXP_SUBSTR(){data-tooltip=“Возвращает подстроку, соответствующую регулярному выражению”}
  • REPEAT(){data-tooltip=“Повторять строку указанное количество раз”}
  • REPLACE(){data-tooltip=“Заменить вхождения указанной строки”}
  • REVERSE(){data-tooltip=“Поменять местами символы в строке”}
  • RIGHT(){data-tooltip=“Вернуть указанное крайнее правое число символов”}
  • RLIKE{data-tooltip=“Соответствует ли строка регулярному выражению”}
  • RPAD(){data-tooltip=“Добавить строку указанное количество раз”}
  • RTRIM(){data-tooltip=“Удалить пробелы в конце строки”}
  • SOUNDEX(){data-tooltip=“Вернуть строку саундекса”}
  • SOUNDS LIKE{data-tooltip=“Сравнить звуки”}
  • SPACE(){data-tooltip=“Вернуть строку с указанным количеством пробелов”}
  • STRCMP(){data-tooltip=“Сравнить две строки”}
  • SUBSTR(){data-tooltip=“Возвращает указанную подстроку”}
  • SUBSTRING(){data-tooltip=“Вернуть указанную подстроку”}
  • SUBSTRING_INDEX(){data-tooltip=“Возвращает подстроку из строки до указанного количества вхождений разделителя”}
  • TO_BASE64(){data-tooltip=“Возвращает аргумент, преобразованный в строку base-64”}
  • TRIM(){data-tooltip=“Удаление ведущих и завершающих пробелов”}
  • UCASE(){data-tooltip=“Синоним UPPER()”}
  • UNHEX(){data-tooltip=“Возвращает строку, содержащую шестнадцатеричное представление числа”}
  • UPPER(){data-tooltip=“Преобразовать в верхний регистр”}
  • WEIGHT_STRING(){data-tooltip=“Возвращает строку веса для строки”} {.cols-2}

Дата и время

  • ADDDATE(){data-tooltip=“Добавить значения времени (интервалы) к значению даты”}
  • ADDTIME(){data-tooltip=“Добавить время”}
  • CONVERT_TZ(){data-tooltip=“Перевести из одного часового пояса в другой”}
  • CURDATE(){data-tooltip=“Вернуть текущую дату”}
  • CURRENT_DATE(){data-tooltip=“Синонимы для CURDATE()”}
  • CURRENT_TIME(){data-tooltip=“Синонимы для CURTIME()”}
  • CURRENT_TIMESTAMP(){data-tooltip=“Синонимы для NOW()”}
  • CURTIME(){data-tooltip=“Возврат текущего времени”}
  • DATE(){data-tooltip=“Извлечение части даты из выражения date или datetime”}
  • DATE_ADD(){data-tooltip=“Добавить значения времени (интервалы) к значению даты”}
  • DATE_FORMAT(){data-tooltip=“Форматировать дату в соответствии с указаниями”}
  • DATE_SUB(){data-tooltip=“Вычесть из даты значение времени (интервал)”}
  • DATEDIFF(){data-tooltip=“Вычесть две даты”}
  • DAY(){data-tooltip=“Синоним DAYOFMONTH()”}
  • DAYNAME(){data-tooltip=“Возвращает название дня недели”}
  • DAYOFMONTH(){data-tooltip=“Возвращает день месяца (0-31)”}
  • DAYOFWEEK(){data-tooltip=“Возвращает индекс дня недели аргумента”}
  • DAYOFYEAR(){data-tooltip=“Возвращает день года (1-366)”}
  • EXTRACT(){data-tooltip=“Извлечь часть даты”}
  • FROM_DAYS(){data-tooltip=“Преобразовать номер дня в дату”}
  • FROM_UNIXTIME(){data-tooltip=“Форматировать временную метку Unix в дату”}
  • GET_FORMAT(){data-tooltip=“Возвращает строку формата даты”}
  • HOUR(){data-tooltip=“Извлечь час”}
  • LAST_DAY{data-tooltip=“Возвращает последний день месяца для аргумента”}
  • LOCALTIME(){data-tooltip=“Синоним NOW()”}
  • LOCALTIMESTAMP(){data-tooltip=“Синоним NOW()”}
  • MAKEDATE(){data-tooltip=“Создать дату из года и дня года”}
  • MAKETIME(){data-tooltip=“Создать время из часа, минуты, секунды”}
  • MICROSECOND(){data-tooltip=“Возвращает микросекунды из аргумента”}
  • MINUTE(){data-tooltip=“Вернуть минуту из аргумента”}
  • MONTH(){data-tooltip=“Вернуть месяц из переданной даты”}
  • MONTHNAME(){data-tooltip=“Вернуть название месяца”}
  • NOW(){data-tooltip=“Возвращает текущую дату и время”}
  • PERIOD_ADD(){data-tooltip=“Добавить период к году-месяцу”}
  • PERIOD_DIFF(){data-tooltip=“Возвращает количество месяцев между периодами”}
  • QUARTER(){data-tooltip=“Вернуть квартал из аргумента даты”}
  • SEC_TO_TIME(){data-tooltip=“Преобразовывает секунды в формат ‘hh:mm:ss’”}
  • SECOND(){data-tooltip=“Возвращает секунду (0-59)”}
  • STR_TO_DATE(){data-tooltip=“Преобразовать строку в дату”}
  • SUBDATE(){data-tooltip=“Синоним функции DATE_SUB() при вызове с тремя аргументами”}
  • SUBTIME(){data-tooltip=“Вычитание времени”}
  • SYSDATE(){data-tooltip=“Возвращает время, в которое выполняется функция”}
  • TIME(){data-tooltip=“Извлечь временную часть переданного выражения”}
  • TIME_FORMAT(){data-tooltip=“Форматировать как время”}
  • TIME_TO_SEC(){data-tooltip=“Возвращает аргумент, преобразованный в секунды”}
  • TIMEDIFF(){data-tooltip=“Вычесть время”}
  • TIMESTAMP(){data-tooltip=“При одном аргументе эта функция возвращает выражение даты или времени; при двух аргументах - сумму аргументов”}
  • TIMESTAMPADD(){data-tooltip=“Добавить интервал к выражению времени-даты”}
  • TIMESTAMPDIFF(){data-tooltip=“Вычесть интервал из выражения времени”}
  • TO_DAYS(){data-tooltip=“Возвращает аргумент даты, преобразованный в дни”}
  • TO_SECONDS(){data-tooltip=“Возвращает аргумент даты или datetime, преобразованный в секунды, начиная с года 0”}
  • UNIX_TIMESTAMP(){data-tooltip=“Возвращает временную метку Unix”}
  • UTC_DATE(){data-tooltip=“Возвращает текущую дату по Гринвичу”}
  • UTC_TIME(){data-tooltip=“Вернуть текущее время UTC”}
  • UTC_TIMESTAMP(){data-tooltip=“Возврат текущей даты и времени по Гринвичу”}
  • WEEK(){data-tooltip=“Вернуть номер недели”}
  • WEEKDAY(){data-tooltip=“Возвращает индекс дня недели”}
  • WEEKOFYEAR(){data-tooltip=“Возвращает календарную неделю даты (1-53)”}
  • YEAR(){data-tooltip=“Вернуть год”}
  • YEARWEEK(){data-tooltip=“Возвращает год и неделю”}
  • GET_FORMAT(){data-tooltip="’%m.%d.%Y’"} {.cols-2}

Числовой

  • %, MOD{data-tooltip=“Оператор модуляции”}
  • *{data-tooltip=“Оператор умножения”}
  • +{data-tooltip=“Оператор сложения”}
  • -{data-tooltip=“Оператор минуса”}
  • -{data-tooltip=“Изменить знак аргумента”}
  • /{data-tooltip=“Оператор деления”}
  • ABS(){data-tooltip=“Возврат абсолютного значения”}
  • ACOS(){data-tooltip=“Возврат косинуса дуги”}
  • ASIN(){data-tooltip=“Вернуть синус дуги”}
  • ATAN(){data-tooltip=“Вернуть тангенс дуги”}
  • ATAN2(), ATAN(){data-tooltip=“Возвращает тангенс дуги двух аргументов”}
  • CEIL(){data-tooltip=“Возвращает наименьшее целое значение, не меньшее аргумента”}
  • CEILING(){data-tooltip=“Вернуть наименьшее целое значение, не меньшее аргумента”}
  • CONV(){data-tooltip=“Преобразование чисел между различными основаниями чисел”}
  • COS(){data-tooltip=“Вернуть косинус”}
  • COT(){data-tooltip=“Вернуть котангенс”}
  • CRC32(){data-tooltip=“Вычислить значение проверки циклической избыточности”}
  • DEGREES(){data-tooltip=“Преобразование радианов в градусы”}
  • DIV{data-tooltip=“Целочисленное деление”}
  • EXP(){data-tooltip=“Возведение в степень”}
  • FLOOR(){data-tooltip=“Возвращает наибольшее целое значение, не превышающее аргумент”}
  • LN(){data-tooltip=“Возвращает натуральный логарифм аргумента”}
  • LOG(){data-tooltip=“Возвращает натуральный логарифм первого аргумента”}
  • LOG10(){data-tooltip=“Возвращает логарифм аргумента по основанию 10”}
  • LOG2(){data-tooltip=“Возвращает логарифм аргумента по основанию 2”}
  • MOD(){data-tooltip=“Вернуть остаток”}
  • PI(){data-tooltip=“Вернуть значение числа pi”}
  • POW(){data-tooltip=“Возвращает аргумент, возведенный в указанную степень”}
  • POWER(){data-tooltip=“Возвращает аргумент, возведенный в указанную степень”}
  • RADIANS(){data-tooltip=“Возвращает аргумент, пересчитанный в радианы”}
  • RAND(){data-tooltip=“Возвращает случайное значение с плавающей точкой”}
  • ROUND(){data-tooltip=“Округлить аргумент”}
  • SIGN(){data-tooltip=“Вернуть знак аргумента”}
  • SIN(){data-tooltip=“Вернуть синус аргумента”}
  • SQRT(){data-tooltip=“Вернуть квадратный корень из аргумента”}
  • TAN(){data-tooltip=“Вернуть тангенс аргумента”}
  • TRUNCATE(){data-tooltip=“Усечение до заданного количества десятичных знаков”} {.cols-2}

Агрегат

  • AVG(){data-tooltip=“Возвращает среднее значение аргумента”}
  • BIT_AND(){data-tooltip=“Возвращает побитовое AND”}
  • BIT_OR(){data-tooltip=“Возвращает побитовое ИЛИ”}
  • BIT_XOR(){data-tooltip=“Возврат побитового XOR”}
  • COUNT(){data-tooltip=“Возвращает счетчик количества возвращенных строк”}
  • COUNT(DISTINCT){data-tooltip=“Возвращает подсчет количества различных значений”}
  • GROUP_CONCAT(){data-tooltip=“Возвращает конкатенированную строку”}
  • JSON_ARRAYAGG(){data-tooltip=“Возвращает набор результатов в виде одного JSON-массива”}
  • JSON_OBJECTAGG(){data-tooltip=“Возвращает набор результатов в виде одного JSON-объекта”}
  • MAX(){data-tooltip=“Возвращает максимальное значение”}
  • MIN(){data-tooltip=“Вернуть минимальное значение”}
  • STD(){data-tooltip=“Возврат стандартного отклонения популяции”}
  • STDDEV(){data-tooltip=“Вернуть стандартное отклонение популяции”}
  • STDDEV_POP(){data-tooltip=“Вернуть стандартное отклонение популяции”}
  • STDDEV_SAMP(){data-tooltip=“Вернуть выборочное стандартное отклонение”}
  • SUM(){data-tooltip=“Вернуть сумму”}
  • VAR_POP(){data-tooltip=“Вернуть стандартную дисперсию популяции”}
  • VAR_SAMP(){data-tooltip=“Вернуть выборочную дисперсию”}
  • VARIANCE(){data-tooltip=“Вернуть стандартную дисперсию популяции”} {.cols-2}

JSON

  • ->{data-tooltip=“Возвращаем значение из столбца JSON после вычисления пути; эквивалентно JSON_EXTRACT().”}
  • {data-tooltip=“Возвращаем значение из столбца JSON после оценки пути и снятия кавычек с результата; эквивалентно JSON_UNQUOTE(JSON_EXTRACT()).”}
  • JSON_ARRAY(){data-tooltip=“Создать массив JSON”}
  • JSON_ARRAY_APPEND(){data-tooltip=“Добавить данные в JSON-документ”}
  • JSON_ARRAY_INSERT(){data-tooltip=“Вставить в массив JSON”}
  • JSON_CONTAINS(){data-tooltip=“Содержит ли JSON-документ определенный объект по пути”}
  • JSON_CONTAINS_PATH(){data-tooltip=“Содержит ли JSON-документ какие-либо данные по пути”}
  • JSON_DEPTH(){data-tooltip=“Максимальная глубина JSON-документа”}
  • JSON_EXTRACT(){data-tooltip=“Возврат данных из JSON-документа”}
  • JSON_INSERT(){data-tooltip=“Вставить данные в JSON-документ”}
  • JSON_KEYS(){data-tooltip=“Массив ключей из JSON-документа”}
  • JSON_LENGTH(){data-tooltip=“Количество элементов в JSON-документе”}
  • JSON_MERGE() (deprecated){data-tooltip=“Слияние JSON-документов с сохранением дублирующихся ключей”. Утраченный синоним для JSON_MERGE_PRESERVE()"}
  • JSON_MERGE_PATCH(){data-tooltip=“Объединять JSON-документы, заменяя значения дублирующихся ключей”}
  • JSON_MERGE_PRESERVE(){data-tooltip=“Объединять JSON-документы, сохраняя значения дублирующихся ключей”}
  • JSON_OBJECT(){data-tooltip=“Создать JSON-объект”}
  • JSON_OVERLAPS() (введена в 8.0.17){data-tooltip=“Сравнивает два JSON-документа, возвращает TRUE (1), если в них есть общие пары ключ-значение или элементы массива, иначе FALSE (0)”}
  • JSON_PRETTY(){data-tooltip=“Вывести JSON-документ в человекочитаемом формате”}
  • JSON_QUOTE(){data-tooltip=“Цитировать JSON-документ”}
  • JSON_REMOVE(){data-tooltip=“Удалить данные из JSON-документа”}
  • JSON_REPLACE(){data-tooltip=“Заменить значения в JSON-документе”}
  • JSON_SCHEMA_VALID() (введена в 8.0.17){data-tooltip=“Проверка соответствия JSON-документа схеме JSON; возвращает TRUE/1, если документ соответствует схеме, или FALSE/0, если не соответствует”}
  • JSON_SCHEMA_VALIDATION_REPORT() (введена в 8.0.17){data-tooltip=“Проверка JSON-документа на соответствие JSON-схеме; возвращает отчет в формате JSON о результатах проверки, включая успех или неудачу и причины неудачи”}
  • JSON_SEARCH(){data-tooltip=“Путь к значению в JSON-документе”}
  • JSON_SET(){data-tooltip=“Вставить данные в JSON-документ”}
  • JSON_STORAGE_FREE(){data-tooltip=“Освобождение места в двоичном представлении значения столбца JSON после частичного обновления”}
  • JSON_STORAGE_SIZE(){data-tooltip=“Место, используемое для хранения двоичного представления JSON-документа”}
  • JSON_TABLE(){data-tooltip=“Возвращать данные из JSON-выражения в виде реляционной таблицы”}
  • JSON_TYPE(){data-tooltip=“Тип JSON-значения”}
  • JSON_UNQUOTE(){data-tooltip=“Значение JSON без кавычек”}
  • JSON_VALID(){data-tooltip=“Является ли JSON-значение действительным”}
  • JSON_VALUE() (введена в 8.0.21){data-tooltip=“Извлечь значение из JSON-документа в место, на которое указывает указанный путь; вернуть это значение в виде VARCHAR(512) или указанного типа”}
  • MEMBER OF() (введено в 8.0.17){data-tooltip=“Возвращает true (1), если первый операнд совпадает с любым элементом массива JSON, переданного в качестве второго операнда, в противном случае возвращает false (0)”} {.cols-1}

Cast

  • BINARY{data-tooltip=“Приведение строки к двоичной строке”}
  • CAST(){data-tooltip=“Приведение значения к определенному типу”}
  • CONVERT(){data-tooltip=“Приведение значения к определенному типу”} {.cols-2}

Управление потоком

  • CASE{data-tooltip=“Оператор Case”}
  • IF(){data-tooltip=“Конструкция If/else”}
  • IFNULL(){data-tooltip=“Нулевая конструкция if/else”}
  • NULLIF(){data-tooltip=“Возвращает NULL, если expr1 = expr2”} {.cols-2}

Информация

  • BENCHMARK(){data-tooltip=“Повторное выполнение выражения”}
  • CHARSET(){data-tooltip=“Возвращает набор символов аргумента”}
  • COERCIBILITY(){data-tooltip=“Возвращает значение когерентности collation для строкового аргумента”}
  • COLLATION(){data-tooltip=“Возвращает значение collation строкового аргумента”}
  • CONNECTION_ID(){data-tooltip=“Возвращает идентификатор соединения (идентификатор потока) для данного соединения”}
  • CURRENT_ROLE(){data-tooltip=“Возвращает текущие активные роли”}
  • CURRENT_USER(){data-tooltip=“Аутентифицированное имя пользователя и имя хоста”}
  • DATABASE(){data-tooltip=“Возвращает имя базы данных по умолчанию (текущее)”}
  • FOUND_ROWS(){data-tooltip=“Для SELECT с предложением LIMIT количество строк, которое было бы возвращено, если бы не было предложения LIMIT”}
  • ICU_VERSION(){data-tooltip=“Версия библиотеки ICU”}
  • LAST_INSERT_ID(){data-tooltip=“Значение столбца AUTOINCREMENT для последнего INSERT”}
  • ROLES_GRAPHML(){data-tooltip=“Возвращает документ GraphML, представляющий подграфы ролей памяти”}
  • ROW_COUNT(){data-tooltip=“Количество обновленных строк”}
  • SCHEMA(){data-tooltip=“Синоним DATABASE()”}
  • SESSION_USER(){data-tooltip=“Синоним USER()”}
  • SYSTEM_USER(){data-tooltip=“Синоним USER()”}
  • USER(){data-tooltip=“Имя пользователя и имя хоста, предоставленные клиентом”}
  • VERSION(){data-tooltip=“Возвращает строку, указывающую на версию сервера MySQL”} {.cols-2}

Шифрование и сжатие

  • AES_DECRYPT(){data-tooltip=“Расшифровать с помощью AES”}
  • AES_ENCRYPT(){data-tooltip=“Шифрование с использованием AES”}
  • COMPRESS(){data-tooltip=“Возвращать результат в виде двоичной строки”}
  • MD5(){data-tooltip=“Вычислить контрольную сумму MD5”}
  • RANDOM_BYTES(){data-tooltip=“Возвращает вектор случайных байтов”}
  • SHA1(), SHA(){data-tooltip=“Вычислить 160-битную контрольную сумму SHA-1”}
  • SHA2(){data-tooltip=“Вычислить контрольную сумму SHA-2”}
  • STATEMENT_DIGEST(){data-tooltip=“Вычислить хэш-значение statement digest”}
  • STATEMENT_DIGEST_TEXT(){data-tooltip=“Вычислить нормализованный дайджест выписки”}
  • UNCOMPRESS(){data-tooltip=“Распаковать сжатую строку”}
  • UNCOMPRESSED_LENGTH(){data-tooltip=“Возврат длины строки до сжатия”}
  • VALIDATE_PASSWORD_STRENGTH(){data-tooltip=“Определить силу пароля”} {.cols-1}

Блокировка

  • GET_LOCK(){data-tooltip=“Получить именованную блокировку”}
  • IS_FREE_LOCK(){data-tooltip=“Свободна ли именованная блокировка”}
  • IS_USED_LOCK(){data-tooltip=“Используется ли именованная блокировка; если true, то возвращается идентификатор соединения”}
  • RELEASE_ALL_LOCKS(){data-tooltip=“Освободить все текущие именованные блокировки”}
  • RELEASE_LOCK(){data-tooltip=“Освободить именованную блокировку”} {.cols-1}

Бит

  • &{data-tooltip=“Побитовое И”}
  • »{data-tooltip=“Сдвиг вправо”}
  • «{data-tooltip=“Сдвиг влево”}
  • ^{data-tooltip=“Побитовый XOR”}
  • BIT_COUNT(){data-tooltip=“Возврат количества установленных битов”}
  • |{data-tooltip=“Побитовое ИЛИ”}
  • ~{data-tooltip=“Побитовая инверсия”} {.cols-2}

Разное

  • ANY_VALUE(){data-tooltip=“Подавлять отбраковку значения ONLY_FULL_GROUP_BY”}
  • BIN_TO_UUID(){data-tooltip=“Преобразование двоичного UUID в строку”}
  • DEFAULT(){data-tooltip=“Возвращает значение по умолчанию для столбца таблицы”}
  • GROUPING(){data-tooltip=“Отличить супер-агрегатные строки ROLLUP от обычных строк”}
  • INET_ATON(){data-tooltip=“Возвращает числовое значение IP-адреса”}
  • INET_NTOA(){data-tooltip=“Вернуть IP-адрес из числового значения”}
  • INET6_ATON(){data-tooltip=“Вернуть числовое значение IPv6-адреса”}
  • INET6_NTOA(){data-tooltip=“Вернуть IPv6-адрес из числового значения”}
  • IS_IPV4(){data-tooltip=“Является ли аргумент IPv4-адресом”}
  • IS_IPV4_COMPAT(){data-tooltip=“Является ли аргумент IPv4-совместимым адресом”}
  • IS_IPV4_MAPPED(){data-tooltip=“Является ли аргумент адресом, сопоставленным с IPv4”}
  • IS_IPV6(){data-tooltip=“Является ли аргумент IPv6-адресом”}
  • IS_UUID(){data-tooltip=“Является ли аргумент действительным UUID”}
  • MASTER_POS_WAIT(){data-tooltip=“Блокировать до тех пор, пока реплика не прочитает и не применит все обновления до указанной позиции”}
  • NAME_CONST(){data-tooltip=“Причинить столбцу заданное имя”}
  • SLEEP(){data-tooltip=“Спать в течение определенного количества секунд”}
  • UUID(){data-tooltip=“Вернуть универсальный уникальный идентификатор (UUID)”}
  • UUID_SHORT(){data-tooltip=“Возвращает универсальный идентификатор с целочисленным значением”}
  • UUID_TO_BIN(){data-tooltip=“Преобразование строкового UUID в двоичный”}
  • VALUES(){data-tooltip=“Определите значения, которые будут использоваться при INSERT”} {.cols-2}

См. также