SQLite | データ変更 | INSERTによるデータ追加
全列へ値を追加する
INSERT INTO table_name VALUES (value1, value2, ...);
テーブルの列数と同じ数の値を、列の定義順に指定する。
create table user (id integer, name text, old integer, address text);
insert into user values (1, 'devkuma', 25, 'Seoul');
insert into user values (3, 'kimkc', 32, 'Daejeon');
insert into user values (5, 'ariakuma', 27, 'Busan');
insert into user values (6, 'happykuma', 20, 'Gwangju');
この4列のテーブルに3つだけ値を指定すると、列数不一致のエラーになる。
指定した列へ追加する
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
省略した列には宣言済みのデフォルト値が入り、デフォルトがなければNULLになる。
create table user (id integer, name text, address text default 'no value');
insert into user (id, name, address) values (1, 'devkuma', 'Seoul');
insert into user (id, name) values (2, 'Busan');
insert into user (id, address) values (3, 'araikuma');
2行目の住所はno value、3行目の名前はNULLとなる。列の記述順は自由だが、定義順に合わせると読みやすい。
デフォルト値だけを追加する
INSERT INTO table_name DEFAULT VALUES;
前のテーブルではidとnameがNULL、addressがno valueになる。
複数行を追加する
create table user (id integer, name text, old integer);
insert into user values
(1, 'devkuma', 25),
(3, 'kimkc', 32),
(5, 'ariakuma', 27);
一つの文で複数行を追加すると、データベースへの往復回数を減らせる。