> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Renvoie une table connectée via un pilote JDBC.

# jdbc

<Note>
  clickhouse-jdbc-bridge contient du code expérimental et n’est plus pris en charge. Il peut présenter des problèmes de fiabilité et des vulnérabilités de sécurité. Utilisez-le à vos propres risques.
  ClickHouse recommande d’utiliser les fonctions de table intégrées à ClickHouse, qui offrent une meilleure alternative pour les scénarios de requêtes ad hoc (Postgres, MySQL, MongoDB, etc.).
</Note>

La fonction de table JDBC renvoie une table connectée via un pilote JDBC.

Cette fonction de table nécessite l’exécution d’un programme distinct, [clickhouse-jdbc-bridge](https://github.com/ClickHouse/clickhouse-jdbc-bridge).
Elle prend en charge les types Nullable (d’après le DDL de la table distante interrogée).

<div id="syntax">
  ## Syntaxe
</div>

```sql theme={null}
jdbc(datasource, external_database, external_table)
jdbc(datasource, external_table)
jdbc(named_collection)
```

<div id="examples">
  ## Exemples
</div>

Au lieu d’un nom de base de données externe, on peut spécifier un schéma :

```sql theme={null}
SELECT * FROM jdbc('jdbc:mysql://localhost:3306/?user=root&password=root', 'schema', 'table')
```

```sql theme={null}
SELECT * FROM jdbc('mysql://localhost:3306/?user=root&password=root', 'select * from schema.table')
```

```sql theme={null}
SELECT * FROM jdbc('mysql-dev?p1=233', 'num Int32', 'select toInt32OrZero(''{{p1}}'') as num')
```

```sql theme={null}
SELECT *
FROM jdbc('mysql-dev?p1=233', 'num Int32', 'select toInt32OrZero(''{{p1}}'') as num')
```

```sql theme={null}
SELECT a.datasource AS server1, b.datasource AS server2, b.name AS db
FROM jdbc('mysql-dev?datasource_column', 'show databases') a
INNER JOIN jdbc('self?datasource_column', 'show databases') b ON a.Database = b.name
```
