2020-10-26 10:29:30 +00:00
---
2022-04-09 13:29:05 +00:00
sidebar_position: 43
sidebar_label: jdbc
2020-10-26 10:29:30 +00:00
---
2020-03-20 18:20:59 +00:00
# jdbc {#jdbc}
2018-10-01 07:45:59 +00:00
2021-06-11 09:37:38 +00:00
`jdbc(datasource, schema, table)` - возвращает таблицу, соединение с которой происходит через JDBC-драйвер.
2018-10-01 07:45:59 +00:00
2021-06-11 09:37:38 +00:00
Для работы этой табличной функции требуется отдельно запускать приложение [clickhouse-jdbc-bridge ](https://github.com/ClickHouse/clickhouse-jdbc-bridge ).
2018-10-16 10:47:17 +00:00
Данная функция поддерживает Nullable типы (на основании DDL таблицы к которой происходит запрос).
2018-10-01 07:45:59 +00:00
**Пример**
2020-03-20 18:20:59 +00:00
``` sql
2018-10-03 10:44:43 +00:00
SELECT * FROM jdbc('jdbc:mysql://localhost:3306/?user=root& password=root', 'schema', 'table')
2018-10-01 07:45:59 +00:00
```
2020-03-20 18:20:59 +00:00
``` sql
2021-06-11 09:37:38 +00:00
SELECT * FROM jdbc('mysql://localhost:3306/?user=root&password=root', 'select * from schema.table')
2018-10-01 07:45:59 +00:00
```
2020-03-20 18:20:59 +00:00
``` sql
2021-06-11 09:37:38 +00:00
SELECT * FROM jdbc('mysql-dev?p1=233', 'num Int32', 'select toInt32OrZero(''{{p1}}'') as num')
2018-10-16 10:47:17 +00:00
```
2021-06-11 09:37:38 +00:00
``` sql
2021-07-29 15:20:55 +00:00
SELECT *
2021-06-11 09:37:38 +00:00
FROM jdbc('mysql-dev?p1=233', 'num Int32', 'select toInt32OrZero(''{{p1}}'') as num')
```
``` sql
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
```
2021-09-19 20:05:54 +00:00
[Оригинальная статья ](https://clickhouse.com/docs/en/query_language/table_functions/jdbc/ ) <!--hide-->