# yii\db

> 33 classes, 7 interfaces, 7 traits of the yii\db namespace.

[API reference](/docs/api/index.md) › [yii](/docs/api/yii/index.md) › db

## Namespaces

| Namespace | Types |
| --- | --- |
| [`yii\db\conditions`](/docs/api/yii/db/conditions/index.md) | 21 |
| [`yii\db\mssql`](/docs/api/yii/db/mssql/index.md) | 13 |
| [`yii\db\mysql`](/docs/api/yii/db/mysql/index.md) | 5 |
| [`yii\db\oci`](/docs/api/yii/db/oci/index.md) | 9 |
| [`yii\db\pgsql`](/docs/api/yii/db/pgsql/index.md) | 7 |
| [`yii\db\sqlite`](/docs/api/yii/db/sqlite/index.md) | 8 |

## Classes

| Class | Summary |
| --- | --- |
| [`ActiveQuery`](/docs/api/yii/db/activequery/index.md) | ActiveQuery represents a DB query associated with an Active Record class. |
| [`ActiveRecord`](/docs/api/yii/db/activerecord/index.md) | ActiveRecord is the base class for classes representing relational data in terms of objects. |
| [`AfterSaveEvent`](/docs/api/yii/db/aftersaveevent/index.md) | AfterSaveEvent represents the information available in [`ActiveRecord::EVENT_AFTER_INSERT`](/docs/api/yii/db/baseactiverecord/index.md#event-EVENT_AFTER_INSERT) and [`ActiveRecord::EVENT_AFTER_UPDATE`](/docs/api/yii/db/baseactiverecord/index.md#event-EVENT_AFTER_UPDATE). |
| [`ArrayExpression`](/docs/api/yii/db/arrayexpression/index.md) | Class ArrayExpression represents an array SQL expression. |
| [`BaseActiveRecord`](/docs/api/yii/db/baseactiverecord/index.md) abstract | ActiveRecord is the base class for classes representing relational data in terms of objects. |
| [`BatchQueryResult`](/docs/api/yii/db/batchqueryresult/index.md) | BatchQueryResult represents a batch query from which you can retrieve data in batches. |
| [`CheckConstraint`](/docs/api/yii/db/checkconstraint/index.md) | CheckConstraint represents the metadata of a table `CHECK` constraint. |
| [`ColumnSchema`](/docs/api/yii/db/columnschema/index.md) | ColumnSchema class describes the metadata of a column in a database table. |
| [`ColumnSchemaBuilder`](/docs/api/yii/db/columnschemabuilder/index.md) | ColumnSchemaBuilder helps to define database schema types using a PHP interface. |
| [`Command`](/docs/api/yii/db/command/index.md) | Command represents a SQL statement to be executed against a database. |
| [`Connection`](/docs/api/yii/db/connection/index.md) | Connection represents a connection to a database via [PDO](https://www.php.net/manual/en/book.pdo.php). |
| [`Constraint`](/docs/api/yii/db/constraint/index.md) | Constraint represents the metadata of a table constraint. |
| [`DataReader`](/docs/api/yii/db/datareader/index.md) | DataReader represents a forward-only stream of rows from a query result set. |
| [`DefaultValueConstraint`](/docs/api/yii/db/defaultvalueconstraint/index.md) | DefaultValueConstraint represents the metadata of a table `DEFAULT` constraint. |
| [`Exception`](/docs/api/yii/db/exception/index.md) | Exception represents an exception that is caused by some DB-related operations. |
| [`Expression`](/docs/api/yii/db/expression/index.md) | Expression represents a DB expression that does not need escaping or quoting. |
| [`ExpressionBuilder`](/docs/api/yii/db/expressionbuilder/index.md) | Class ExpressionBuilder builds objects of [`Expression`](/docs/api/yii/db/expression/index.md) class. |
| [`ForeignKeyConstraint`](/docs/api/yii/db/foreignkeyconstraint/index.md) | ForeignKeyConstraint represents the metadata of a table `FOREIGN KEY` constraint. |
| [`IndexConstraint`](/docs/api/yii/db/indexconstraint/index.md) | IndexConstraint represents the metadata of a table `INDEX` constraint. |
| [`IntegrityException`](/docs/api/yii/db/integrityexception/index.md) | Exception represents an exception that is caused by violation of DB constraints. |
| [`JsonExpression`](/docs/api/yii/db/jsonexpression/index.md) | Class JsonExpression represents data that should be encoded to JSON. |
| [`Migration`](/docs/api/yii/db/migration/index.md) | Migration is the base class for representing a database migration. |
| [`PdoValue`](/docs/api/yii/db/pdovalue/index.md) final | Class PdoValue represents a $value that should be bound to PDO with exact $type. |
| [`PdoValueBuilder`](/docs/api/yii/db/pdovaluebuilder/index.md) | Class PdoValueBuilder builds object of the [`PdoValue`](/docs/api/yii/db/pdovalue/index.md) expression class. |
| [`Query`](/docs/api/yii/db/query/index.md) | Query represents a SELECT SQL statement in a way that is independent of DBMS. |
| [`QueryBuilder`](/docs/api/yii/db/querybuilder/index.md) | QueryBuilder builds a SELECT SQL statement based on the specification given as a [`Query`](/docs/api/yii/db/query/index.md) object. |
| [`QueryExpressionBuilder`](/docs/api/yii/db/queryexpressionbuilder/index.md) | Class QueryExpressionBuilder is used internally to build [`Query`](/docs/api/yii/db/query/index.md) object using unified [`QueryBuilder`](/docs/api/yii/db/querybuilder/index.md) expression building interface. |
| [`Schema`](/docs/api/yii/db/schema/index.md) abstract | Schema is the base class for concrete DBMS-specific schema classes. |
| [`SqlToken`](/docs/api/yii/db/sqltoken/index.md) | SqlToken represents SQL tokens produced by [`SqlTokenizer`](/docs/api/yii/db/sqltokenizer/index.md) or its child classes. |
| [`SqlTokenizer`](/docs/api/yii/db/sqltokenizer/index.md) abstract | SqlTokenizer splits an SQL query into individual SQL tokens. |
| [`StaleObjectException`](/docs/api/yii/db/staleobjectexception/index.md) |  |
| [`TableSchema`](/docs/api/yii/db/tableschema/index.md) | TableSchema represents the metadata of a database table. |
| [`Transaction`](/docs/api/yii/db/transaction/index.md) | Transaction represents a DB transaction. |

## Interfaces

| Interface | Summary |
| --- | --- |
| [`ActiveQueryInterface`](/docs/api/yii/db/activequeryinterface/index.md) | ActiveQueryInterface defines the common interface to be implemented by active record query classes. |
| [`ActiveRecordInterface`](/docs/api/yii/db/activerecordinterface/index.md) | ActiveRecordInterface. |
| [`ConstraintFinderInterface`](/docs/api/yii/db/constraintfinderinterface/index.md) | ConstraintFinderInterface defines methods for getting a table constraint information. |
| [`ExpressionBuilderInterface`](/docs/api/yii/db/expressionbuilderinterface/index.md) | Interface ExpressionBuilderInterface is designed to build raw SQL from specific expression objects that implement [`ExpressionInterface`](/docs/api/yii/db/expressioninterface/index.md). |
| [`ExpressionInterface`](/docs/api/yii/db/expressioninterface/index.md) | Interface ExpressionInterface should be used to mark classes, that should be built in a special way. |
| [`MigrationInterface`](/docs/api/yii/db/migrationinterface/index.md) | The MigrationInterface defines the minimum set of methods to be implemented by a database migration. |
| [`QueryInterface`](/docs/api/yii/db/queryinterface/index.md) | The QueryInterface defines the minimum set of methods to be implemented by a database query. |

## Traits

| Trait | Summary |
| --- | --- |
| [`ActiveQueryTrait`](/docs/api/yii/db/activequerytrait/index.md) | ActiveQueryTrait implements the common methods and properties for active record query classes. |
| [`ActiveRelationTrait`](/docs/api/yii/db/activerelationtrait/index.md) | ActiveRelationTrait implements the common methods and properties for active record relational queries. |
| [`ConstraintFinderTrait`](/docs/api/yii/db/constraintfindertrait/index.md) | ConstraintFinderTrait provides methods for getting a table constraint information. |
| [`ExpressionBuilderTrait`](/docs/api/yii/db/expressionbuildertrait/index.md) | Trait ExpressionBuilderTrait provides common constructor for classes that should implement [`ExpressionBuilderInterface`](/docs/api/yii/db/expressionbuilderinterface/index.md) |
| [`QueryTrait`](/docs/api/yii/db/querytrait/index.md) | The BaseQuery trait represents the minimum method set of a database Query. |
| [`SchemaBuilderTrait`](/docs/api/yii/db/schemabuildertrait/index.md) | SchemaBuilderTrait contains shortcut methods to create instances of [`ColumnSchemaBuilder`](/docs/api/yii/db/columnschemabuilder/index.md). |
| [`ViewFinderTrait`](/docs/api/yii/db/viewfindertrait/index.md) | ViewFinderTrait implements the method getViewNames for finding views in a database. |