GUI、CUIでテーブルを作成

GUIでの作成

MySQLWorkbenchでのテーブル作成方法
以下のテーブルを作成する

id(主キー) name adress
1 meo1 xxx-ttt
2 meo2 xxx-yyy
3 meo3 xxx-uuu
id(主キー) name manufacture price
1 meo1 〇〇工場 1000
2 meo2 〇〇工場 222
3 meo3 〇〇工場 900
id(主キー) order_no item_id(外部キー) quantity user_id(外部キー) buy_date
1 0001 1 2 1 2022/08/21
2 0002 2 4 2 2022/08/22
3 0003 3 44 3 2022/08/23
4 0004 1 5 3 2022/8/24
5 0004 5 5 9 2022/8/24

SchemasタブのTablesを右クリックしCreate Tableを押す
Nameにテーブル名をいれてColumnは小文字で定義する

カラムに設定できるオプション

  • PK(Primary Key) プライマリキー、同じフィールド内では値が一意
  • NN(not null)(nullを許容するか?id=nullはあってはならない)
  • UQ(Unique index) ユニーク同じデータ2つを許容するか?
  • ZF ゼロ埋め
  • UN(Unsigned Data Type) マイナスを付けたくない場合
  • AI(Auto Incremental) フィールドが整数型の場合、レコードが挿入される度に+1ずつ値が加算

データタイプ

  • INT 数値
  • VARCHAR(45)文字(文字数)

Apply押すとSQLが発行される

$ CREATE TABLE `demo`.`db_exe` (`id` INT NOT NULL AUTO_INCREMENT,`name` VARCHAR(45) NOT NULL,`address'VARCHAR(45) NOT NULL,PRIMARY KEY (`id`));

CUIで作成

テーブルまで移動する

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)

mysql> use demo
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;
+--------------------+
| Tables_in_demo     |
+--------------------+
| db_ex_item         |
| db_ex_order_detail |
| db_ex_user         |
| inquiry            |
| inquiry3           |
| item               |
+--------------------+
6 rows in set (0.00 sec)

CREATEする

mysql> CREATE TABLE `demo`.`dx_ex_order_detail` (`id` INT NOT NULL AUTO_INCREMENT,`order_no` INT NOT NULL,`item_id` INT NOT NULL,`quantity` INT NOT NULL,`user_id` INT NOT NULL,`buy_date` DATETIME NOT NULL,PRIMARY KEY (`id`));
Query OK, 0 rows affected (0.05 sec)

mysql> show tables;
+---------------------+
| Tables_in_demo      |
+---------------------+
| db_ex_item          |
| db_ex_order_detail  |
| db_ex_user          |
| dx_ex_order_detail2 |
| inquiry             |
| inquiry3            |
| item                |
+---------------------+
7 rows in set (0.01 sec)