SQL ~ DB 作成から基本操作、テーブルの結合まで ~ DB 作成編

備忘録のため作成。
長いので 3部構成にしています。ここではDB作成について説明します。

以下は続きです。
[SQL ~ DB 作成から基本操作、テーブルの結合まで ~ 基本操作編](https://qiita.com/kouhei_wuo_0825/items/93bf9867bd76114f01a9)
[SQL ~ DB 作成から基本操作、テーブルの結合まで ~ テーブルの結合編](https://qiita.com/kouhei_wuo_0825/items/487dc5ababdedac583e5)

## 環境
mysql  Ver 8.0.21 for osx10.15 on x86_64 (Homebrew)

## DB基本操作
### DB 作成
```
mysql> create database Goods_management;
Query OK, 1 row affected (0.01 sec)
```
### DB 確認
```
mysql> show databases;
+-------------------------------+
| Database                      |
+-------------------------------+
| Goods_management              |
| hello_world_rails_development |
| hello_world_rails_test        |
| information_schema            |
| line_todo_list_development    |
| line_todo_list_test           |
| mysql                         |
| performance_schema            |
| sys                           |
+-------------------------------+
9 rows in set (0.00 sec)
```
### DB 削除
```
mysql> DROP DATABASE Goods_manegement;
Query OK, 0 rows affected (0.06 sec)

mysql> show databases;
+-------------------------------+
| Database                      |
+-------------------------------+
| hello_world_rails_development |
| hello_world_rails_test        |
| information_schema            |
| line_todo_list_development    |
| line_todo_list_test           |
| mysql                         |
| performance_schema            |
| sys                           |
+-------------------------------+
8 rows in set (0.00 sec)
```
### 使用する DB の選択
```
mysql> use Goods_management
Database changed
```

### テーブル一覧の表示
```
mysql> show tables;
Empty set (0.00 sec)
```

### テーブル作成
```
mysql> create table Goods_management.wheelchair (
    ->     id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
    ->     name VARCHAR(50),
    ->     type VARCHAR(50) NOT NULL,
    ->     money INT ,
    ->     purchase VARCHAR(50),
    ->     floor_id INT,
    ->     occupant_id INT,
    ->     created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
    ->  );
```
wheelchair(車椅子)テーブル作成  
6つのカラム作成  
- id
- name(名前)
- type(種類)
- money(金額)
- purchase(購入日)
- floor_id(リレーション用)
- occupant_id(リレーション用)
- created_at(登録日)

### それぞれのカラム内容
#### id
- カラム名：id
- データ型：INT
- AUTO_INCREMENT：自動的に値が1ずつ増えていく設定
- NOT NULL：空データを許さない設定
- PRIMARY KEY：データ（レコード）を一意に特定するためのカラムを決めるもので、1つのテーブルに必ず1つは必要

#### name
- カラム名：name
- データ型：VARCHAR(50)

#### type
- カラム名：name
- データ型：VARCHAR(50)
- NOT NULL：空データを許さない設定

#### money
- カラム名：money
- データ型：INT

#### purchase
- カラム名：purchase
- データ型：VARCHAR(50)

#### floor_id
- カラム名：floor_id
- データ型：INT

#### occupant_id
- カラム名：occupant_id
- データ型：INT

#### created_at
- カラム名：created_at
- データ型：TIMESTAMP
- NOT NULL：空データを許さない設定
- DEFAULT CURRENT_TIMESTAMP：現在日時を保存する

#### 登録したテーブル内容確認
```
mysql> describe wheelchair;
+-------------+-------------+------+-----+-------------------+-------------------+
| Field       | Type        | Null | Key | Default           | Extra             |
+-------------+-------------+------+-----+-------------------+-------------------+
| id          | int         | NO   | PRI | NULL              | auto_increment    |
| name        | varchar(50) | YES  |     | NULL              |                   |
| type        | varchar(50) | NO   |     | NULL              |                   |
| money       | int         | YES  |     | NULL              |                   |
| purchase    | varchar(50) | YES  |     | NULL              |                   |
| floor_id    | int         | YES  |     | NULL              |                   |
| occupant_id | int         | YES  |     | NULL              |                   |
| created_at  | timestamp   | NO   |     | CURRENT_TIMESTAMP | DEFAULT_GENERATED |
+-------------+-------------+------+-----+-------------------+-------------------+
8 rows in set (0.01 sec)
```