デフォルト値とは、フィールドに何も値が指定されなかった場合、自動的にセットされる値である。
今回は、既存のテーブルにデフォルト値を指定する方法をご紹介しよう。
まずは、mysqlクライアントを起動しよう。
PS C:\Users\vinta> mysql -u root -p
Enter password: *****
続いて、basicデータベースに移動しよう。
mysql> USE basic;
Database changed
デフォルト値を設定しよう
usrテーブルのunameフィールドに対して、デフォルト値「GUEST」を設定しよう。
以下の通り入力しよう。
mysql> ALTER TABLE usr
-> ALTER uname SET DEFAULT 'GUEST';
以下の通り「Query OK,・・」と表示されれば成功である。
mysql> ALTER TABLE usr
-> ALTER uname SET DEFAULT 'GUEST';
Query OK, 0 rows affected (0.27 sec)
Records: 0 Duplicates: 0 Warnings: 0
フィールド情報を確認しよう
usrテーブルのフィールド情報を確認しよう。
以下の通り入力しよう。
mysql> SHOW FIELDS FROM usr;
以下の通りフィールド情報の一覧が表示される。
mysql> SHOW FIELDS FROM usr;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| uid | varchar(7) | NO | PRI | NULL | |
| passwd | varchar(15) | NO | | NULL | |
| uname | varchar(20) | NO | | GUEST | |
| family | int | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.12 sec)
Default欄に「GUEST」と表示されれば成功である。
レコードを登録しよう
usrテーブルにレコードを追加しよう。
以下の通り入力しよう。
INSERT INTO usr (uid,passwd,family)
-> VALUES ('msugita','45321',3);
以下の通り「Query OK,・・」と表示されれば成功である。
mysql> INSERT INTO usr (uid,passwd,family)
-> VALUES ('msugita','45321',3);
Query OK, 1 row affected (0.08 sec)
テーブルの内容を確認しよう
usrテーブルの内容を確認しよう。
以下の通り、入力しよう。
SELECT * FROM usr;
以下の通り、uname フィールド情に「GUEST」と表示されれば成功である。
mysql> SELECT * FROM usr;
+---------+--------+----------+--------+
| uid | passwd | uname | family |
+---------+--------+----------+--------+
| esato | 14680 | 佐藤栄一 | 1 |
| mharada | 01230 | 原田雅彦 | 3 |
| msugita | 45321 | GUEST | 3 |
| sinoue | 22560 | 井上昌己 | 4 |
| ssuzuki | 98765 | 鈴木昭一 | 4 |
| tyamada | 12345 | 山田太郎 | 3 |
+---------+--------+----------+--------+
6 rows in set (0.02 sec)
今回は、ここまでである。mysqlクライアントを終了しよう。
mysql> exit
Bye
PS C:\Users\vinta>
(参考)3ステップでしっかり学ぶ MySQL入門 [改訂第3版] 山田奈美(著)山田祥寛(監修)技術評論社
コメント