第4回 データの登録と参照を覚えよう - MySQL講座

PHP基礎編

サカイ先生のMySQL講座

Lecutures on PHP

第4回 データの登録と参照を覚えよう (その2)

 このエントリーをはてなブックマークに追加

データの登録 ~ INSERT

サカイ先生

 それではマニュアルのたどり方を覚えたところで、SQL文を学んでいきましょう。最初は登録処理(INSERT)です。

 まず INSERT 文についてのマニュアルを参照してみます。図6のもくじに INSERT という節がありますね。そう、図6では 11.2.4 節と表示されているものです。ではこれをクリックしてください。念のため直接このページに行くためのリンクも掲載しておきます(マニュアルの辿り方を覚えたあなたには、こんな直接リンクのURLなんて不要ですね!)。

※ INSERT文のマニュアルのURL
http://dev.mysql.com/doc/refman/5.0/en/insert.html

 そのページを見ると、INSERT文について3つの構文が書いてあります。その中のひとつがこんな感じ。

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

 ちょっと複雑だと思いますので、この中から最低限覚えておきたい構文を以下に紹介します。

おぼえておこう INSERT この形式で
INSERT INTO テーブル名 [(列名, 列名, ...)]
VALUES (, , ...), (...), ...

※ [ ] 内は省略可能。 .,. は複数件続くことがある、の意。

では実際にデータを入れていくために、前回作った kohaku テーブルを一旦からっぽにしておきましょう。以下のコマンドを mysql> プロンプトで入力します。ここでは一旦テーブルそのものを破棄してから再度作り直すことで、からっぽのテーブルを用意しています。

DROP TABLE kohaku;
CREATE TABLE kohaku (
    no         INT NOT NULL PRIMARY KEY,
    year       INT,
    aka_tori   VARCHAR(32),
    shiro_tori VARCHAR(32),
    winner     VARCHAR(2)
);

 今回もこのテーブルに図7のデータを入れていきます。

●図7「NHK紅白歌合戦のトリ歌手と勝利チーム」のデータ

 では INSERT 文の各形式を簡単な形から積み上げ式で覚えていきましょう。

一番シンプルな形は、こうです。

INSERT INTO テーブル名 VALUES (, , ...)

 この形式はテーブルのカラム名を指定しない形式です。 VALUES の後ろに全カラムの値を与える場合は、カラム名を明記しないこの形式で INSERT をすることができます。実際にデータを登録してみましょう。

INSERT INTO kohaku VALUES (52, 2001, "和田アキ子", "北島三郎", "白");

 複数件のデータを一発で登録することもできます。以下の形式です。

INSERT INTO テーブル名
VALUES (, , ...), (, , ...) ...

 2行に分かれていますが、改行は気にしなくて良いのでしたね。この形式は、VALUES の後ろの値のセットが複数ある形式です。これも実際のデータ登録で見てみましょう。以下の例は5件のデータをいっぺんに登録しています。1件ずつ5回に分けて登録する場合に比べて、一般に高速に登録できるメリットもあります。もっとも、この程度の件数ではさほど差はありませんが。

INSERT INTO kohaku 
VALUES (53, 2002, "石川さゆり", "五木ひろし", "紅"),
       (54, 2003, "天童よしみ", "SMAP",       "白"),
       (55, 2004, "小林幸子",   "五木ひろし", "紅"),
       (56, 2005, "天童よしみ", "SMAP",       "白"),
       (57, 2006, "川中美幸",  "北島三郎",    "白");

 そして最後に紹介するのが列名を指定する形式です。

INSERT INTO テーブル名 (列名, 列名, ...) VALUES (, , ...)

 これも実際にデータを登録してみます。

INSERT INTO kohaku (no, year, aka_tori, shiro_tori, winner) 
VALUES (58, 2007, "石川さゆり", "五木ひろし", "白");

 カラム名を明示する場合は登録したいカラムだけを指定することもできます。2008年もおそらく(大波乱が起こらなければ)紅白は開催されるでしょうが、当然まだトリも勝利チームも決まっていません。いま決まっている「回数」と「年」だけを登録しておくには以下のようにします。

INSERT INTO kohaku (no, year) VALUES (59, 2008);

  



Pick Up Q&A

Q
動的なURLを静的に見せる方法
 このエントリーをはてなブックマークに追加 
A
普通に考えて、mod_rewrite でしょうね。 http://www.nishishi.com/blog/2006/01/mod_rewrite_url.html...

>>続きを読む

GETのままでは検索エンジンのロボットが拾ってくれなかったためにSEO対策として有効だと言われていますね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)