Класс yii\db\sqlite\QueryBuilder
| Наследование | yii\db\sqlite\QueryBuilder » yii\db\QueryBuilder » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/db/sqlite/QueryBuilder.php |
QueryBuilder — это генератор запросов для баз данных SQLite.
Открытые свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $db | yii\db\Connection | Подключение к базе данных. | yii\db\QueryBuilder |
| $separator | string | Разделитель между фрагментами SQL-запроса. | yii\db\QueryBuilder |
| $typeMap | array | Сопоставление абстрактных типов столбцов (ключи) с физическими типами столбцов (значения). | yii\db\sqlite\QueryBuilder |
Защищенные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $conditionBuilders | array | Карта условия запроса к методам-строителям. | yii\db\QueryBuilder |
| $likeEscapeCharacter | string|null | Символ, используемый для экранирования специальных символов в условиях LIKE. | yii\db\sqlite\QueryBuilder |
| $likeEscapingReplacements | array | Карта символов и их замен в условиях LIKE. | yii\db\QueryBuilder |
Открытые методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __construct() | Конструктор. | yii\db\QueryBuilder |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| addColumn() | Строит SQL-запрос для добавления нового столбца в БД. | yii\db\QueryBuilder |
| addCommentOnColumn() | Строит SQL-команду для добавления комментария к столбцу | yii\db\sqlite\QueryBuilder |
| addCommentOnTable() | Строит SQL-команду для добавления комментария к таблице | yii\db\sqlite\QueryBuilder |
| addForeignKey() | Строит SQL-запрос для добавления внешнего ключа к существующей таблице. | yii\db\sqlite\QueryBuilder |
| addPrimaryKey() | Строит SQL-запрос для добавления ограничения первичного ключа к существующей таблице. | yii\db\sqlite\QueryBuilder |
| alterColumn() | Строит SQL-запрос для изменения определения столбца. | yii\db\sqlite\QueryBuilder |
| batchInsert() | Генерирует SQL-запрос для пакетной вставки данных. | yii\db\sqlite\QueryBuilder |
| build() | Генерирует SQL-запрос SELECT из объекта yii\db\Query. | yii\db\sqlite\QueryBuilder |
| buildAndCondition() | Соединяет два или более SQL-выражений оператором AND или OR. | yii\db\QueryBuilder |
| buildBetweenCondition() | Создаёт SQL-выражение с оператором BETWEEN. | yii\db\QueryBuilder |
| buildColumns() | Обрабатывает столбцы и должным образом приводит их к каноническому виду, если это необходимо. | yii\db\QueryBuilder |
| buildCondition() | Парсит условие и генерирует соответствующее SQL-выражение. | yii\db\QueryBuilder |
| buildExistsCondition() | Создаёт SQL-выражение с оператором EXISTS. | yii\db\QueryBuilder |
| buildFrom() | yii\db\QueryBuilder | |
| buildGroupBy() | yii\db\QueryBuilder | |
| buildHashCondition() | Создаёт условие на основе пар столбец-значение. | yii\db\QueryBuilder |
| buildHaving() | yii\db\QueryBuilder | |
| buildInCondition() | Создаёт SQL-выражение с оператором IN. | yii\db\QueryBuilder |
| buildJoin() | yii\db\QueryBuilder | |
| buildLikeCondition() | Создаёт SQL-выражение с оператором LIKE. | yii\db\QueryBuilder |
| buildLimit() | yii\db\sqlite\QueryBuilder | |
| buildNotCondition() | Инвертирует SQL-выражение с оператором NOT. | yii\db\QueryBuilder |
| buildOrderBy() | yii\db\QueryBuilder | |
| buildOrderByAndLimit() | Строит фрагменты ORDER BY и LIMIT/OFFSET и добавляет их к заданному SQL. | yii\db\QueryBuilder |
| buildSelect() | yii\db\QueryBuilder | |
| buildSimpleCondition() | Создаёт SQL-выражение, например, "column" operator value. | yii\db\QueryBuilder |
| buildUnion() | yii\db\sqlite\QueryBuilder | |
| buildWhere() | yii\db\QueryBuilder | |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| checkIntegrity() | Включает или отключает проверку целостности. | yii\db\sqlite\QueryBuilder |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| createIndex() | Строит SQL-запрос для создания нового индекса. | yii\db\QueryBuilder |
| createTable() | Строит SQL-запрос для создания новой таблицы БД. | yii\db\QueryBuilder |
| delete() | Создаёт SQL-запрос DELETE. | yii\db\QueryBuilder |
| dropColumn() | Строит SQL-запрос для удаления столбца БД. | yii\db\sqlite\QueryBuilder |
| dropCommentFromColumn() | Строит SQL-команду для добавления комментария к столбцу | yii\db\sqlite\QueryBuilder |
| dropCommentFromTable() | Строит SQL-команду для добавления комментария к таблице | yii\db\sqlite\QueryBuilder |
| dropForeignKey() | Строит SQL-запрос для удаления внешнего ключа. | yii\db\sqlite\QueryBuilder |
| dropIndex() | Строит SQL-запрос для удаления индекса. | yii\db\sqlite\QueryBuilder |
| dropPrimaryKey() | Строит SQL-запрос для удаления ограничения первичного ключа из существующей таблицы. | yii\db\sqlite\QueryBuilder |
| dropTable() | Строит SQL-запрос для удаления таблицы БД. | yii\db\QueryBuilder |
| getColumnType() | Преобразует абстрактный тип столбца в физический тип столбца. | yii\db\QueryBuilder |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определён ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| insert() | Создаёт оператор INSERT SQL. | yii\db\QueryBuilder |
| renameColumn() | Строит оператор SQL для переименования столбца. | yii\db\sqlite\QueryBuilder |
| renameTable() | Строит оператор SQL для переименования таблицы БД. | yii\db\sqlite\QueryBuilder |
| resetSequence() | Создаёт оператор SQL для сброса значения последовательности первичного ключа таблицы. | yii\db\sqlite\QueryBuilder |
| selectExists() | Создаёт оператор SELECT EXISTS() SQL. | yii\db\QueryBuilder |
| truncateTable() | Строит оператор SQL для усечения таблицы БД. | yii\db\sqlite\QueryBuilder |
| update() | Создаёт оператор UPDATE SQL. | yii\db\QueryBuilder |
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| buildCompositeInCondition() | Строит SQL для условия IN | yii\db\sqlite\QueryBuilder |
| buildSubqueryInCondition() | Строит SQL для условия IN | yii\db\sqlite\QueryBuilder |
| hasLimit() | Проверяет, эффективно ли заданное ограничение. | yii\db\QueryBuilder |
| hasOffset() | Проверяет, эффективно ли заданный смещение. | yii\db\QueryBuilder |
| prepareInsertSelectSubQuery() | Подготовка подзапроса select и имён полей для INSERT INTO. | yii\db\QueryBuilder |
Constants
| Constant | Value | Description | Defined By |
|---|---|---|---|
| PARAM_PREFIX | ':qp' | Префикс для автоматически сгенерированных параметров связывания запросов. | yii\db\QueryBuilder |
Property Details
$likeEscapeCharacter protected property
Символ, используемый для экранирования специальных символов в условиях LIKE. По умолчанию предполагается, что это \.
protected string|null $likeEscapeCharacter = '\\'
$typeMap public property
Сопоставление между абстрактными типами столбцов (ключи) и физическими типами столбцов (значения).
public array $typeMap = [\yii\db\sqlite\Schema::TYPE_PK => 'integer PRIMARY KEY AUTOINCREMENT NOT NULL', \yii\db\sqlite\Schema::TYPE_UPK => 'integer UNSIGNED PRIMARY KEY AUTOINCREMENT NOT NULL', \yii\db\sqlite\Schema::TYPE_BIGPK => 'integer PRIMARY KEY AUTOINCREMENT NOT NULL', \yii\db\sqlite\Schema::TYPE_UBIGPK => 'integer UNSIGNED PRIMARY KEY AUTOINCREMENT NOT NULL', \yii\db\sqlite\Schema::TYPE_CHAR => 'char(1)', \yii\db\sqlite\Schema::TYPE_STRING => 'varchar(255)', \yii\db\sqlite\Schema::TYPE_TEXT => 'text', \yii\db\sqlite\Schema::TYPE_SMALLINT => 'smallint', \yii\db\sqlite\Schema::TYPE_INTEGER => 'integer', \yii\db\sqlite\Schema::TYPE_BIGINT => 'bigint', \yii\db\sqlite\Schema::TYPE_FLOAT => 'float', \yii\db\sqlite\Schema::TYPE_DOUBLE => 'double', \yii\db\sqlite\Schema::TYPE_DECIMAL => 'decimal(10,0)', \yii\db\sqlite\Schema::TYPE_DATETIME => 'datetime', \yii\db\sqlite\Schema::TYPE_TIMESTAMP => 'timestamp', \yii\db\sqlite\Schema::TYPE_TIME => 'time', \yii\db\sqlite\Schema::TYPE_DATE => 'date', \yii\db\sqlite\Schema::TYPE_BINARY => 'blob', \yii\db\sqlite\Schema::TYPE_BOOLEAN => 'boolean', \yii\db\sqlite\Schema::TYPE_MONEY => 'decimal(19,4)']
Method Details
addCommentOnColumn() public method (available since version 2.0.8)
Строит SQL-команду для добавления комментария к столбцу
| public string addCommentOnColumn ( $table, $column, $comment ) | ||
|---|---|---|
| $table | string |
Таблица, к столбцу которой нужно добавить комментарий. Имя таблицы будет должным образом обрамлено кавычками методом. |
| $column | string |
Имя столбца, к которому нужно добавить комментарий. Имя столбца будет должным образом обрамлено кавычками методом. |
| $comment | string |
Текст комментария, который нужно добавить. Комментарий будет должным образом обрамлен кавычками методом. |
| return | string |
SQL-запрос для добавления комментария к столбцу |
| throws | yii\base\NotSupportedException | |
addCommentOnTable() public method (available since version 2.0.8)
Строит SQL-команду для добавления комментария к таблице
| public string addCommentOnTable ( $table, $comment ) | ||
|---|---|---|
| $table | string |
Таблица, к которой нужно добавить комментарий. Имя таблицы будет должным образом обрамлено кавычками методом. |
| $comment | string |
Текст комментария, который нужно добавить. Комментарий будет должным образом обрамлен кавычками методом. |
| return | string |
SQL-запрос для добавления комментария к таблице |
| throws | yii\base\NotSupportedException | |
addForeignKey() public method
Строит SQL-запрос для добавления ограничения внешнего ключа к существующей таблице.
Метод должным образом обрамит имена таблиц и столбцов.
| public string addForeignKey ( $name, $table, $columns, $refTable, $refColumns, $delete = null, $update = null ) | ||
|---|---|---|
| $name | string |
Имя ограничения внешнего ключа. |
| $table | string |
Таблица, к которой будет добавлено ограничение внешнего ключа. |
| $columns | string|array |
Имя столбца, к которому будет применено ограничение. Если столбцов несколько, разделяйте их запятыми или используйте массив. |
| $refTable | string |
Таблица, к которой ссылается внешний ключ. |
| $refColumns | string|array |
Имя столбца, к которому ссылается внешний ключ. Если столбцов несколько, разделяйте их запятыми или используйте массив. |
| $delete | string |
Опция ON DELETE. Большинство СУБД поддерживают эти опции: RESTRICT, CASCADE, NO ACTION, SET DEFAULT, SET NULL |
| $update | string |
Опция ON UPDATE. Большинство СУБД поддерживают эти опции: RESTRICT, CASCADE, NO ACTION, SET DEFAULT, SET NULL |
| return | string |
SQL-запрос для добавления ограничения внешнего ключа к существующей таблице. |
| throws | yii\base\NotSupportedException |
Это не поддерживается SQLite |
addPrimaryKey() public method
Строит SQL-запрос для добавления ограничения первичного ключа к существующей таблице.
| public string addPrimaryKey ( $name, $table, $columns ) | ||
|---|---|---|
| $name | string |
Имя ограничения первичного ключа. |
| $table | string |
Таблица, к которой будет добавлено ограничение первичного ключа. |
| $columns | string|array |
Строка с перечислением столбцов, разделённых запятыми, или массив столбцов, из которых будет состоять первичный ключ. |
| return | string |
SQL-запрос для добавления ограничения первичного ключа к существующей таблице. |
| throws | yii\base\NotSupportedException |
Это не поддерживается SQLite |
alterColumn() public method
Строит SQL-запрос для изменения определения столбца.
| public string alterColumn ( $table, $column, $type ) | ||
|---|---|---|
| $table | string |
Таблица, столбец которой нужно изменить. Имя таблицы будет должным образом обрамлено кавычками методом. |
| $column | string |
Имя столбца, который нужно изменить. Имя будет должным образом обрамлено кавычками методом. |
| $type | string |
Новый тип столбца. Будет вызван метод getColumnType() для преобразования абстрактного типа столбца (если он есть) в физический. Всё, что не распознаётся как абстрактный тип, будет сохранено в сгенерированном SQL. Например, 'string' будет преобразовано в 'varchar(255)', а 'string not null' — в 'varchar(255) not null'. |
| return | string |
SQL-запрос для изменения определения столбца. |
| throws | yii\base\NotSupportedException |
Это не поддерживается SQLite |
batchInsert() public method
Генерирует SQL-запрос для пакетной вставки.
Например,
$connection->createCommand()->batchInsert('user', ['name', 'age'], [
['Tom', 30],
['Jane', 20],
['Linda', 25],
])->execute();
Обратите внимание, что значения в каждой строке должны соответствовать именам соответствующих столбцов.
| public string batchInsert ( $table, $columns, $rows ) | ||
|---|---|---|
| $table | string |
Таблица, в которую будут вставлены новые строки. |
| $columns | array |
Имена столбцов |
| $rows | array |
Строки, которые будут вставлены в таблицу |
| return | string |
SQL-запрос для пакетной вставки |
build() public method
Генерирует SQL-запрос SELECT из объекта yii\db\Query.
| public array build ( $query, $params = [] ) | ||
|---|---|---|
| $query | yii\db\Query |
Объект yii\db\Query, из которого будет сгенерирован SQL-запрос. |
| $params | array |
Параметры, которые будут привязаны к сгенерированному SQL-запросу. Эти параметры будут включены в результат вместе с дополнительными параметрами, сгенерированными во время построения запроса. |
| return | array |
Сгенерированный SQL-запрос (первый элемент массива) и соответствующие параметры для привязки к SQL-запросу (второй элемент массива). Возвращаемые параметры включают те, которые были предоставлены в |
buildCompositeInCondition() protected method
Строит SQL для условия IN
| protected string buildCompositeInCondition ( $operator, $columns, $values, &$params ) | ||
|---|---|---|
| $operator | string | |
| $columns | array | |
| $values | array | |
| $params | array | |
| return | string |
SQL |
buildLimit() public method
| public string buildLimit ( $limit, $offset ) | ||
|---|---|---|
| $limit | integer | |
| $offset | integer | |
| return | string |
Операторы LIMIT и OFFSET |
buildSubqueryInCondition() protected method
Строит SQL для условия IN
| protected string buildSubqueryInCondition ( $operator, $columns, $values, &$params ) | ||
|---|---|---|
| $operator | string | |
| $columns | array | |
| $values | yii\db\Query | |
| $params | array | |
| return | string |
SQL |
| throws | yii\base\NotSupportedException |
если |
buildUnion() public method
| public string buildUnion ( $unions, &$params ) | ||
|---|---|---|
| $unions | array | |
| $params | array |
Связываемые параметры для заполнения |
| return | string |
Строка UNION, построенная из yii\db\Query::$union. |
checkIntegrity() public method
Включает или отключает проверку целостности.
| public string checkIntegrity ( $check = true, $schema = '', $table = '' ) | ||
|---|---|---|
| $check | boolean |
Включить или выключить проверку целостности. |
| $schema | string |
Схема таблиц. Не имеет смысла для SQLite. |
| $table | string |
Имя таблицы. Не имеет смысла для SQLite. |
| return | string |
SQL-запрос для проверки целостности |
| throws | yii\base\NotSupportedException |
не поддерживается SQLite |
dropColumn() public method
Строит SQL-запрос для удаления столбца БД.
| public string dropColumn ( $table, $column ) | ||
|---|---|---|
| $table | string |
Таблица, из которой требуется удалить столбец. Имя будет корректно обрамлено кавычками. |
| $column | string |
Имя столбца, который нужно удалить. Имя будет корректно обрамлено кавычками. |
| return | string |
SQL-запрос для удаления столбца БД. |
| throws | yii\base\NotSupportedException |
не поддерживается SQLite |
dropCommentFromColumn() public method (доступно начиная с версии 2.0.8)
Строит SQL-команду для удаления комментария из столбца
| public string dropCommentFromColumn ( $table, $column ) | ||
|---|---|---|
| $table | string |
Таблица, из которой нужно удалить комментарий к столбцу. Имя таблицы будет корректно обрамлено кавычками. |
| $column | string |
Имя столбца, из которого нужно удалить комментарий. Имя столбца будет корректно обрамлено кавычками. |
| return | string |
SQL-запрос для удаления комментария из столбца |
| throws | yii\base\NotSupportedException | |
dropCommentFromTable() public method (доступно начиная с версии 2.0.8)
Строит SQL-команду для удаления комментария из таблицы
| public string dropCommentFromTable ( $table ) | ||
|---|---|---|
| $table | string |
Таблица, из которой нужно удалить комментарий. Имя таблицы будет корректно обрамлено кавычками. |
| return | string |
SQL-запрос для удаления комментария из таблицы |
| throws | yii\base\NotSupportedException | |
dropForeignKey() public method
Строит SQL-запрос для удаления ограничения внешнего ключа.
| public string dropForeignKey ( $name, $table ) | ||
|---|---|---|
| $name | string |
Имя ограничения внешнего ключа, которое нужно удалить. Имя будет корректно обрамлено кавычками. |
| $table | string |
Таблица, из которой нужно удалить ограничение внешнего ключа. Имя будет корректно обрамлено кавычками. |
| return | string |
SQL-запрос для удаления ограничения внешнего ключа. |
| throws | yii\base\NotSupportedException |
не поддерживается SQLite |
dropIndex() public method
Строит SQL-запрос для удаления индекса.
| public string dropIndex ( $name, $table ) | ||
|---|---|---|
| $name | string |
Имя индекса, который нужно удалить. Имя будет корректно обрамлено кавычками. |
| $table | string |
Таблица, из которой нужно удалить индекс. Имя будет корректно обрамлено кавычками. |
| return | string |
SQL-запрос для удаления индекса. |
dropPrimaryKey() public method
Строит SQL-запрос для удаления ограничения первичного ключа из существующей таблицы.
| public string dropPrimaryKey ( $name, $table ) | ||
|---|---|---|
| $name | string |
Имя ограничения первичного ключа, которое нужно удалить. |
| $table | string |
Таблица, из которой нужно удалить ограничение первичного ключа. |
| return | string |
SQL-запрос для удаления ограничения первичного ключа из существующей таблицы. |
| throws | yii\base\NotSupportedException |
не поддерживается SQLite |
renameColumn() public method
Строит SQL-запрос для переименования столбца.
| public string renameColumn ( $table, $oldName, $newName ) | ||
|---|---|---|
| $table | string |
Таблица, столбец которой нужно переименовать. Имя будет корректно обрамлено кавычками. |
| $oldName | string |
Старое имя столбца. Имя будет корректно обрамлено кавычками. |
| $newName | string |
Новое имя столбца. Имя будет корректно обрамлено кавычками. |
| return | string |
SQL-запрос для переименования столбца БД. |
| throws | yii\base\NotSupportedException |
не поддерживается SQLite |
renameTable() public method
Создаёт SQL-запрос для переименования таблицы БД.
| public string renameTable ( $table, $newName ) | ||
|---|---|---|
| $table | string |
Таблица, подлежащая переименованию. Имя будет корректно обрамлено кавычками методом. |
| $newName | string |
Новое имя таблицы. Имя будет корректно обрамлено кавычками методом. |
| return | string |
SQL-запрос для переименования таблицы БД. |
resetSequence() public method
Создаёт SQL-запрос для сброса значения последовательности первичного ключа таблицы.
Последовательность будет сброшена таким образом, что первичный ключ следующей новой вставленной строки будет иметь указанное значение или 1.
| public string resetSequence ( $tableName, $value = null ) | ||
|---|---|---|
| $tableName | string |
Имя таблицы, последовательность первичного ключа которой будет сброшена. |
| $value | mixed |
Значение для первичного ключа следующей новой вставленной строки. Если не задано, первичный ключ следующей новой строки будет иметь значение 1. |
| return | string |
SQL-запрос для сброса последовательности. |
| throws | yii\base\InvalidParamException |
если таблица не существует или не существует последовательность, связанная с таблицей. |
truncateTable() public method
Создаёт SQL-запрос для обнуления таблицы БД.
| public string truncateTable ( $table ) | ||
|---|---|---|
| $table | string |
Таблица, подлежащая обнулению. Имя будет корректно обрамлено кавычками методом. |
| return | string |
SQL-запрос для обнуления таблицы БД. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-db-sqlite-querybuilder.html