Spec-Zone.ru › Yii 2.0

Класс yii\db\mysql\QueryBuilder

Все классы | Свойства | Методы | Константы
Наследование yii\db\mysql\QueryBuilder » yii\db\QueryBuilder » yii\base\Object
Реализует yii\base\Configurable
Доступна с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/db/mysql/QueryBuilder.php

QueryBuilder — генератор запросов для баз данных MySQL.

Публичные свойства

Свойство Тип Описание Определено в
$db yii\db\Connection Подключение к базе данных. yii\db\QueryBuilder
$separator string Разделитель между различными фрагментами SQL-запроса. yii\db\QueryBuilder
$typeMap array Сопоставление абстрактных типов столбцов (ключи) с физическими типами столбцов (значения). yii\db\mysql\QueryBuilder

Защищенные свойства

Свойство Тип Описание Определено в
$conditionBuilders array Карта условия запроса к методам-билдерам. yii\db\QueryBuilder
$likeEscapeCharacter string|null Символ, используемый для экранирования специальных символов в условиях LIKE. yii\db\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\mysql\QueryBuilder
addCommentOnTable() Создаёт SQL-команду для добавления комментария к таблице yii\db\mysql\QueryBuilder
addForeignKey() Создаёт SQL-запрос для добавления ограничения внешнего ключа к существующей таблице. yii\db\QueryBuilder
addPrimaryKey() Создаёт SQL-запрос для добавления ограничения первичного ключа к существующей таблице. yii\db\QueryBuilder
alterColumn() Создаёт SQL-запрос для изменения определения столбца. yii\db\QueryBuilder
batchInsert() Генерирует пакетный SQL-запрос INSERT. yii\db\QueryBuilder
build() Генерирует SQL-запрос SELECT из объекта yii\db\Query. yii\db\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\mysql\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\QueryBuilder
buildWhere() yii\db\QueryBuilder
canGetProperty() Возвращает значение, указывающее, можно ли считать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
checkIntegrity() Создаёт SQL-запрос для включения или выключения проверки целостности. yii\db\mysql\QueryBuilder
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
createIndex() Создаёт SQL-запрос для создания нового индекса. yii\db\mysql\QueryBuilder
createTable() Создаёт SQL-запрос для создания новой таблицы базы данных. yii\db\QueryBuilder
delete() Создаёт SQL-запрос DELETE. yii\db\QueryBuilder
dropColumn() Создаёт SQL-запрос для удаления столбца базы данных. yii\db\QueryBuilder
dropCommentFromColumn() Создаёт SQL-команду для добавления комментария к столбцу yii\db\mysql\QueryBuilder
dropCommentFromTable() Создаёт SQL-команду для добавления комментария к таблице yii\db\mysql\QueryBuilder
dropForeignKey() Создаёт SQL-запрос для удаления ограничения внешнего ключа. yii\db\mysql\QueryBuilder
dropIndex() Создаёт SQL-запрос для удаления индекса. yii\db\QueryBuilder
dropPrimaryKey() Создаёт SQL-запрос для удаления ограничения первичного ключа из существующей таблицы. yii\db\mysql\QueryBuilder
dropTable() Создаёт SQL-запрос для удаления таблицы базы данных. yii\db\QueryBuilder
getColumnType() Преобразует абстрактный тип столбца в физический тип столбца. yii\db\QueryBuilder
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует объект. yii\base\Object
insert() Создаёт SQL-запрос INSERT. yii\db\mysql\QueryBuilder
renameColumn() Строит SQL-запрос для переименования столбца. yii\db\mysql\QueryBuilder
renameTable() Строит SQL-запрос для переименования таблицы БД. yii\db\QueryBuilder
resetSequence() Создаёт SQL-запрос для сброса значения последовательности первичного ключа таблицы. yii\db\mysql\QueryBuilder
selectExists() Создаёт SQL-запрос SELECT EXISTS(). yii\db\QueryBuilder
truncateTable() Строит SQL-запрос для обнуления таблицы БД. yii\db\QueryBuilder
update() Создаёт SQL-запрос UPDATE. yii\db\QueryBuilder

Защищённые методы

Метод Описание Определено в
buildCompositeInCondition() Строит SQL для условия IN yii\db\QueryBuilder
buildSubqueryInCondition() Строит SQL для условия IN yii\db\QueryBuilder
hasLimit() Проверяет, эффективен ли заданный лимит. yii\db\mysql\QueryBuilder
hasOffset() Проверяет, эффективен ли заданный смещение. yii\db\mysql\QueryBuilder
prepareInsertSelectSubQuery() Подготавливает подзапрос select и имена полей для INSERT INTO. yii\db\QueryBuilder

