★本記事は5分で読み終わることができます。
Bigquery上でクエリを用いてテーブルを操作する方法を解説しています。
GCPの代表的サービスBigqueryでテーブルに関する便利なクエリを解説します。
SQLだけでBigquery上のテーブルを作成・追記・上書きまでできてしまうので是非覚えてしまいましょう!!
実はテーブルの削除はできず、指定したテーブル内のデータの削除はできるので合わせて確認していきましょう!!
【Bigquery初心者におすすめのUdemy講座】
BigQuery で学ぶ非エンジニアのための SQL データ分析入門
BigqueryのUdemy講座で最も人気のある講座です。必要なSQLの文法を全てマスターすることができます!!
テーブルの作成(create)
さっそくですが、テーブルの作成についてみていきましょう。
テーブルの作成では、格納したい変数と変数の型(STRING, INT64, FLOAT, TIMESTAMP,,,)を指定してあげる必要があります。
create table <作成したいテーブル名>
(
変数1 変数1の型, # データの型を指定してあげる
変数2 変数2の型,
変数3 変数3の型
) AS
SELECT
データ
FROM
<テーブル名>
具体的な例を見ていきましょう。
フルーツの名前と個数と価格のテーブルがあり、名前と価格だけのテーブルを作成するためには下のSQLのようになります。
/*
データセット名.テーブル名 : food.fruits_table
fruits num price
0 apple 10 100
1 orange 15 300
2 grape 32 860
*/
create table `food.price_table` # ここで作成したいテーブル名を指定してあげる
(
fruits STRING,
price INT64,
)
AS
SELECT # 必要なデータを取ってくる
fruits,
price
FROM
`food.fruits_table`
create tableでテーブル作成を宣言してあげるだけでできてしまいました!!
とても便利な関数なので是非活用してみてください!
SQLの構文がとてもわかりやすくまとめられているUdemy講座があるので受けてみるのもおすすめです!
【Bigquery初心者におすすめのUdemy講座】
BigQuery で学ぶ非エンジニアのための SQL データ分析入門
BigqueryのUdemy講座で最も人気のある講座です。必要なSQLの文法を全てマスターすることができます!!
テーブルへの追記(insert into)
続いては、もう既に存在するテーブルに対してデータを追加したい時に便利な関数です。
insert into <追加先のテーブル名>
select
データ
from
テーブル名
では、具体例とともにみていきましょう!
フルーツのバナナのデータを追加してみましょう!
/*
データセット名.テーブル名 : food.fruits_table
fruits num price
0 apple 10 100
1 orange 15 300
2 grape 32 860
*/
insert into `food.fruits_table` # 追加先のテーブルを指定
select # 追加したいデータをSELCT分で取得
banana,
20,
150
テーブルの上書き(update)
「もうすでにあるテーブルのデータを書き換えたい!」ってときがあります。
例えば、ある変数のステータスが変更になって時です。
では実際にデータの上書き方法をみていきましょう。
注意点としてはwhere分が必須ということです。データを絞った対象に対して置換をしていきます!!
update <テーブル名>
set 変数 = 変更したい値
where 条件を絞る # where分が必須!
ではでは具体例です。
りんごの価格が高騰したので変更してみようと思います。
/*
データセット名.テーブル名 : food.fruits_table
fruits num price
0 apple 10 100
1 orange 15 300
2 grape 32 860
*/
update `food.fruits_table`
set price = 1000 # 変更したい値をかく
where fruits = "apple" # where分が必須!
このように指定してあげたデータに対して上書きをすることができます!!
データの削除(delete)
記事の冒頭でも書いたように、SQLでテーブルの消去はできません。
ですが、テーブル内のデータの消去はできるので合わせて紹介します!!
重複のデータがある場合にとても便利ですよ!!
delete from <テーブル名>
where 消去したいデータが取得できる条件 # where分は絶対に必須です
では具体例でみていきましょう!
フルーツのオレンジが売れてしまったので、データを消去したい場合です。
/*
データセット名.テーブル名 : food.fruits_table
fruits num price
0 apple 10 100
1 orange 15 300
2 grape 32 860
*/
delete from `food.fruits`
where fruits = "orange" # オレンジだけを指定してあげます
データを消去する時は慎重に行いましょう!
データ消去前にSELECT分で消去したいデータを指定できるWHERE分をしっかりと作ることが大切です!!
まとめ
いかがだったでしょうか?
Bigqueryでは、SQLを駆使すると新たにテーブルを作成したり、既存のテーブルに追記、上書きが可能なのでとても便利です。
GUIで行うよりも覚えてしまえば、時間がかからずできてしまうのでぜひ使ってみてくださいね!
-
【動画で勉強したい人必見】Bigqueryを学べるUdemy講座3選
本記事は5分で読み終えることができます。【記事の信頼性】京都大学出身の現役ITエンジニアである筆者は日々の業務でBigqueryを活用しています。Bigqueryを知り尽くした筆者がBigqueryを ...
続きを見る