insert (Tabloda İstenilen Kolona Yeni Bir Satır Ekleme )
INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …);
**Kolon1, kolon2 .. ifadeleri ekleme yapılacak sütunu ,
**Değer1, değer2 .. ifadeleri bu sütunlara eklenecek değerleri gösterir.
**Sütun ve değer listelerindeki sütunlar ve değerler aynı sırada olmalıdır.
Örnek : Aşağıdaki örneklerde film tablosunun kolonlarına değerler eklemek için
sorgular çalıştırılmıştır.
insert into film (film_id, length, release_year, language_id) values (10004, 115, 2015, 6) ; ERROR: null value in column “title” of relation “film” violates not-null constraint DETAIL: Failing row contains (10004, null, null, 2015, 6, 3, 4.99, 115, 19.99, G, 2022-11-12 15:36:13.187935, null, ).
Sorgu sonucu ekranda dönen mesajda ‘title’ kolonunun not null constraint’e sahip olduğu ve boş geçilemeyeceği belirtilmiştir.
insert into film (film_id , title ,length , release_year , language_id) values (100 , 'film',115 , 2015 , 6) ; ERROR: duplicate key value violates unique constraint “film_pkey” DETAIL: Key (film_id)=(100) already exists.
Sorgu sonucu ekranda dönen mesajda film_id kolonunun unique kısıtına sahip olduğu
ve film_id = 100 değerinin daha önce kullanılmasından dolayı kullanılmayacağı
belirtilmiştir.
insert into film (film_id , title ,length , release_year , language_id) values (10001 , ‘film’,115 , 2015 , 18) ;
Sorgu sonucu ekranda dönen mesajda ‘language_id’ kolonunun ‘language’
tablosunda referanslı bir foreign key kısıtına sahip olduğu belirtilmiştir. Bu sebeple bu
kolona değer eklerken language tablosunda language_id değerleri kontrol edilmeli
ve bu değerlerden biri seçilmelidir.

Tüm bu sorguları düzenleyip hatasız çalışmasını sağlarsak yeni sorgu şu şekilde olur.
insert into film (film_id , title ,length , release_year , language_id) values (10001 , ‘film’, 115 , 2015 , 2);
Tablodaki tarih türündeki (date type) bir kolona tarih değeri eklemek için tarih
‘YYYY-AA-GG’ (‘YYYY-MM-DD’) biçiminde kullanılır.
insert into rental (rental_date , inventory_id , customer_id ,
staff_id) values ('2005-02-15', 80, 25, 2) ;
Eklenen satırın tüm kolonlarını görüntülemek için INSERT komutunun sonuna RETURNING ifadesi eklenir.
insert into rental (rental_date , inventory_id , customer_id , staff_id) values('2005-02-15', 81, 25, 2) returning * ;
Eklenen satırdaki belli bir kolonu görüntülemek için ;
insert into rental (rental_date , inventory_id , customer_id ,
staff_id) values('2005-02-15',82,25,2) returning rental_id as id;
