Sisipkan Baris jika Nilai Belum Ada di Postgresl

Insert Row If Values Don T Already Exist Postgresl



Mengetahui dan memanipulasi sistem manajemen basis data telah membuat kita terbiasa dengan perubahan tentang basis data. Yang biasanya melibatkan membuat, menyisipkan, memperbarui, dan menghapus fungsi yang diterapkan pada tabel tertentu. Pada artikel saat ini, kita akan melihat bagaimana data dikelola dengan metode penyisipan. Kita harus membuat tabel di mana kita ingin penyisipan. Insert statement digunakan untuk penambahan data baru pada baris tabel. Pernyataan sisipan PostgreSQL mencakup beberapa aturan untuk keberhasilan eksekusi kueri. Pertama kita harus menyebutkan nama tabel diikuti dengan nama kolom (atribut) tempat kita ingin menyisipkan baris. Kedua, kita harus memasukkan nilai, dipisahkan dengan koma setelah klausa VALUE. Akhirnya, setiap nilai harus dalam urutan yang sama dengan urutan daftar atribut yang diberikan saat membuat tabel tertentu.

Sintaksis

>> MEMASUKKAN KE DALAMNAMA TABEL(kolom1,kolom) NILAI ('nilai1', 'nilai2');

Di sini, kolom adalah atribut dari tabel. Kata kunci VALUE digunakan untuk memasukkan nilai. 'Nilai' adalah data tabel yang akan dimasukkan.







Memasukkan fungsi baris di shell PostgreSQL (psql)

Setelah instalasi postgresql berhasil, kita akan memasukkan nama database, nomor port, dan kata sandi. Psql akan dimulai. Kami kemudian akan melakukan query masing-masing.





Contoh 1: Menggunakan INSERT untuk menambahkan catatan baru ke tabel
Mengikuti sintaks, kami akan membuat kueri berikut. Untuk menyisipkan baris dalam tabel, kita akan membuat tabel bernama pelanggan. Tabel masing-masing berisi 3 kolom. Tipe data kolom tertentu harus disebutkan untuk memasukkan data dalam kolom tersebut dan untuk menghindari redundansi. Query untuk membuat tabel adalah:





>> membuat mejapelanggan(Indoke dalam,nama varchar (40), negaravarchar (40));

Setelah membuat tabel, sekarang kita akan memasukkan data dengan menyisipkan baris secara manual di kueri terpisah. Pertama, kami menyebutkan nama kolom untuk menjaga keakuratan data pada kolom tertentu mengenai atribut. Dan kemudian, nilai akan dimasukkan. Nilai dikodekan dengan koma tunggal, karena akan disisipkan tanpa perubahan apa pun.



>> memasukkan ke dalampelanggan(Indo,nama, negara) nilai-nilai ('1','Alia', 'Pakistan');

Setelah setiap penyisipan berhasil, output akan menjadi 0 1, yang berarti bahwa 1 baris dimasukkan pada suatu waktu. Dalam kueri seperti yang disebutkan sebelumnya, kami telah memasukkan data sebanyak 4 kali. Untuk melihat hasilnya, kita akan menggunakan query berikut:

>> Pilih*daripelanggan;

Contoh 2: Menggunakan pernyataan INSERT dalam menambahkan beberapa baris dalam satu kueri
Pendekatan yang sama digunakan dalam memasukkan data tetapi tidak memasukkan pernyataan penyisipan berkali-kali. Kami akan memasukkan data sekaligus dengan menggunakan kueri tertentu; semua nilai dari satu baris dipisahkan oleh Dengan menggunakan kueri berikut, kami akan mencapai output yang diperlukan

Contoh 3: MASUKKAN beberapa baris dalam satu tabel berdasarkan angka di tabel lain
Contoh ini berkaitan dengan penyisipan data dari satu tabel ke tabel lainnya. Perhatikan dua tabel, a dan b. Tabel a memiliki 2 atribut yaitu nama dan kelas. Dengan menerapkan kueri CREATE, kami akan memperkenalkan tabel. Setelah tabel dibuat, data akan dimasukkan dengan menggunakan query insert.

>> membuat mejake(nama varchar (30),kelas varchar (40));
>> Memasukkan ke dalamkenilai-nilai ('Amna',1),(‘bisma’,’2'),('javed','3'),('Turun',4');

Empat nilai dimasukkan ke dalam tabel menggunakan teori melebihi. Kita dapat memeriksa dengan menggunakan pernyataan pilih.

Demikian pula, kita akan membuat tabel b, memiliki atribut dari semua nama dan subjek. 2 kueri yang sama akan diterapkan untuk menyisipkan dan mengambil rekaman dari tabel terkait.

