MySQLのきほん「デフォルト値」

スポンサーリンク
person s hand on laptop MySQL
Photo by Pixabay on Pexels.com

デフォルト値とは、フィールドに何も値が指定されなかった場合、自動的にセットされる値である。

今回は、既存のテーブルにデフォルト値を指定する方法をご紹介しよう。

まずは、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版]  山田奈美(著)山田祥寛(監修)技術評論社

コメント

タイトルとURLをコピーしました