データの格納(INSERT)
MySQLのテーブルにデータを格納するにはINSERT文を使います。
INSERT INTO [テーブル名] (フィールド名A,フィールド名B....) VALUES (フィールドの順番で格納するデータ)
テーブル名の次に指定するフィールド名は、格納するデータの順番がフィールドの順番通りであれば、省略することも可能です。
テーブルを新規に作成して、データを格納してみましょう。
mysql> CREATE TABLE userinfo
-> (
-> id INT UNSIGNED AUTO_INCREMENT NOT NULL,
-> name VARCHAR(100) NOT NULL,
-> email VARCHAR(100) NOT NULL,
-> city VARCHAR(50) NOT NULL,
-> PRIMARY KEY(id)
-> );
Query OK, 0 rows affected (0.00 sec)
DESCRIBE文で、userinfoの情報を確認します。
mysql> DESCRIBE userinfo;
+-------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | | PRI | NULL | auto_increment |
| name | varchar(100) | | | | |
| email | varchar(100) | | | | |
| city | varchar(50) | | | | |
+-------+------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
AUTO_INCREMENT属性を指定したidのフィールドにはNULLを設定することで自動的に1ずつ増加数字を指定することができます。
INSERT文で、userinfoにデータを格納します。
mysql> INSERT INTO userinfo
-> VALUES(NULL,'tamakichi','tamakichi@beam.tld','Tokyo');
Query OK, 1 row affected (0.00 sec)
VALUES()の()の中には、フィールド毎にカンマ『,』で区切り、文字型のデータは『''(シングルクォーテーション)』で囲んで格納します。数字型のデータの場合はシングルクォーテーションで囲む必要はありません。
上の例では、VALUES()の中にフィールドの順番通り、データを格納しているので、テーブルのフィールドを指定する必要はありません。指定する場合は以下の様にします。
mysql> INSERT INTO userinfo (id,city,email,name)
-> VALUES(NULL,'Tokyo','hiropon@beam.ltd','HIROPON');
Query OK, 1 row affected (0.00 sec)