>> membuat mejaB(semua nama varchar(30), subjek varchar(70));

Ambil catatan dengan teori pilih.

>> Pilih*dariB;

Untuk menyisipkan nilai tabel B dalam tabel, kita akan menggunakan kueri berikut. Kueri ini akan bekerja sedemikian rupa sehingga semua nama dalam tabel B akan dimasukkan ke dalam tabel ke dengan penghitungan angka yang menunjukkan jumlah kemunculan angka tertentu di kolom masing-masing tabel B . b.allnames mewakili fungsi objek untuk menentukan tabel. Fungsi Count (b.allnames) berfungsi untuk menghitung total kejadian. Karena setiap nama muncul sekaligus, kolom yang dihasilkan akan memiliki 1 nomor.

>> Memasukkan ke dalamke(nama,kelas) Pilihb.nama lengkap, hitung(b.nama lengkap) dariBkelompok olehb.nama lengkap;

Contoh 4: MASUKKAN data dalam baris jika tidak ada
Kueri ini digunakan untuk memasukkan baris jika tidak ada. Pertama, kueri yang disediakan memeriksa apakah baris sudah ada atau tidak. Jika sudah ada, maka data tidak ditambahkan. Dan jika data tidak ada berturut-turut, penyisipan baru akan diadakan. Di sini tmp adalah variabel sementara yang digunakan untuk menyimpan data selama beberapa waktu.

>> memasukkan ke dalamB(semua nama, subjek) Pilih*dari (Pilih'Kinza'sebagaisemua nama, 'islam'sebagaisubjek) sebagaitmpdi mana bukan ada ( Pilihsemua namadariBdi manasemua nama='Sunda'membatasi 1);

Contoh 5: PostgreSQL Upsert Menggunakan Pernyataan INSERT
Fungsi ini memiliki dua jenis:

  • Pembaruan: jika terjadi konflik, jika record cocok dengan data yang ada di tabel, maka akan diupdate dengan data baru.
  • Jika terjadi konflik, jangan lakukan apa-apa : Jika record cocok dengan data yang ada di tabel, record akan dilompati, atau jika ditemukan kesalahan, juga diabaikan.

Awalnya, kami akan membentuk tabel dengan beberapa data sampel.

>> MEMBUAT MEJAtbl2(IndoINT UTAMA KUNCI,Nama KARAKTER BERVARIASI);

Setelah membuat tabel kita akan memasukkan data di tbl2 dengan menggunakan query:

>> MEMASUKKAN KE DALAMtbl2NILAI (1,'uzma'),(2,'abdul'),(3,'Hamna'),(4,'fatimah'),(5,'shiza'),(6,'javeria');

Jika terjadi konflik, Perbarui:

>>MEMASUKKAN KE DALAMtbl2NILAI (8,'Mengendarai') PADAKONFLIK(Indo) MELAKUKAN MEMPERBARUI MENGATUR Nama=Pengecualian.Nama;

Pertama, kita akan memasukkan data menggunakan query konflik id 8 dan nama Rida. Kueri yang sama akan digunakan mengikuti id yang sama; namanya akan diganti. Sekarang Anda akan melihat bagaimana nama akan diubah pada id yang sama di tabel.

>> MEMASUKKAN KE DALAMtbl2NILAI (8,'Kerja') PADAKONFLIK(Indo) MELAKUKAN MEMPERBARUI MENGATUR Nama =Pengecualian.Nama;

Kami telah menemukan bahwa ada konflik pada id 8, sehingga baris yang ditentukan diperbarui.

Jika terjadi konflik, jangan lakukan apa-apa

>> MEMASUKKAN KE DALAMtbl2NILAI (9,'Hira') PADAKONFLIK(Indo) MELAKUKAN TIDAK ADA APA-APA;

Menggunakan kueri ini, baris baru dimasukkan. Setelah itu, kita akan menggunakan jika query yang sama untuk melihat konflik yang terjadi.

>>MEMASUKKAN KE DALAMtbl2NILAI (9,'Hira') PADAKONFLIK(Indo) MELAKUKAN TIDAK ADA APA-APA;

Menurut gambar di atas, Anda akan melihat bahwa setelah eksekusi query INSERT 0 0 menunjukkan tidak ada data yang dimasukkan.

Kesimpulan

Kami telah melihat sekilas pemahaman konsep penyisipan baris dalam tabel di mana data tidak ada, atau penyisipan tidak selesai, jika ada catatan yang ditemukan, untuk mengurangi redundansi dalam hubungan database.