Перейти к основному содержимому

MySQL

Этот раздел посвящен библиотеке для работы с базами данных MySQL. На данной странице описаны все действия, необходимые для полноценного начала работы

Для реализации некоторых функции в этой библиотеке используется внешняя компонента
Пожалуйста, ознакомьтесь с разделом "О внешних компонентах" перед началом работы
Для работы этой библиотеки на Linux необходим OpenSSL 3.x
Узнать больше: "Об использовании OpenSSL во внешних компонентах"

О реализованных методах

Данная библиотека состоит из двух частей: основных методов, вроде подключения и выполнения SQL-запросов, и небольшой ORM для часто встречающихся операций, вроде CREATE, SELECT, INSERT, DELETE и пр. Работа через ORM и через тексты запросов, выполняемые функцией ВыполнитьЗапросSQL(), технически не отличается: ORM просто формирует текст SQL-запроса на основе макетов, но далее также выполняет их этой функцией

По умолчанию, все запросы SELECT возвращают массив выбранных данных, а остальные запросы - только true в поле result при успехе, либо false и текст ошибки в полях result и error соответственно. Для выполнения запросов, требующих возврата данных, но не являющихся запросами SELECT, в функции ВыполнитьЗапросSQL() есть параметр ФорсироватьРезультат

Параметры запросов

Коннектор MySQL поддерживает использование позиционных параметров. Все значения, передаваемые как при прямом выполнении запросов через функцию ВыполнитьЗапросSQL(), так и в ORM методах с установкой значений, вроде ДобавитьЗаписи и ОбновитьЗаписи, должный представлять из себя структуру вида {'Тип данных': 'Значение'}. Поддерживаются следующие типы данных*:

* В перечне типов MySQL перечислены только некоторые подходящие типы

Имя типа (ключ)Тип значения 1СПодходит для типов MySQL
BYTESСтрока (путь к файлу), ДвоичныеДанныеTINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
UINTЧисло (целое, без знака)TINYINT UNSIGNED, SMALLINT UNSIGNED, MEDIUMINT UNSIGNED, INT UNSIGNED, BIGINT UNSIGNED
INTЧисло (целое)TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT
FLOATЧислоFLOAT
DOUBLEЧислоDOUBLE (REAL, DOUBLE PRECISION)
DATEДата, Строка (дата в формате RFC 3339)DATE, DATETIME, TIMESTAMP
TIMEДата, Строка (дата в формате RFC 3339)TIME
TEXTСтрокаCHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, SET

TLS

Библиотека поддерживает работу в режиме TLS. Для его включения необходимо сформировать настройки TLS при помощи функции ПолучитьНастройкиTls, и передать их как соответствующий параметр в функцию ОткрытьСоединение или одну из функций ORM, поддерживающих данный параметр. Если параметр TLS при вызове этих функций не передан, соединение инициализируется в незащищенном режиме

подсказка

Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции ОткрытьСоединение или неявного, при передаче строки подключения в методы ORM.

Передача настроек Tls совместно с передачей уже созданного соединения в параметр Соединение будет проигнорирована

Совместимость

Технически, реализация коннектора представляет из себя Native компоненту на Rust. Она поставляется в формате zip-архива со сборками для всех основных платформ: x86 и x64 Windows и Linux. Фактическое тестирование проводилось на Windows x64 и, косвенно (через OneScript), на Linux x64