みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
GASからJDBCサービスを使ってCloud SQLのデータベースにアクセスする方法をシリーズでお伝えしています。
前回の記事はこちら。
GCPのCloud Shellで、SQL文によりCloud SQLインスタンスにデータベースを作る方法をお伝えしました。
今回は、その続きですね。
データベースができましたので、「テーブル」を作っていきます。
ということで、GCPのCloud SQLデータベースにSQLでテーブルを作成する方法です。
テーブルとは何か、またその仕組についてもお伝えしますよ。
では、行ってみましょう!
前回のおさらい
さて、本シリーズの最終目標は、GASからCloud SQLに作成したデータベースにアクセスをすることです。
前回までで、以下の手順を進めて来ました。
- GCPのCloud SQLにインスタンスを作成する
- Cloud SQLインスタンス内にデータベースを作成する
GCPのCloud Shellを使うと、Cloud SQLインスタンスに接続でき、その際にMySQLにログインします。
MySQLにログインすると、SQLによりデータベースが操作できるようになり、CREATE DATABASE文でデータベースを作成したわけです。
データベースができたから、GASからアクセスしてデータを操作していこう…!
と、なるわけですが、せっかくなのでもう少しGCPコンソールでデータベースを操作して、慣れておくのも良いかも知れません。
ということで、次の段取りである「テーブルの作成」も、このままCloud ShellでSQLを使って進めてみましょう。
テーブルとは?
データベースを作成したからといって、すぐさまデータを格納できる状態になったわけではありません。
実際のデータは、データベース内の「テーブル」に格納していきますので、続いてテーブルを作成する必要があります。
テーブルとはデータの置き場のことで、データベース内に複数作成することができます。
個々のテーブルには名前をつけることができ、その「テーブル名」で識別をします。
レコードとフィールド
テーブルは、以下の図のようにExcelやスプレッドシートのシート上の格子状の表をイメージしてもらえると良いと思います。
「行」にあたる要素を「レコード」といい、一件のデータをひとつのレコードに格納していくことになります。
「列」にあたる要素を「カラム」といいます。
(カラムは、ときに「フィールド」と呼ばれることもあります。)
カラムには、それぞれ名前をつける必要があり、それを「カラム名」といいます。
また、同じカラムには、同じ種類のデータ(例えば、整数・8桁の文字列・日付など)で揃える必要があり、それを「データ型」といいます。
さらに、テーブルのうちいずれかのカラムについて、レコードを識別するための「主キー」に設定する必要があります。
すなわち、テーブルを作るには、以下を指定してあげる必要があるということですね。
- テーブル名
- カラムとそのカラム名&データ型
- 主キーにするカラム名
USE文で使用するデータベースを選択する
では、実際にSQLでテーブルを作成していきましょう。
テーブルを作成する前に、インスタンス内のどのデータベースを操作対象とするか、選択して上げる必要があります。
データベースを選択するには、以下のUSE文を使います。
今回は「guestbook」という名前のデータベースを操作したいので、以下SQLを実行すればOKですね。
実行すると、以下のように表示されますね。
Database changed
CREATE文でテーブルを作成する
続いて、選択したデータベースにテーブルを作成します。
テーブルを作成するには、CREATE TABLE文を使います。
テーブル名の後のカッコ内に、作成するカラム名とそのデータ型をカンマ区切りで列挙します。
そして最後のPRIMARY KEYの後のカッコ内に、主キーとするカラム名を指定します。
例えば、以下のようにして実行してみましょう。
entryID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(entryID));
これは、以下の3つのカラム名を作成するものです。
カラム名 | データ型 | データ型の意味 | 補足 |
---|---|---|---|
guestName | VARCHAR(255) | 255バイト以内の文字列 | |
content | VARCHAR(255) | 255バイト以内の文字列 | |
entryID | INT | 整数 | 主キー、NULLを許可しない、自動でカラム内の最大値+1の値を設定 |
カラム「entry ID」には色々と追加の命令が付与されていますね。
「NOT NULL」を付与すると、値が存在しない状態を表す「NULL」を許可しないように設定できます。
「AUTO_INCREMENT」を付与すると、自動でカラム内の最大値+1の値を設定するようにできます。
テーブルのカラムを確認する
うまく実行できているかを確認してみましょう。
テーブルのカラム情報を表示するにはSHOW COLUMNS文を使います。
今回の場合はこうですね。
実行すると、以下のようにカラム構成を確認することができます。
まとめ
以上、GCPのCloud SQLデータベースにSQLでテーブルを作成する方法をお伝えしました。
テーブルとその仕組みについてもぜひおさらいしておきましょう。
データ型やカラムの設定などについては、あまり触れすぎると深くなりすぎるので、またの機会にきちんとお伝えできればと思います。
では、次回は作成したテーブルにデータを挿入していきたいと思います。
どうぞお楽しみに!
連載目次:GASのJDBCサービスでCloud SQLのDBを操作する
GASのデータベースの多くはスプレッドシートを使用しますが、ちゃんとしたデータベースを使用したい場合があります。そこで、JBDCサービスを使ってCloud SQLを使用する方法をシリーズでお伝えしていきます。- GASのデータベースとして、なぜCloud SQLが有効なのか?その概要とメリット
- GASでデータベースとして使用するCloud SQLインスタンスを作成する方法
- GCPのCloud Shellを使ってCloud SQLインスタンスに接続する方法
- GCPのCloud SQLインスタンスにSQL文でデータベースを作成する方法
- GCPのCloud SQLデータベースにSQLでテーブルを作成する方法
- GCPのCloud SQLデータベースのテーブルにSQLでレコードを追加する方法
- GASのJDBCサービスでCloud SQLデータベースに接続をする方法
- GASのJDBCサービスでCloud SQLデータベースにクエリを実行する方法
- GASのJDBCサービスでCloud SQLにクエリを実行した結果を取り出す方法
- GASのJBDCサービスでCloud SQLのデータベースにレコードを追加する方法
- GASのJDBCサービスでCloud SQLのデータベースに複数のSQLを一括で実行する方法