データベース名は challenge とします。文字コードは日本語ファイル名やコメントを扱えるように utf8mb4 を使用します。
schema.sql
-- Chapter5で使用するデータベース例
CREATE DATABASE IF NOT EXISTS challenge DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE challenge;
CREATE TABLE IF NOT EXISTS member (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
pass_word VARCHAR(255) NOT NULL,
mail VARCHAR(255) NOT NULL UNIQUE
);
CREATE TABLE IF NOT EXISTS learning (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
file VARCHAR(255) NOT NULL,
change_name VARCHAR(255) NOT NULL,
modified DATETIME NOT NULL
);
CREATE TABLE IF NOT EXISTS task (
id INT AUTO_INCREMENT PRIMARY KEY,
member INT NOT NULL,
name VARCHAR(255) NOT NULL,
file VARCHAR(255) NOT NULL,
change_name VARCHAR(255) NOT NULL,
word TEXT,
modified DATETIME NOT NULL,
FOREIGN KEY (member) REFERENCES member(id)
);
パスワードは平文ではなく,password_hash() でハッシュ化して保存します。そのため member.pass_word は VARCHAR(255) としておきます。