---
title: "Database (Doctrine DBAL)"
manual: "TYPO3 Explained"
version: "13.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:doctrine-dbal@13.4"
source: "ApiOverview/Database/DoctrineDbal/Index.rst"
rendered: "2026-09-26T10:27:18+00:00"
---

# Database (Doctrine DBAL) {#doctrine-dbal}

This chapter describes accessing the database on the level of the Doctrine
Database Abstraction Layer (DBAL).

The [Doctrine Database Abstraction Layer (DBAL)](https://www.doctrine-project.org/projects/dbal.html) in TYPO3 provides developers
with a powerful and flexible way to interact a database, allowing them to
perform database operations through an object-oriented API while ensuring
compatibility across different database systems.

In the TYPO3 backend rows of database tables are usually represented as
[Database records](https://docs.typo3.org/permalink/t3coreapi:database-records@13.4) and configured in [TCA (Table Configuration Array)](https://docs.typo3.org/permalink/t3coreapi:database-records-tca@13.4).

In Extbase extensions tables are abstracted as
[Extbase models](https://docs.typo3.org/permalink/t3coreapi:extbase-model@13.4). Operations such as creating, updating and
deleting database records are usually performed from within a
[Extbase repository](https://docs.typo3.org/permalink/t3coreapi:extbase-repository@13.4) with methods provided by Extbase
classes. However, Doctrine DBAL can also be used by extensions that use, for
example, an [Extbase controller](https://docs.typo3.org/permalink/t3coreapi:extbase-controller@13.4).

**Contents**

-   [Introduction](https://docs.typo3.org/permalink/t3coreapi:introduction@13.4)
-   [Configuration](https://docs.typo3.org/permalink/t3coreapi:configuration@13.4)
-   [Basic create, read, update, and delete operations (CRUD)](https://docs.typo3.org/permalink/t3coreapi:basic-create-read-update-and-delete-operations-crud@13.4)
-   [Class overview](https://docs.typo3.org/permalink/t3coreapi:class-overview@13.4)
-   [ConnectionPool](https://docs.typo3.org/permalink/t3coreapi:connectionpool@13.4)
-   [Query builder](https://docs.typo3.org/permalink/t3coreapi:query-builder@13.4)
-   [Connection](https://docs.typo3.org/permalink/t3coreapi:connection@13.4)
-   [Expression builder](https://docs.typo3.org/permalink/t3coreapi:expression-builder@13.4)
-   [Restriction builder](https://docs.typo3.org/permalink/t3coreapi:restriction-builder@13.4)
-   [Result](https://docs.typo3.org/permalink/t3coreapi:result@13.4)
-   [Driver middlewares](https://docs.typo3.org/permalink/t3coreapi:doctrine-dbal-driver-middlewares@13.4)
-   [Various tips and tricks](https://docs.typo3.org/permalink/t3coreapi:various-tips-and-tricks@13.4)
-   [Troubleshooting](https://docs.typo3.org/permalink/t3coreapi:troubleshooting@13.4)
