Ipasok ang Hilera kung Ang Mga Halaga ay Wala Pa sa Postgresl

Insert Row If Values Don T Already Exist Postgresl



Ang pag-alam at pagmamanipula ng mga system ng pamamahala ng database ay nakagawa sa amin ng pamilyar sa mga pagbabago tungkol sa mga database. Alin ang karaniwang nagsasangkot sa paglikha, pagsingit, pag-update at pagtanggal ng mga pagpapaandar na inilapat sa mga tukoy na talahanayan. Sa kasalukuyang artikulo, makikita natin kung paano pinamamahalaan ang data ng pamamaraan ng pagpapasok. Dapat na lumikha tayo ng isang talahanayan kung saan nais namin ng pagpapasok. Ginagamit ang pagsingit ng pahayag para sa pagdaragdag ng bagong data sa mga hanay ng mga talahanayan. Saklaw ng pahayag ng pagsingit ng PostgreSQL ang ilang mga patakaran para sa matagumpay na pagpapatupad ng isang query. Una kailangan nating banggitin ang pangalan ng talahanayan na sinusundan ng mga pangalan ng haligi (mga katangian) kung saan nais naming magsingit ng mga hilera. Pangalawa, dapat naming ipasok ang mga halaga, pinaghiwalay ng isang kuwit pagkatapos ng VALUE sugnay. Sa wakas, ang bawat halaga ay dapat na nasa parehong pagkakasunud-sunod tulad ng pagkakasunud-sunod ng mga listahan ng katangian ay ibinibigay habang lumilikha ng isang partikular na talahanayan.

Syntax

>> INSERT SATABLENAME(haligi1,haligi) VALUES ('Halaga1', 'halaga2');

Dito, ang isang haligi ay ang mga katangian ng talahanayan. Ginagamit ang keyword VALUE upang maglagay ng mga halaga. Ang 'Halaga' ay ang data ng mga talahanayan na mailalagay.







Pagpasok ng mga pagpapaandar ng hilera sa PostgreSQL shell (psql)

Matapos ang matagumpay na pag-install ng postgresql, ipasok namin ang pangalan ng database, numero ng port, at password. Pasimulan ang Psql. Magsasagawa kami pagkatapos ng mga query ayon sa pagkakabanggit.





Halimbawa 1: Paggamit ng INSERT upang magdagdag ng mga bagong tala sa mga talahanayan
Kasunod sa syntax, lilikha kami ng sumusunod na query. Upang magsingit ng isang hilera sa talahanayan, lilikha kami ng isang talahanayan na pinangalanang customer. Ang talahanayan ng paggalang ay naglalaman ng 3 mga haligi. Ang uri ng data ng mga partikular na haligi ay dapat na nabanggit upang maglagay ng data sa haligi na iyon at upang maiwasan ang kalabisan. Ang query upang lumikha ng isang talahanayan ay:





>> lumikha mesakostumer(idint,pangalan varchar (40), bansavarchar (40));

Matapos likhain ang talahanayan, maglalagay na kami ngayon ng data sa pamamagitan ng manu-manong pagpasok ng mga hilera sa magkakahiwalay na mga query. Una, binabanggit namin ang pangalan ng haligi upang mapanatili ang kawastuhan ng data sa mga partikular na haligi tungkol sa mga katangian. At pagkatapos, ipapasok ang mga halaga. Ang mga halaga ay na-encode ng mga solong coma, dahil maipapasok sila nang walang anumang pagbabago.



>> ipasok sakostumer(id,pangalan, bansa) halaga ('1','Alia', 'Pakistan');

Matapos ang bawat matagumpay na pagpapasok, ang output ay 0 1, na nangangahulugang ang 1 hilera ay naipasok nang paisa-isa. Sa query tulad ng nabanggit kanina, nagsingit kami ng data ng 4 na beses. Upang matingnan ang mga resulta, gagamitin namin ang sumusunod na query:

>> pumili ka*mula sacustomer;

Halimbawa 2: Paggamit ng pahayag na INSERT sa pagdaragdag ng maraming mga hilera sa isang solong query
Ang parehong diskarte ay ginagamit sa pagpasok ng data ngunit hindi ipinakikilala ang mga insert na pahayag nang maraming beses. Maglalagay kami ng data nang sabay-sabay sa pamamagitan ng paggamit ng isang tiyak na query; lahat ng mga halaga ng isang hilera ay pinaghihiwalay ng Sa pamamagitan ng paggamit ng sumusunod na query, makakamtan namin ang kinakailangang output

Halimbawa 3: INSERT ng maraming mga hilera sa isang talahanayan batay sa mga numero sa isa pang mesa
Ang halimbawang ito ay nauugnay sa pagpasok ng data mula sa isang talahanayan patungo sa isa pa. Isaalang-alang ang dalawang talahanayan, a at b. Ang talahanayan a ay may 2 mga katangian, ibig sabihin, pangalan at klase. Sa pamamagitan ng paglalapat ng isang CREATE query, magpapakilala kami ng isang talahanayan. Matapos ang paglikha ng talahanayan, ang data ay ipinasok sa pamamagitan ng paggamit ng isang insert query.

