PostgreSQL

Masukkan Baris jika Nilai Belum Ada di Postgresl

Masukkan Baris jika Nilai Belum Ada di Postgresl

Mengetahui dan memanipulasi sistem pengurusan pangkalan data telah membuat kita biasa dengan perubahan mengenai pangkalan data. Yang biasanya melibatkan membuat, memasukkan, mengemas kini dan menghapus fungsi yang diterapkan pada jadual tertentu. Dalam artikel semasa, kita akan melihat bagaimana data dikendalikan dengan kaedah penyisipan. Kita mesti membuat jadual di mana kita mahu penyisipan. Insert statement digunakan untuk penambahan data baru dalam baris jadual. Penyataan sisipan PostgreSQL merangkumi beberapa peraturan untuk kejayaan pelaksanaan pertanyaan. Pertama kita harus menyebut nama jadual diikuti dengan nama lajur (atribut) di mana kita mahu memasukkan baris. Kedua, kita mesti memasukkan nilai, dipisahkan dengan koma selepas klausa NILAI. Akhirnya, setiap nilai mesti berada dalam urutan yang sama dengan urutan senarai atribut yang disediakan semasa membuat jadual tertentu.

Sintaks

>> MASUKKAN KE DALAM TABLENAME (lajur1, lajur) NILAI ('nilai1', 'nilai2');

Di sini, lajur adalah atribut jadual. Kata kunci NILAI digunakan untuk memasukkan nilai. 'Nilai' adalah data jadual yang akan dimasukkan.

Memasukkan fungsi baris dalam shell PostgreSQL (psql)

Setelah berjaya memasang postgresql, kami akan memasukkan nama pangkalan data, nombor port, dan kata laluan. Psql akan dimulakan. Kami kemudian akan melakukan pertanyaan masing-masing.

Contoh 1: Menggunakan INSERT untuk menambahkan rekod baru ke jadual
Mengikuti sintaks, kami akan membuat pertanyaan berikut. Untuk memasukkan baris dalam jadual, kami akan membuat tabel bernama "pelanggan". Jadual masing-masing mengandungi 3 lajur. Jenis data lajur tertentu harus disebutkan untuk memasukkan data di lajur itu dan untuk mengelakkan kelebihan. Pertanyaan untuk membuat jadual adalah:

>> buat pelanggan meja (id int, nama varchar (40), negara varchar (40));

Setelah membuat jadual, kita sekarang akan memasukkan data dengan memasukkan baris secara manual dalam pertanyaan yang berasingan. Pertama, kami menyebut nama lajur untuk mengekalkan ketepatan data pada lajur tertentu mengenai atribut. Kemudian, nilai akan dimasukkan. Nilai dikod oleh koma tunggal, kerana ia akan dimasukkan tanpa perubahan.

>> masukkan ke dalam nilai pelanggan (id, nama, negara) ('1', 'Alia', 'Pakistan');

Setelah setiap penyisipan berjaya, output akan menjadi "0 1", yang bermaksud bahawa 1 baris dimasukkan pada satu masa. Dalam pertanyaan seperti yang disebutkan sebelumnya, kami telah memasukkan data sebanyak 4 kali. Untuk melihat hasilnya, kami akan menggunakan pertanyaan berikut:

>> pilih * dari pelanggan;

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

Contoh 3: MASUKKAN beberapa baris dalam satu jadual berdasarkan nombor dalam jadual yang lain
Contoh ini berkaitan dengan penyisipan data dari satu jadual ke jadual yang lain. Pertimbangkan dua jadual, "a" dan "b". Jadual "a" mempunyai 2 atribut, i.e., nama dan kelas. Dengan menerapkan pertanyaan CREATE, kami akan memperkenalkan jadual. Setelah pembuatan jadual, data akan dimasukkan dengan menggunakan sisipan pertanyaan.

>> buat jadual a (nama varchar (30), kelas varchar (40));
>> Masukkan ke dalam nilai ('amna', 1), ('bisma', '2'), ('javed', '3'), ('maha', '4');

Empat nilai dimasukkan ke dalam jadual menggunakan teori melebihi.  Kita boleh periksa dengan menggunakan pernyataan terpilih.

Begitu juga, kita akan membuat jadual "b," yang mempunyai atribut semua nama dan subjek. 2 pertanyaan yang sama akan digunakan untuk memasukkan dan mengambil rekod dari jadual yang sesuai.

>> buat jadual b (nama semua varchar (30), subjek varchar (70));

Ambil rekod dengan memilih teori.

>> pilih * dari b;

