1-2:投資メモアプリのデータベースとテーブルを作る

当サイトではアフィリエイト広告を利用して商品を紹介しています。
当サイトではアフィリエイト広告を利用して商品を紹介しています。

テーブル設計

今回のアプリでは上記の図のように4つのテーブルを作成します。

SQL文を書き出す

まずはデータベースと各テーブルのSQL文を書き出します。最初はわからないかもしれませんが、まずは手を動かしてみましょう。

データベース

データベースを作成

データベースを新規作成する場合はCREATE文を使います。データベースの時はCREATEの後にDATABASEとして次にデータベース名としてjpstocks_dbを入力します。

CREATE DATABASE jpstocks_db;

データベースに接続

次に操作するデータベースを指定するためにUSE文を使います。USEの後にデータベース名を入力します。

USE jpstocks_db;

テーブル

テーブルを新規作成する場合もCREATE文を使います。テーブルの時はCREATEの後にTABLEとして次にテーブル名を指定します。次に小カッコ内にカラム名とデータ型やカラムの制約などを入力します。

jpmarket_tblを作成

CREATE TABLE jpmarket_tbl(
	market_id TINYINT NOT NULL PRIMARY KEY,
	market CHAR(10) UNIQUE
);

jpstock_tblを作成

CREATE TABLE jpstock_tbl(
	code_id SMALLINT NOT NULL PRIMARY KEY,
	stockname CHAR(128),
	market_id TINYINT
);

memo_tblを作成

CREATE TABLE memo_tbl(
	memo_id INT ZEROFILL NOT NULL PRIMARY KEY AUTO_INCREMENT,
	code_id SMALLINT NOT NULL,
	user_id INT NOT NULL,
	memo TEXT(255),
	created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
	updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

user_tblを作成

CREATE TABLE user_tbl(
	user_id INT ZEROFILL NOT NULL PRIMARY KEY AUTO_INCREMENT,
	username CHAR(128) NOT NULL,
	email CHAR(128) NOT NULL UNIQUE,
	password CHAR(128) NOT NULL,
	created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
	updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

MySQL workbenchを使ってSQL文を実行

データベースとすべてのテーブルを作成します。MySQL workbenchを使って書き出したSQL文を実行します。MySQL workbenchを使うとSQL文の構文ミスなどを指摘してくれるので便利です。

まずはデータベースを作成します。SQL文を入力して全て実行します。そうすると下部に実行結果が表示されます。

続けてテーブルも作成します。上記と同様にSQL文を入力して全て実行します。そうすると下部に実行結果が表示されます。また左側のSCHEMASを再読み込みするとデータベース以下に各テーブルが表示されます。

以上で必要なデータベースとテーブルが作成できました。
次回はSQL文を詳しく見ていきます。

タイトルとURLをコピーしました