Drupal APIs
- Access Policy API
- AJAX API
- Authentication API
- Batch API
- Block API
- Cache API
- (deprecated) CKEditor 4 API
- CKEditor 5 API
- Configuration API
- Database API
- Entity API
- Filter API
- Form API
- JavaScript API
- Layout API
- Logging API
- Menu API
- Middleware API
- Migrate API
- Plugin API
- RESTful Web Services API
- Render API
- Responses
- Routing system
- Runtime Assertions
- Serialization API
- Services and dependency injection
- State API
- Text Editor API
- Tour API
- Translation API
- Typed Data API
- Update API
- Command-Line Interface (CLI) API
- HTMX
- Icon API
- Token API
Database API
Drupal's database abstraction layer provides a unified database query API that can query different underlying databases. It is built upon PHP's PDO (PHP Data Objects) database API, and inherits much of its syntax and semantics.
Besides providing a unified API for database queries, the database abstraction layer also provides a structured way to construct complex queries, and it protects the database by using good security practices.
Database API Overview
Documentation for Database API in Drupal 8.
General Concepts
The Drupal database layer is built on top of the PHP Data Objects library. PDO provides a unified, object-oriented API.
Database Configuration
Database Configuration
Instantiating a Database Connection Object
Instantiating a Database Connection Object
Static Queries
Static queries are written in SQL and passed to the database nearly verbatim.
Dynamic Queries
Dynamic queries in Drupal 8 Database API.
Result Sets
Result Sets
Fetching Into a Custom Class
Fetching Into a Custom Class
Insert Queries
Insert Queries
Update Queries
Update Queries
Merge Queries
Merge Queries
Upsert Queries
Upsert Queries
Delete Queries
Delete Queries
Database Transactions
Transactions
Error Handling
Error Handling
Functions and Operators
Functions and Operators