Untuk memasukkan nilai jadual b dalam jadual, kami akan menggunakan pertanyaan berikut. Pertanyaan ini akan berfungsi sedemikian rupa sehingga semua nama dalam jadual b akan dimasukkan ke dalam jadual a dengan pengiraan nombor yang menunjukkan bilangan kejadian nombor tertentu pada lajur jadual masing-masing b. B.allnames ”mewakili fungsi objek untuk menentukan jadual. Kira (b.fungsi allnames) berfungsi untuk mengira jumlah kejadian. Oleh kerana setiap nama berlaku sekaligus, lajur yang dihasilkan akan mempunyai 1 nombor.

>> Masukkan ke dalam (nama, kelas) pilih b.semua nama, kiraan (b.nama semua) dari kumpulan b oleh b.nama semua;

Contoh 4: MASUKKAN data dalam baris jika tidak ada
Pertanyaan ini digunakan untuk memasukkan baris jika tidak ada. Pertama, pertanyaan yang disediakan memeriksa sama ada baris sudah ada atau tidak. Sekiranya sudah ada, maka data tidak akan ditambahkan. Dan jika data tidak hadir berturut-turut, penyisipan baru akan diadakan. Di sini tmp adalah pemboleh ubah sementara yang digunakan untuk menyimpan data untuk beberapa waktu.

>> masukkan ke dalam b (nama semua, subjek) pilih * dari (pilih 'Kinza' sebagai nama semua, 'islamiat' sebagai subjek) sebagai tmp di mana tidak ada (pilih semua nama dari b di mana had semua nama = 'sundus' 1);

Contoh 5: PostgreSQL Upsert Menggunakan Penyataan INSERT
Fungsi ini mempunyai dua jenis:

Pada mulanya, kami akan membentuk jadual dengan beberapa sampel data.

>> BUAT TABLE tbl2 (ID INT PRIMARY KEY, Name CHARACTER VARYING);

Setelah membuat jadual, kami akan memasukkan data dalam tbl2 dengan menggunakan pertanyaan:

>> MASUKKAN NILAI tbl2 (1, 'uzma'), (2, 'abdul'), (3, 'Hamna'), (4, 'fatima'), (5, 'shiza'), (6, ' javeria ');

Sekiranya konflik berlaku, Kemas kini:

>> MASUKKAN NILAI tbl2 (8, 'Rida') PADA KONFLIK (ID) LAKUKAN SET SET Nama = Tidak termasuk.Nama;

Pada mulanya, kami akan memasukkan data menggunakan pertanyaan konflik id 8 dan nama Rida. Pertanyaan yang sama akan digunakan mengikuti id yang sama; nama akan ditukar. Sekarang anda akan melihat bagaimana nama akan ditukar pada id yang sama dalam jadual.

>> MASUKKAN NILAI tbl2 (8, 'Mahi') PADA KONFLIK (ID) LAKUKAN SET SET.Nama;

Kami mendapati bahawa terdapat konflik pada id "8", jadi baris yang ditentukan dikemas kini.

Sekiranya konflik berlaku, jangan buat apa-apa

>> MASUKKAN NILAI tbl2 (9, 'Hira') PADA KONFLIK (ID) TIDAK ADA;

Dengan menggunakan pertanyaan ini, baris baru dimasukkan. Selepas itu, kami akan menggunakan jika pertanyaan yang sama untuk melihat konflik yang berlaku.

>> MASUKKAN NILAI tbl2 (9, 'Hira') PADA KONFLIK (ID) TIDAK ADA;

Menurut gambar di atas, anda akan melihat bahawa setelah pelaksanaan pertanyaan "INSERT 0 0" menunjukkan tidak ada data yang dimasukkan.

Kesimpulannya

Kami telah melihat sekilas konsep pemahaman memasukkan baris dalam jadual di mana data tidak ada, atau penyisipan tidak selesai, jika terdapat catatan, untuk mengurangkan redundansi dalam hubungan pangkalan data.

SuperTuxKart untuk Linux
SuperTuxKart adalah tajuk hebat yang direka untuk membawa anda pengalaman Mario Kart secara percuma pada sistem Linux anda. Ia cukup mencabar dan meny...
Tutorial Battle for Wesnoth
The Battle for Wesnoth adalah salah satu permainan strategi sumber terbuka paling popular yang boleh anda mainkan pada masa ini. Bukan hanya permainan...
0 A.D. Tutorial
Daripada banyak permainan strategi di luar sana, 0 A.D. berjaya menonjol sebagai tajuk yang komprehensif dan permainan taktikal yang sangat mendalam w...