Client APIs
Querying the Database Schema
All DuckDB clients support [querying the database schema with SQL](#docs:sql:meta:information_schema), but the CLI has additional [dot commands](#docs:api:cli:dot_commands) that can make it easier to understand the contents of a database.
The `.tables` command will return a list of tables in the database. It has an optional argument that will filter the results according to a [`LIKE` pattern](#docs:sql:functions:pattern_matching::like).  
```sql
CREATE TABLE swimmers AS SELECT 'duck' AS animal;
CREATE TABLE fliers AS SELECT 'duck' AS animal;
CREATE TABLE walkers AS SELECT 'duck' AS animal;
.tables
```  
```text
fliers    swimmers  walkers
```  
For example, to filter to only tables that contain an `l`, use the `LIKE` pattern `%l%`.  
```sql
.tables %l%
```  
```text
fliers   walkers
```  
The `.schema` command will show all of the SQL statements used to define the schema of the database.  
```text
.schema
```  
```sql
CREATE TABLE fliers (animal VARCHAR);
CREATE TABLE swimmers (animal VARCHAR);
CREATE TABLE walkers (animal VARCHAR);
```