インターン先の業務でDBの設計をすることになったので、最近SQLを書くようになりました。これまでSQLの業務経験はなくまだ初心者です。
業務ではGCPをDBに使っています。GCPの提供するCloudSQLというサービスでMySQLとPostgreSQLが使えるため、MySQLでのテーブル作成を行いました。
今回は振り返りを兼ねて、「データベースの作成からテーブルのカラムにデータを入れるまで」を書いていこうと思います。
##データベースの作成
まずは今あるデータベースを一覧表示して確認してみましょう。
SHOW DATABASES;
すでにデータベースがある場合はこれでデータベースが表示されますね。まだない場合は以下のコマンドで作成しましょう。
ちなみに、<データベース>の<>は実際に記述しないでくださいね。
CREATE DATABASE <データベース名>;
次に、使用するデータベースの選択をします。以下のコマンドで選択したデータベースの中に入りましょう。
USE <データベース名>;
これで、選択したデータベースを編集できる状態になります。
##テーブルの作成
**構文**
CREATE TABLE <`テーブル名`> (
`column1` [データ型][任意の属性など],
`column2` [データ型][任意の属性など],
`column3` [データ型][任意の属性など]
);
**実例**
CREATE TABLE cars (
`id` INT(10) AUTO_INCREMENT,
`car_name` TEXT,
`price` INT(10),
PRIMARY KEY (id)
);
カラムにはデータ型を指定します。整数型も文字列型も見慣れたものが揃っていて、MySQL公式に詳しく書いてくれています。いろいろあるみたいなので僕もう少し読んでみます。数値型には属性がつけれます。これも公式にまとまっています。
##データの挿入
では、最後にデータの挿入をしましょう。
**構文**
INSERT INTO <`テーブル名`> (`<カラム名>`, `<カラム名>`) VALUES('<値>', '<値>');
**実例**
INSERT INTO cars(`id`, `car_name`, `price`) value(1, 'プリウス', '300万円');
VALUEで値を記述する場合は「`(バッククオート)」ではなく「'(シングルクオート)」で囲みます。僕は何度か誤ってどちらもバッククオートで記述してSyntaxErrorになりました。。
データがしっかり入っているかも確認してみましょう。
**テーブル全体のデータを表示**
SELECT * FROM `cars`;
**一部のカラムを指定して表示**
SELECT * FROM `cars` WHERE id = 1 ;
##SQLの学習
まだMySQLに入門したばかりなので、僕自身さらなる基本と応用を学んでいこうと思います。普段はフロントエンドを触ることが多いのですが、何か自分で作ろうと思った時にバックエンドの知識も必要なんですね。
「たった2日でわかるSQL」という本を手に入れたのでそれをやったあと、おなじみのドットインストールでMySQLのコースをしてみようと思います。
そのほか、いい学習法があればコメントいただけると幸いです!^^