【SQL】INSERTで列名(カラム)やvaluesの値の省略

このページでは、ORACLEデータベースのSQLで、INSERT文で列名(カラム名)やvaluesの値の指定を省略する方法を紹介しております。

INSERT文のサンプルは↓で多数紹介していますので参考にしてください。
>>【SQL】INSERT文の書き方:サンプル多数あり

INSERTで列名(カラム)を省略する方法

INSERT文では、列名を省略することが出来ます。

通常、INSERT文をコーディングする場合は、INTOの後ろのテーブル名の後に列名を記述します。

次のSQLでは、「~into tab1(col1,col2,col3)~」と、列名をカンマ区切りで並べています。

insert into tab1(col1,col2,col3) values('00001','0000000001',sysdate);

このSQLの列名を省略してみます。
次のSQLでは、「(col1,col2,col3)」と、列名を省略しました。列名を省略する場合は、VALUESで列名に対応する値を全て列挙しておく必要があります。

insert into tab1 values('00001','0000000001',sysdate);

VALUESに指定した値の数やデータ型一致しないとSQLエラーとなりますので注意が必要です。

INSERTでvalues(値の指定)を省略する方法

INSERT文では、VALUESに指定する列の値を省略することが出来ます。

列の値を省略した場合は、列のデフォルト値があればデフォルト値、なければNULL値が登録されます。

通常、INSERT文をコーディングする場合は、VALUESに列名に対応する値を全て指定します。

次のSQLでは、「~values(‘00001′,’0000000001’,sysdate)」と、列にセットする値をカンマ区切りで列挙しています。

insert into tab1(col1,col2,col3) values('00001','0000000001',sysdate);

このSQLで、VALUESの列の値を省略してみます。

次のSQLでは、COL3列に対する列の値を省略しています。列の値を省略する場合は、INTOの後ろの列名も合わせて省略します。

insert into tab1(col1,col2) values('00001','0000000001');

例えば、テーブルの間の列を省略することもできます。
次のSQLでは、2番目のカラムであるCOL2の列を省略しています。

insert into tab1(col1,col3) values('00001',sysdate);

まとめ

INSERTでは列名(カラム名)を省略することが出来ます。省略するときは、全ての列の値を指定しましょう。

さらにVALUES列の値を省略することもできます。列の値を省略するときは、INTOの後ろの列名も合わせて省略します。

この他にも、INSERT文の様々な書き方を解説しております。
詳しくは「【SQL】INSERT文の書き方:サンプル多数あり」で解説しているのでぜひ参考にしてください。