データベース試作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 は、削除や更新において、
整合性がちゃんと取れるようにつける。