使用python获取的方法:
import clickhouse_connect
client = clickhouse_connect.get_client(host='127.0.0.1')
def get_col_name(table_name, database):
"""获取列名称"""
select_sql = f"""select distinct name from system.columns WHERE database='{database}' and table='{table_name}'"""
result_list = client.query(select_sql).result_set
return [_[0] for _ in result_list]
使用sql:
select distinct name from system.columns WHERE database='数据库名称' and table='数据表名称'
示例代码
在sql中直接使用如下代码可以得到所有数据库中的列信息:
select * from system.columns
使用如下代码可以得到具体的数据库、具体的数据表之间的关系:
select * from system.columns WHERE database='数据库名称' and table='数据表名称'
因此,可以通过如下代码直接把全部列取出来:
select distinct name from system.columns WHERE database='数据库名称' and table='数据表名称'