Class yii\db\mysql\QueryBuilder
| Inheritance | yii\db\mysql\QueryBuilder » yii\db\QueryBuilder » yii\base\Object |
|---|---|
| Implements | yii\base\Configurable |
| Available since version | 2.0 |
| Source Code | https://github.com/yiisoft/yii2/blob/master/framework/db/mysql/QueryBuilder.php |
QueryBuilder is the query builder for MySQL databases.
Public Properties
| Property | Type | Description | Defined By |
|---|---|---|---|
| $db | yii\db\Connection | The database connection. | yii\db\QueryBuilder |
| $separator | string | The separator between different fragments of a SQL statement. | yii\db\QueryBuilder |
| $typeMap | array | Mapping from abstract column types (keys) to physical column types (values). | yii\db\mysql\QueryBuilder |
Protected Properties
| Property | Type | Description | Defined By |
|---|---|---|---|
| $conditionBuilders | array | Map of query condition to builder methods. | yii\db\QueryBuilder |
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __call() | Calls the named method which is not a class method. | yii\base\Object |
| __construct() | Constructor. | yii\db\QueryBuilder |
| __get() | Returns the value of an object property. | yii\base\Object |
| __isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Object |
| __set() | Sets value of an object property. | yii\base\Object |
| __unset() | Sets an object property to null. | yii\base\Object |
| addColumn() | Builds a SQL statement for adding a new DB column. | yii\db\QueryBuilder |
| addForeignKey() | Builds a SQL statement for adding a foreign key constraint to an existing table. | yii\db\QueryBuilder |
| addPrimaryKey() | Builds a SQL statement for adding a primary key constraint to an existing table. | yii\db\QueryBuilder |
| alterColumn() | Builds a SQL statement for changing the definition of a column. | yii\db\QueryBuilder |
| batchInsert() | Generates a batch INSERT SQL statement. | yii\db\QueryBuilder |
| build() | Generates a SELECT SQL statement from a yii\db\Query object. | yii\db\QueryBuilder |
| buildAndCondition() | Connects two or more SQL expressions with the AND or OR operator. |
yii\db\QueryBuilder |
| buildBetweenCondition() | Creates an SQL expressions with the BETWEEN operator. |
yii\db\QueryBuilder |
| buildColumns() | Processes columns and properly quotes them if necessary. | yii\db\QueryBuilder |
| buildCondition() | Parses the condition specification and generates the corresponding SQL expression. | yii\db\QueryBuilder |
| buildExistsCondition() | Creates an SQL expressions with the EXISTS operator. |
yii\db\QueryBuilder |
| buildFrom() | yii\db\QueryBuilder | |
| buildGroupBy() | yii\db\QueryBuilder | |
| buildHashCondition() | Creates a condition based on column-value pairs. | yii\db\QueryBuilder |
| buildHaving() | yii\db\QueryBuilder | |
| buildInCondition() | Creates an SQL expressions with the IN operator. |
yii\db\QueryBuilder |
| buildJoin() | yii\db\QueryBuilder | |
| buildLikeCondition() | Creates an SQL expressions with the LIKE operator. |
yii\db\QueryBuilder |
| buildLimit() | yii\db\mysql\QueryBuilder | |
| buildNotCondition() | Inverts an SQL expressions with NOT operator. |
yii\db\QueryBuilder |
| buildOrderBy() | yii\db\QueryBuilder | |
| buildOrderByAndLimit() | Builds the ORDER BY and LIMIT/OFFSET clauses and appends them to the given SQL. | yii\db\QueryBuilder |
| buildSelect() | yii\db\QueryBuilder | |
| buildSimpleCondition() | Creates an SQL expressions like "column" operator value. |
yii\db\QueryBuilder |
| buildUnion() | yii\db\QueryBuilder | |
| buildWhere() | yii\db\QueryBuilder | |
| canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Object |
| canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Object |
| checkIntegrity() | Builds a SQL statement for enabling or disabling integrity check. | yii\db\mysql\QueryBuilder |
| className() | Returns the fully qualified name of this class. | yii\base\Object |
| createIndex() | Builds a SQL statement for creating a new index. | yii\db\QueryBuilder |
| createTable() | Builds a SQL statement for creating a new DB table. | yii\db\QueryBuilder |
| delete() | Creates a DELETE SQL statement. | yii\db\QueryBuilder |
| dropColumn() | Builds a SQL statement for dropping a DB column. | yii\db\QueryBuilder |
| dropForeignKey() | Builds a SQL statement for dropping a foreign key constraint. | yii\db\mysql\QueryBuilder |
| dropIndex() | Builds a SQL statement for dropping an index. | yii\db\QueryBuilder |
| dropPrimaryKey() | Builds a SQL statement for removing a primary key constraint to an existing table. | yii\db\mysql\QueryBuilder |
| dropTable() | Builds a SQL statement for dropping a DB table. | yii\db\QueryBuilder |
| getColumnType() | Converts an abstract column type into a physical column type. | yii\db\QueryBuilder |
| hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Object |
| hasProperty() | Returns a value indicating whether a property is defined. | yii\base\Object |
| init() | Initializes the object. | yii\base\Object |
| insert() | Creates an INSERT SQL statement. | yii\db\mysql\QueryBuilder |
| renameColumn() | Builds a SQL statement for renaming a column. | yii\db\mysql\QueryBuilder |
| renameTable() | Builds a SQL statement for renaming a DB table. | yii\db\QueryBuilder |
| resetSequence() | Creates a SQL statement for resetting the sequence value of a table's primary key. | yii\db\mysql\QueryBuilder |
| truncateTable() | Builds a SQL statement for truncating a DB table. | yii\db\QueryBuilder |
| update() | Creates an UPDATE SQL statement. | yii\db\QueryBuilder |
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| buildCompositeInCondition() | Builds SQL for IN condition | yii\db\QueryBuilder |
| buildSubqueryInCondition() | Builds SQL for IN condition | yii\db\QueryBuilder |
| hasLimit() | Checks to see if the given limit is effective. | yii\db\QueryBuilder |
| hasOffset() | Checks to see if the given offset is effective. | yii\db\QueryBuilder |
Constants
| Constant | Value | Description | Defined By |
|---|---|---|---|
| PARAM_PREFIX | ':qp' | The prefix for automatically generated query binding parameters. | yii\db\QueryBuilder |
Property Details
Mapping from abstract column types (keys) to physical column types (values).
Method Details
| string buildLimit( $limit, $offset ) | ||
| $limit | integer | |
| $offset | integer | |
| return | string | The LIMIT and OFFSET clauses |
|---|---|---|
Builds a SQL statement for enabling or disabling integrity check.
| string checkIntegrity( $check = true, $schema = '', $table = '' ) | ||
| $check | boolean | Whether to turn on or off the integrity check. |
| $schema | string | The schema of the tables. Meaningless for MySQL. |
| $table | string | The table name. Meaningless for MySQL. |
| return | string | The SQL statement for checking integrity |
|---|---|---|
Builds a SQL statement for dropping a foreign key constraint.
| string dropForeignKey( $name, $table ) | ||
| $name | string | The name of the foreign key constraint to be dropped. The name will be properly quoted by the method. |
| $table | string | The table whose foreign is to be dropped. The name will be properly quoted by the method. |
| return | string | The SQL statement for dropping a foreign key constraint. |
|---|---|---|
Builds a SQL statement for removing a primary key constraint to an existing table.
| string dropPrimaryKey( $name, $table ) | ||
| $name | string | The name of the primary key constraint to be removed. |
| $table | string | The table that the primary key constraint will be removed from. |
| return | string | The SQL statement for removing a primary key constraint from an existing table. |
|---|---|---|
Creates an INSERT SQL statement.
For example,
$sql = $queryBuilder->insert('user', [
'name' => 'Sam',
'age' => 30,
], $params);
The method will properly escape the table and column names.
| string insert( $table, $columns, <b>&</b>$params ) | ||
| $table | string | The table that new rows will be inserted into. |
| $columns | array | The column data (name => value) to be inserted into the table. |
| $params | array | The binding parameters that will be generated by this method. They should be bound to the DB command later. |
| return | string | The INSERT SQL |
|---|---|---|
Builds a SQL statement for renaming a column.
| string renameColumn( $table, $oldName, $newName ) | ||
| $table | string | The table whose column is to be renamed. The name will be properly quoted by the method. |
| $oldName | string | The old name of the column. The name will be properly quoted by the method. |
| $newName | string | The new name of the column. The name will be properly quoted by the method. |
| return | string | The SQL statement for renaming a DB column. |
|---|---|---|
| throws | yii\db\Exception | |
Creates a SQL statement for resetting the sequence value of a table's primary key.
The sequence will be reset such that the primary key of the next new row inserted will have the specified value or 1.
| string resetSequence( $tableName, $value = null ) | ||
| $tableName | string | The name of the table whose primary key sequence will be reset |
| $value | mixed | The value for the primary key of the next new row inserted. If this is not set, the next new row's primary key will have a value 1. |
| return | string | The SQL statement for resetting sequence |
|---|---|---|
| throws | yii\base\InvalidParamException | if the table does not exist or there is no sequence associated with the table. |