備忘録のため作成。
長いので 3部構成にしています。ここではDB作成について説明します。
以下は続きです。
SQL ~ DB 作成から基本操作、テーブルの結合まで ~ 基本操作編
SQL ~ DB 作成から基本操作、テーブルの結合まで ~ テーブルの結合編
環境
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)