>> lumikha mesasa(pangalan varchar (30),klase varchar (40));
>> Isingit sasahalaga ('Amna',1),('bhishma', '2'),('Javed', '3'),('Down',4');

Apat na mga halaga ay ipinasok sa talahanayan gamit ang labis na teorya. Maaari naming suriin sa pamamagitan ng paggamit ng mga piling pahayag.

Katulad nito, lilikha kami ng talahanayan b, na mayroong mga katangian ng lahat ng mga pangalan at paksa. Ang magkaparehong 2 query ay ilalapat upang ipasok at makuha ang tala mula sa kaukulang talahanayan.

>> lumikha mesab(allnames varchar(30), paksa varchar(70));

Kunin ang talaan sa pamamagitan ng piling teorya.

>> pumili ka*mula sab;

Upang magsingit ng mga halaga ng talahanayan b sa talahanayan, gagamitin namin ang sumusunod na query. Ang query na ito ay gagana sa isang paraan na ang lahat ng mga pangalan sa talahanayan b isisingit sa talahanayan sa sa pagbibilang ng mga bilang na nagpapakita ng bilang ng mga paglitaw ng isang partikular na numero sa kani-kanilang haligi ng talahanayan b . b. ang mga pangalan ay kumakatawan sa pagpapaandar ng bagay upang tukuyin ang talahanayan. Gumagana ang pagpapaandar ng (b.allnames) upang mabilang ang kabuuang paglitaw. Tulad ng bawat pangalan ay naganap nang sabay-sabay, ang resulta na haligi ay magkakaroon ng 1 numero.

>> Isingit sasa(pangalan,klase) pumili kab. lahat ng mga pangalan, bilangin(b.mga pangalan) mula sabgrupo nib. mga pangalan ng pangalan;

Halimbawa 4: INSERT data sa mga hilera kung wala
Ginamit ang query na ito upang maglagay ng mga row kung wala ito. Una ang mga ibinigay na pagsusuri ng query kung ang hilera ay mayroon na o wala. Kung mayroon na ito, kung gayon ang data ay hindi naidagdag. At kung ang data ay wala sa isang hilera, gaganapin ang bagong pagpapasok. Narito ang tmp ay isang pansamantalang variable na ginamit upang mag-imbak ng data para sa ilang oras.

>> ipasok sab(allnames, paksa) pumili ka*mula sa (pumili ka'Kinza'bilangallnames, 'islamiat'bilangpaksa) bilangtmpkung saan hindi umiiral ( pumili kalahat ng pangalanmula sabkung saanlahat ng pangalan='Sundus'hangganan 1);

Halimbawa 5: PostgreSQL Upsert Gamit ang INSERT Statement
Ang pagpapaandar na ito ay may dalawang pagkakaiba-iba:

  • Update: kung may naganap na hindi pagkakasundo, kung ang talaan ay tumutugma sa mayroon nang data sa talahanayan, na-update ito sa bagong data.
  • Kung may hindi pagkakasundo, huwag gumawa ng anuman : Kung tumutugma ang isang talaan sa umiiral na data sa talahanayan, lalaktawan nito ang talaan, o kung ang isang error ay itinatag, hindi rin ito papansinin.

Sa una, bubuo kami ng isang talahanayan na may ilang halimbawang data.

>> LILIKHA TABLEtbl2(IDINT PRIMARY SUSI,Pangalan PAG-IIBA NG KATANGIAN);

Matapos likhain ang talahanayan isisingit namin ang data sa tbl2 sa pamamagitan ng paggamit ng query:

>> INSERT SAtbl2VALUES (1,'uzma'),(2,'abdul'),(3,'Hamna'),(4,'fatima'),(5,'shiza'),(6,'javeria');

Kung may isang hindi pagkakasundo, Update:

>>INSERT SAtbl2VALUES (8,'Sumakay') ON naKONFLIKTO(ID) GAWIN UPDATE ITAKDA Pangalan=Hindi kasama.Pangalan;

Sa una, maglalagay kami ng data gamit ang query sa salungatan ng id 8 at ang pangalang Rida. Gagamitin ang parehong query sa pagsunod sa parehong id; papalitan ang pangalan. Ngayon ay mapapansin mo kung paano mababago ang mga pangalan sa parehong id sa talahanayan.

>> INSERT SAtbl2VALUES (8,'Trabaho') ON naKONFLIKTO(ID) GAWIN UPDATE ITAKDA Pangalan =Hindi kasama.Pangalan;

Nalaman namin na mayroong isang salungatan sa id 8, kaya ang tinukoy na hilera ay na-update.

Kung may hindi pagkakasundo, huwag gumawa ng anuman

>> INSERT SAtbl2VALUES (9,'Hira') ON naKONFLIKTO(ID) GAWIN WALA;

Gamit ang query na ito, isang bagong hilera ang naipasok. Pagkatapos nito, gagamitin namin kung ang parehong query upang makita ang naganap na salungatan.

>>INSERT SAtbl2VALUES (9,'Hira') ON naKONFLIKTO(ID) GAWIN WALA;

Ayon sa imahe sa itaas, makikita mo na pagkatapos ng pagpapatupad ng query na INSERT 0 0 ay nagpapakita na walang data na naipasok.

Konklusyon

Napatingin kami sa konsepto ng pag-unawa sa pagpasok ng mga hilera sa mga talahanayan kung saan wala ang data, o hindi nakumpleto ang pagpapasok, kung may natagpuang record, upang mabawasan ang kalabisan sa mga relasyon sa database.