0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

メモ⑥-テーブルへのDDL処理(CREATE)-

Posted at

~テーブルへの処理
【CREATE】
以下のように入力し、テーブルを生成する。

テーブルを追加したいDBに切り替えておく↓
MariaDB [world]> use company;
Database changed

テーブル内の情報を入力していく↓
MariaDB [company]> CREATE TABLE tbl_employee2(
-> code INTEGER, ←フィールド名と変数を指定している
-> name VARCHAR(40),
-> birthday DATETIME,
-> dpt_code INTEGER,
-> post_code INTEGER,
-> manager INTEGER
-> )
-> ;
Query OK, 0 rows affected (0.015 sec)

確認すると…
MariaDB [company]> DESC TBL_EMPLOYEE2;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| code | int(11) | YES | | NULL | |←テーブルが生成されている
| name | varchar(40) | YES | | NULL | | (ただしキーやNullの指定はまだできていない)
| birthday | datetime | YES | | NULL | |
| dpt_code | int(11) | YES | | NULL | |
| post_code | int(11) | YES | | NULL | |
| manager | int(11) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
6 rows in set (0.014 sec)

また、Nullを許さない(文字の空白を認めない)項目を設定したい場合、
以下のような形で入力する。

MariaDB [company]> CREATE TABLE tbl_employee3(
-> code INTEGER NOT NULL, ←変数名の直後に、「NOT NULL」と
-> name VARCHAR(40) NOT NULL, ←追記することで設定ができる。
-> birthday DATETIME,
-> dpt_code INTEGER,
-> post_code INTEGER,
-> manager INTEGER)
-> ;
Query OK, 0 rows affected (0.015 sec)

この形で生成したテーブルを確認すると…
MariaDB [company]> desc tbl_employee3;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| code | int(11) | NO | | NULL | |←Nullの項目が
| name | varchar(40) | NO | | NULL | |←NOになっている
| birthday | datetime | YES | | NULL | |
| dpt_code | int(11) | YES | | NULL | |
| post_code | int(11) | YES | | NULL | |
| manager | int(11) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
6 rows in set (0.023 sec)

次に、初期値(Default)の異なるテーブルを生成したい場合、
以下のような形で入力する。↓
MariaDB [company]> CREATE TABLE tbl_employee4(
-> code INTEGER NOT NULL DEFAULT 101, ←上記に加えて
-> name VARCHAR(40) NOT NULL DEFAULT "伊藤英樹",  デフォルト値を追記している。
-> birthday DATETIME DEFAULT "1972-02-01",
-> dpt_code INTEGER DEFAULT 10,
-> post_code INTEGER DEFAULT 1,
-> manager INTEGER)
-> ;
Query OK, 0 rows affected (0.015 sec)

MariaDB [company]> desc tbl_employee4;
+-----------+-------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------------------+-------+
| code | int(11) | NO | | 101 | |
| name | varchar(40) | NO | | 伊藤英樹 | |
| birthday | datetime | YES | | 1972-02-01 00:00:00 | |
| dpt_code | int(11) | YES | | 10 | |
| post_code | int(11) | YES | | 1 | |
| manager | int(11) | YES | | NULL | |
+-----------+-------------+------+-----+---------------------+-------+
6 rows in set (0.011 sec) ↑デフォルト値が設定された

試しに、データを一人分入力し、
確認してみる。↓
MariaDB [company]> INSERT INTO tbl_employee4 (manager) VALUES (1);
Query OK, 1 row affected (0.002 sec)

確認すると…
MariaDB [company]> SELECT * FROM tbl_employee4;
+------+----------+---------------------+----------+-----------+---------+
| code | name | birthday | dpt_code | post_code | manager |
+------+----------+---------------------+----------+-----------+---------+
| 101 | 伊藤英樹 | 1972-02-01 00:00:00 | 10 | 1 | 1 |←初期値の状態で一人分
+------+----------+---------------------+----------+-----------+---------+ データが追加されている。
1 row in set (0.000 sec)

・・・メモ⑦へ続く

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?