如何获取Google BigQuery数据集中生成表的CREATE TABLE语句?
获取Google BigQuery表的CREATE TABLE语句的几种方法
方法一:通过BigQuery控制台直接导出
- 打开BigQuery控制台,定位到目标数据集和表
- 点击表名进入详情页,切换到架构标签
- 页面右下角有个「查看DDL」按钮,点击即可看到完整的CREATE TABLE语句,直接复制就行
方法二:用SQL语句生成
BigQuery支持扩展语法SHOW CREATE TABLE,直接执行就能拿到DDL:
SHOW CREATE TABLE `你的项目ID.你的数据集.你的表名`;
执行后结果里的ddl字段就是你要的CREATE TABLE语句。
如果需要自定义拼接(比如调整格式或筛选特定属性),可以查询元数据表:
SELECT CONCAT( 'CREATE TABLE `', table_catalog, '.', table_schema, '.', table_name, '` (\n', STRING_AGG( CONCAT(' ', column_name, ' ', data_type, IF(is_nullable = 'YES', ' NULL', ' NOT NULL')), ',\n' ), '\n) ', IF(table_type = 'BASE TABLE', CONCAT('OPTIONS(\n', STRING_AGG(CONCAT(' ', option_name, ' = ', option_value), ',\n'), '\n)'), '') ) AS create_table_ddl FROM `你的项目ID.你的数据集.INFORMATION_SCHEMA.COLUMNS` LEFT JOIN `你的项目ID.你的数据集.INFORMATION_SCHEMA.TABLE_OPTIONS` USING (table_catalog, table_schema, table_name) WHERE table_name = '你的表名' GROUP BY table_catalog, table_schema, table_name, table_type;
记得替换代码里的项目ID、数据集和表名。
方法三:使用bq命令行工具
如果习惯用命令行,直接执行最便捷的命令:
bq show --format=ddl 你的项目ID:你的数据集.你的表名
执行后会直接输出完整的CREATE TABLE语句。
另外还有其他命令可以辅助导出:
- 导出表结构JSON:
bq show --format=prettyjson 你的项目ID:你的数据集.你的表名 | jq -r '.schema.fields' - 导出CSV格式的表结构:
bq extract --destination_format=CSV --schema_only 你的项目ID:你的数据集.你的表名 gs://你的存储桶路径/table-schema.csv
内容的提问来源于stack exchange,提问作者curiousengineer
相关产品推荐
相关产品推荐

