Previous: insert での行の挿入
Up: insert での行の挿入
Next: insertの中のselect文
Previous Page: insert での行の挿入

values を使った新しい行の追加

values句を使って行を追加するには、次のようにすればよい。

例 68: values を使った新しい行の追加

insert into 利用者台帳
	values('999999','丸山','不二夫','0162-33-8177','097','稚内市富岡5-9-1')

ここでvalues句で与えられている6つの定数は、テーブル「利用者台帳」を構成してい る6つの項目に、しかも、順序通りに対応している。

6つの項目すべてを与えなくても、次のように項目名リストをテーブル名につけ加えれ ば、指定した項目だけに値を与えることが出来る。

例 69: 特定の項目に値を与える insert

insert into 利用者台帳(利用者コード,氏名_姓,氏名_名,住所)
	values('999998','雪田','修一','稚内市富岡2-3-6')

insert into 利用者台帳(利用者コード,氏名_名,郵便番号) values('999997','龍男','097')

insert into 利用者台帳(利用者コード,氏名_姓,住所) values('999996','北星','稚内市若葉台')

こうした時、selectで、このテーブルの内容を表示させれば次のような出力が得られる であろう。

select *
	from   利用者台帳

-------- ------ -------- -------------- ----- ---------------------- 999999 丸山 不二夫 0162-33-8177 097 稚内市富岡5-9-1 999998 雪田 修一 null null 稚内市富岡2-3-6 999997 null 龍男 null 097 null 999996 北星 null null null 稚内市若葉台

values句で指定されなかった項目では、デフォールト値(この例ではnull)が置かれて いることがわかる。 ここで、任意の項目を指定してうまく行くわけではないことに注意されたい。次の例 では、insertに失敗する。

例 70: 項目の指定によっては insert に失敗する

insert into 利用者台帳(氏名_姓,氏名_名)
	values('姫宮','利融')

実際には、指定した項目がまずい訳ではなく、「利用者コード」を指定しなかったこと が失敗の原因である。なぜなら、そのために、「利用者コード」という項目に、nullを 設定しようとしたが、この項目では、nullの指定が許されていなかったからである。

例 71: 今度は insert に成功する。

insert into 利用者台帳(利用者コード,氏名_姓,氏名_名)
	values('999995','姫宮','利融')

どの様な項目にnullが許されないかの議論は、ここでは省略したい。

maruyama@wakhok.ac.jp
1995年02月10日 (金) 00時49分16秒 JST