Help us understand the problem. What is going on with this article?

GCP CloudSQLを使ってみた

■ 今回お話すること

  • GCP CloudSQLの環境設定について
  • Cloud Shellを使用して、テーブル作成・取得する方法について
  • 忘備録的な記事となっておりますご注意を(SQLの基本的なことはお話しません)

■ 前提

  • GCP上にプロジェクト作成済みであること

■ 今回の環境

> GCP:Cloud SQL

MySQL5.7 第2世代

■ GCP CloudSQLの環境設定

① GCPのナビメニュー → SQL を選択

スクリーンショット 2018-12-21 21.54.20.png

② 上部メニューにある「インスタンスを作成」からインスタンスを作成する

スクリーンショット 2018-12-21 21.57.42.png

③ 今回は、MySQLを選択して「作成」する

スクリーンショット 2018-12-21 21.58.24.png

④ 第2世代をゴリ押ししてきてくれたので、「第2世代を選択」する

スクリーンショット 2018-12-21 21.59.32.png

⑤ インスタンスIDと、パスワードを指定して「作成」

※ 今回はリージョンはus-central1で設定します。
スクリーンショット 2018-12-21 22.01.58.png

⑥ ⑤で作成したインスタンスIDを選択して、インスタンスの詳細を表示し、Cloud Shellを使用して接続確認を実施

スクリーンショット 2018-12-21 22.18.27.png

⑦ 画面に、Shell画面が起動したら以下のコマンドを実行して、接続する

Welcome to Cloud Shell! Type "help" to get started.
Your Cloud Platform project in this session is set to [プロジェクト名].
Use “gcloud config set project [PROJECT_ID]” to change to a different project.
nunnally*******@cloudshell:~ ([プロジェクト名])$ gcloud sql connect firebase-app --user=root --quiet

⑧ ⑦を実行したら、rootのパスワードを入力してくれたまえ的に要求されるので⑤で設定したパスワードをコピー&ペーストではなく入力する

Connecting to database with SQL user [root].Enter password:

⑨ 以下のメッセージが表示されて、MySQL >となっているので作成&接続完了

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 99
Server version: 5.7.14-google-log (Google)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]>

■ Cloud Shellを使用して、テーブル作成・取得する方法

  • 手順としては、以下の手順となります。
    1. データベース作成
    2. 使用するデータベース設定
    3. テーブル作成
    4. テーブルにデータ登録
    5. 登録したデータを取得する

1. データベース作成

  • Cloud Shellで、データベースを作成していきます。
    試しに、「sample_dev」というデータベースを作ります。
    Query OKと出れば、作成に成功してます。
MySQL [(none)]> CREATE DATABASE sample_dev;

Query OK, 1 row affected (0.16 sec)

2. 使用するデータベース設定

  • 先程作成したデータベースを使用しますよ〜と明示的にMySQLに宣言します。
    Database changedと出れば、選択済みとなっています。
MySQL [(none)]> use sample_dev;
Database changed

3. テーブル作成

  • id、name列があるusersというテーブルを作成していきます。
MySQL [sample_dev]> CREATE TABLE users (
    ->  id MEDIUMINT NOT NULL AUTO_INCREMENT,
    ->  name varchar(255) DEFAULT NULL,
    ->  PRIMARY KEY (id)
    -> );
Query OK, 0 rows affected (0.17 sec)
MySQL [sample_dev]>

4. テーブルにデータ登録

  • users.nameに私の名前「nunnally」を登録してみましょう。
MySQL [sample_dev]> INSERT INTO users
    -> (name)
    -> VALUES (
    ->  'nunnally'
    -> );
Query OK, 1 row affected (0.17 sec)

5. 登録したデータを取得する

  • 上記で登録した「nunnally」というレコードが取得できたら登録&取得成功です。
MySQL [sample_dev]> select * from users;
+----+----------+
| id | name     |
+----+----------+
|  1 | nunnally |
+----+----------+
1 row in set (0.15 sec)
MySQL [sample_dev]>

■ まとめ

この設定と簡単なSQLさえ覚えておけば手軽にRDBを体感することができるので色々試してみたいと思いました(●´ω`●)

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away