我想创建一个包含2列的表格:
name
为string
info
作为重复结构,包含:
key
为string
value
为float64
我可以使用create table
语句吗?
然后我要插入一条记录:
'John', [{'key': 'a', 'value': 0.7}, {'key': 'b', 'value': 0.8}, {'key': 'c', 'value': 1.2}]
可以使用insert into
语句吗?
答案 0 :(得分:3)
以下是用于BigQuery标准SQL
1-创建表
CREATE TABLE dataset.newtable
(
name STRING,
info ARRAY<STRUCT<key STRING, value FLOAT64>>
)
2-插入数据
INSERT dataset.newtable
VALUES ('John', [('a', 0.7), ('b', 0.8), ('c', 1.2)])
注意:可以像下面的示例一样一次性完成“ ”操作
CREATE TABLE dataset.newtable AS
SELECT 'John' AS name, [STRUCT<key STRING, value FLOAT64>('a', 0.7), ('b', 0.8), ('c', 1.2)] info
答案 1 :(得分:1)
可能您想创建一种Master / Details结构。假设您使用的是关系数据库,建议不要使用单个表,而应使用两个单独的表。
第一个表格(我们可以将其命名为“人”)
id
作为int64
(主键)name
为string
第二张表(我们可以将其命名为“信息”)
id
作为int64
(主键)key
为string
value
为int64
personid
为int64
(Person.id上的外键)因此您可以insert into
“信息”表。