Константы

Константа Значение Описание Определено в
PARAM_PREFIX ':qp' Префикс для автоматически генерируемых параметров связи запроса. yii\db\QueryBuilder

Подробности свойств

$typeMap общедоступное свойство

Сопоставление абстрактных типов столбцов (ключи) с физическими типами столбцов (значения).

public array $typeMap = [\yii\db\mysql\Schema::TYPE_PK => 'int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY', \yii\db\mysql\Schema::TYPE_UPK => 'int(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY', \yii\db\mysql\Schema::TYPE_BIGPK => 'bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY', \yii\db\mysql\Schema::TYPE_UBIGPK => 'bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY', \yii\db\mysql\Schema::TYPE_CHAR => 'char(1)', \yii\db\mysql\Schema::TYPE_STRING => 'varchar(255)', \yii\db\mysql\Schema::TYPE_TEXT => 'text', \yii\db\mysql\Schema::TYPE_SMALLINT => 'smallint(6)', \yii\db\mysql\Schema::TYPE_INTEGER => 'int(11)', \yii\db\mysql\Schema::TYPE_BIGINT => 'bigint(20)', \yii\db\mysql\Schema::TYPE_FLOAT => 'float', \yii\db\mysql\Schema::TYPE_DOUBLE => 'double', \yii\db\mysql\Schema::TYPE_DECIMAL => 'decimal(10,0)', \yii\db\mysql\Schema::TYPE_DATETIME => 'datetime', \yii\db\mysql\Schema::TYPE_TIMESTAMP => 'timestamp', \yii\db\mysql\Schema::TYPE_TIME => 'time', \yii\db\mysql\Schema::TYPE_DATE => 'date', \yii\db\mysql\Schema::TYPE_BINARY => 'blob', \yii\db\mysql\Schema::TYPE_BOOLEAN => 'tinyint(1)', \yii\db\mysql\Schema::TYPE_MONEY => 'decimal(19,4)']

Подробности методов

addCommentOnColumn() общедоступный метод (доступен с версии 2.0.8)

Строит SQL-команду для добавления комментария к столбцу

общедоступный строка addCommentOnColumn ( $table, $column, $comment )
$table строка

Название таблицы, к столбцу которой нужно добавить комментарий. Имя таблицы будет корректно обрамлено кавычками методом.

$column строка

Имя столбца, к которому нужно добавить комментарий. Имя столбца будет корректно обрамлено кавычками методом.

$comment строка

Текст комментария, который нужно добавить. Комментарий будет корректно обрамлён кавычками методом.

возвращает строка

SQL-запрос для добавления комментария к столбцу

addCommentOnTable() общедоступный метод (доступен с версии 2.0.8)

Строит SQL-команду для добавления комментария к таблице

общедоступный строка addCommentOnTable ( $table, $comment )
$table строка

Название таблицы, к которой нужно добавить комментарий. Имя таблицы будет корректно обрамлено кавычками методом.

$comment строка

Текст комментария, который нужно добавить. Комментарий будет корректно обрамлён кавычками методом.

возвращает строка

SQL-запрос для добавления комментария к таблице

buildLimit() общедоступный метод

общедоступный строка buildLimit ( $limit, $offset )
$limit целое число
$offset целое число
возвращает строка

Оператор LIMIT и OFFSET

checkIntegrity() общедоступный метод

Строит SQL-запрос для включения или выключения проверки целостности.

общедоступный строка checkIntegrity ( $check = true, $schema = '', $table = '' )
$check булево

Включить или выключить проверку целостности.

$schema строка

Схема таблиц. Не имеет смысла для MySQL.

$table строка

Имя таблицы. Не имеет смысла для MySQL.

возвращает строка

SQL-запрос для проверки целостности

createIndex() общедоступный метод

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

См. также https://bugs.mysql.com/bug.php?id=48875.

общедоступный строка createIndex ( $name, $table, $columns, $unique = false )
$name строка

Имя индекса. Имя будет корректно обрамлено кавычками методом.

$table строка

Таблица, для которой будет создан новый индекс. Имя таблицы будет корректно обрамлено кавычками методом.

$columns строка|массив

Столбец(ы), которые должны быть включены в индекс. Если столбцов несколько, разделите их запятыми или используйте массив. Каждое имя столбца будет корректно обрамлено кавычками методом, если в имени не встречаются скобки.

