データベース試作1
- データベースの作成
試しにkomikkomikkoという名前で作ってみる。
mysql> create database komikkomikko; Query OK, 1 row affected (0.01 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | conveni | | komikkomikko | | mysql | | test | +--------------------+ 5 rows in set (0.00 sec)
- データベースの削除
そして消えてもらう。
mysql> drop database komikkomikko; Query OK, 0 rows affected (0.10 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | conveni | | mysql | | test | +--------------------+ 4 rows in set (0.00 sec)
- テーブル作成
mysql> create table conveni( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.01 sec) mysql> show fields from conveni; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(100) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
あ゛、idを主キーにするのを忘れた。。
mysql> alter table conveni add primary key (id); Query OK, 0 rows affected (0.04 sec) Records: 0 Duplicates: 0 Warnings: 0
もう一個こんなテーブルを作成。
+---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | 0 | | | conid | int(11) | YES | | NULL | | | address | varchar(200) | YES | | NULL | | +---------+--------------+------+-----+---------+-------+
store(店舗)テーブルには、conveni(コンビニの種類)を参照するためにconid(コンビニid)をもつので、
mysql> alter table store add foreign key (conid) references conveni (id) on delete cascade on update cascade; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0
で関連付け。
on delete/update cascade は、削除や更新において、
整合性がちゃんと取れるようにつける。