LoginSignup
1
0

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-10-16

備忘録のため作成。
長いので 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)
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0