Google スプレッドシートからデータベース(Fusion Tables)を制御する(SELECTとINSERT)
2016/06/15
[ad#top-1]
前回は、Googleスプレッドシートからデータベース(Fusion Tables)を制御するための設定方法を書きました。今回はいよいよスプレッドシート側からGoogle Apps Scriptを使って制御していきたいと思います。
まずその前におさらい
前のブログを読んでいない方は以下の記事を読んでください。
まずは、Googleスプレッドシートのマクロ機能(Google Apps Script)の解説です。プログラムの記述方法はこちらを参考にしてください。
Googleドライブ上でデータベースを使う方法です。Fusion Tablesというデータベースアプリをインストールする必要があります。
最後に、スプレッドシート側からデータベースにアクセスするための設定方法です。
データベーステーブル
Fusion Tablesでこんなテーブルを作りました。DBをスプレッドシートからアクセスするわけです。
テーブル名の取得
Fusion TablesのURLに、docidというパラメータがありますので、その値を控えておきます。実はこれがテーブル名になります。
SELECT構文
データベースを読み込む場合は、以下のような構文です。
function getDB(){ |
var mySheet = SpreadsheetApp.getActiveSheet(); |
var docid = “1KF…..E3B”; //urlに含まれるdocid |
var sql = “SELECT * FROM “ + docid + ” ORDER BY ID”; |
var result = FusionTables.Query.sqlGet(sql); |
for( var i=0; i<result.rows.length; ++i ){ |
mySheet.getRange(“A” + (i+2)).setValue(result.rows[i][0]); |
mySheet.getRange(“B” + (i+2)).setValue(result.rows[i][1]); |
mySheet.getRange(“C” + (i+2)).setValue(result.rows[i][2]); |
} |
} |
以下の通り読込は成功しました。
INSERT構文
INSERT分はこの通り
function insert(){ |
var docid = “KF…..E3B”; //urlに含まれるdocid |
var sql = “INSERT INTO “ + docid + ” (ID, NAME, AGE) VALUES (4, ‘池田’, 33)”; |
FusionTables.Query.sql(sql); |
} |
こちらが挿入後に読み込んできた状態。
ということで、DB読込と挿入のやり方を紹介しました。次回はUPDATEとDELETE文です。ちょっとひとクセあるみたいです。
Google Driveを使った業務デー… | 仕事で使える!Googleドライブ クラ… |
1512円 | 648円 |
[ad#ad-1]
スポンサーリンク