$unique булево

Добавить ограничение UNIQUE на созданный индекс.

возвращает строка

SQL-запрос для создания нового индекса.

dropCommentFromColumn() общедоступный метод (доступен с версии 2.0.8)

Строит SQL-команду для добавления комментария к столбцу

общедоступный строка dropCommentFromColumn ( $table, $column )
$table строка

Таблица, к столбцу которой нужно добавить комментарий. Имя таблицы будет корректно обрамлено кавычками методом.

$column строка

Имя столбца, к которому нужно добавить комментарий. Имя столбца будет корректно обрамлено кавычками методом.

возвращает строка

SQL-запрос для добавления комментария к столбцу

dropCommentFromTable() общедоступный метод (доступен с версии 2.0.8)

Строит SQL-команду для добавления комментария к таблице

общедоступный строка dropCommentFromTable ( $table )
$table строка

Таблица, к столбцу которой нужно добавить комментарий. Имя таблицы будет корректно обрамлено кавычками методом.

возвращает строка

SQL-запрос для добавления комментария к столбцу

dropForeignKey() общедоступный метод

Строит SQL-запрос для удаления внешнего ключа.

общедоступный строка dropForeignKey ( $name, $table )
$name строка

Имя внешнего ключа, который нужно удалить. Имя будет корректно обрамлено кавычками методом.

$table строка

Таблица, из которой нужно удалить внешний ключ. Имя таблицы будет корректно обрамлено кавычками методом.

возвращает строка

SQL-запрос для удаления внешнего ключа.

dropPrimaryKey() общедоступный метод

Строит SQL-запрос для удаления ограничения первичного ключа из существующей таблицы.

общедоступный строка dropPrimaryKey ( $name, $table )
$name строка

Имя ограничения первичного ключа, которое нужно удалить.

$table строка

Таблица, из которой нужно удалить ограничение первичного ключа.

возвращает строка

SQL-запрос для удаления ограничения первичного ключа из существующей таблицы.

hasLimit() защищённый метод

Проверяет, эффективно ли заданный лимит.

защищённый булево hasLimit ( $limit )
$limit смешанный тип

Заданный лимит

возвращает булево

Эффективен ли лимит

hasOffset() защищённый метод

Проверяет, эффективно ли заданный смещение.

защищённый булево hasOffset ( $offset )
$offset смешанный тип

Заданное смещение

возвращает булево

Эффективно ли смещение

insert() общедоступный метод

Создаёт SQL-запрос INSERT.

Например,

$sql = $queryBuilder->insert('user', [
    'name' => 'Sam',
    'age' => 30,
], $params);

Метод корректно обработает имена таблиц и столбцов.

public string insert ( $table, $columns, &$params )
$table string

Таблица, в которую будут добавлены новые строки.

$columns array|yii\db\Query

Данные столбцов (имя => значение), которые будут добавлены в таблицу, или экземпляр \yii\db\mysql\yii\db\Query для выполнения SQL-запроса INSERT INTO ... SELECT. Передача \yii\db\mysql\yii\db\Query доступна начиная с версии 2.0.11.

$params array

Параметры привязки, которые будут сгенерированы этим методом. Они должны быть привязаны к команде БД позже.

return string

SQL-запрос INSERT

renameColumn() public method

Создаёт SQL-запрос для переименования столбца.

public string renameColumn ( $table, $oldName, $newName )
$table string

Таблица, столбец которой нужно переименовать. Имя будет корректно обрамлено кавычками методом.

$oldName string

Старое имя столбца. Имя будет корректно обрамлено кавычками методом.

$newName string

Новое имя столбца. Имя будет корректно обрамлено кавычками методом.

return string

SQL-запрос для переименования столбца БД.

throws yii\db\Exception

resetSequence() public method

Создаёт SQL-запрос для сброса значения последовательности первичного ключа таблицы.

Последовательность будет сброшена так, что первичный ключ следующей новой строки будет иметь указанное значение или 1.

public string resetSequence ( $tableName, $value = null )
$tableName string

Имя таблицы, последовательность первичного ключа которой будет сброшена

$value mixed

Значение первичного ключа следующей новой строки. Если это не задано, первичный ключ следующей новой строки будет иметь значение 1.

return string

SQL-запрос для сброса последовательности

throws yii\base\InvalidParamException

если таблица не существует или с таблицей не связана последовательность.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-db-mysql-querybuilder.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API