Ushbu qo'llanmada siz jadvalga yangi qator qo'shish uchun PostgreSQL INSERT iborasidan qanday foydalanishni o'rganasiz.
PostgreSQL INSERT bayonoti jadvalga yangi qator qo'shish imkonini beradi.
Quyida INSERT iborasining eng asosiy sintaksisi tasvirlangan:
INSERT INTO table_name(column1, column2, …)
VALUES (value1, value2, …);Ushbu sintaksisda:
-
Birinchidan,
INSERT INTOkalit so'zlaridan keyin ma'lumotlarni kiritmoqchi bo'lgan jadval nomini (table_name) va vergul bilan ajratilgan ustunlar ro'yxatini (column1, column2, ....) belgilang. -
Ikkinchidan,
VALUESkalit so'zidan keyin qavslar (value1, value2, ...) ichida vergul bilan ajratilgan qiymatlar ro'yxatini taqdim eting. Ustunlar va qiymatlar ro'yxatidagi ustunlar va qiymatlar bir xil tartibda bo'lishi kerak.
INSERT iborasi quyidagi shaklga ega buyruq tegini qaytaradi:
INSERT oid countOID ob'ekt identifikatoridir. PostgreSQL tizim jadvallari uchun asosiy kalit sifatida OID dan ichkaridan foydalangan. Odatda, INSERT iborasi 0 qiymati bilan OIDni qaytaradi. Hisoblash INSERT bayonoti muvaffaqiyatli kiritilgan qatorlar sonidir.
INSERT iborasida, shuningdek, kiritilgan qator ma'lumotlarini qaytaruvchi ixtiyoriy RETURNING bandi mavjud.
Agar siz butun kiritilgan qatorni qaytarmoqchi bo'lsangiz, RETURNING kalit so'zidan keyin yulduzcha (*) qo'ying:
INSERT INTO table_name(column1, column2, …)
VALUES (value1, value2, …)
RETURNING *;Agar siz kiritilgan qatorning ba'zi ma'lumotlarini qaytarishni istasangiz, RETURNING bandidan keyin bir yoki bir nechta ustunlarni belgilashingiz mumkin.
Masalan, quyidagi ibora kiritilgan qatorning idni qaytaradi:
INSERT INTO table_name(column1, column2, …)
VALUES (value1, value2, …)
RETURNING id;Qaytarilgan qiymatni qayta nomlash uchun siz AS kalit so'zidan keyin chiqish nomidan foydalanasiz. Masalan:
INSERT INTO table_name(column1, column2, …)
VALUES (value1, value2, …)
RETURNING output_expression AS output_name;Quyidagi bayonot ko'rsatish uchun links deb nomlangan yangi jadval yaratadi:
DROP TABLE IF EXISTS links;
CREATE TABLE links (
id SERIAL PRIMARY KEY,
url VARCHAR(255) NOT NULL,
name VARCHAR(255) NOT NULL,
description VARCHAR (255),
last_update DATE
);E'tibor bering, siz keyingi qo'llanmada yangi jadval yaratishni o'rganasiz. Ushbu qo'llanmada siz faqat yangi jadval yaratish uchun uni bajarishingiz kerak.
Quyidagi bayonot links jadvaliga yangi qator qo'shadi:
INSERT INTO links (url, name)
VALUES('https://www.postgresqltutorial.com','PostgreSQL Tutorial');Bayonot quyidagi natijani qaytaradi:
INSERT 0 1Belgilar ma'lumotlarini kiritish uchun siz uni bitta qo'shtirnoq ichiga (') qo'shasiz, masalan, "PostgreSQL Tutorial".
Agar siz INSERT bayonotida kerakli ustunlarni o'tkazib yuborsangiz, PostgreSQL xatolik chiqaradi. Agar ixtiyoriy ustunni o'tkazib yuborsangiz, PostgreSQL qo'shish uchun ustunning standart qiymatidan foydalanadi.
Ushbu misolda description ixtiyoriy ustundir, chunki unda NOT NULL cheklovi yo'q. Shuning uchun PostgreSQL tavsif ustuniga kiritish uchun NULL dan foydalanadi.
PostgreSQL avtomatik ravishda ketma-ket ustun uchun ketma-ket raqamni yaratadi, shuning uchun siz INSERT bayonotida ketma-ket ustun uchun qiymat berishingiz shart emas.
Quyidagi SELECT iborasi havolalar jadvalining mazmunini ko'rsatadi:
SELECT * FROM links;Agar siz O'Reilly Media kabi bitta qo'shtirnoq (') o'z ichiga olgan qatorni qo'shmoqchi bo'lsangiz, undan qochish uchun qo'shimcha bitta qo'shtirnoq (') dan foydalanishingiz kerak. Masalan:
INSERT INTO links (url, name)
VALUES('http://www.oreilly.com','O''Reilly Media');Chiqish:
INSERT 0 1Quyidagi bayonot qo'shimchani tasdiqlaydi:
DATE turidagi ustunga sana qiymatini kiritish uchun siz "YYYY-AA-KK" formatida sanadan foydalanasiz.
Quyidagi bayonot links jadvaliga belgilangan sana bilan yangi qator qo'shadi:
INSERT INTO links (url, name, last_update)
VALUES('https://www.google.com','Google','2013-06-01');Chiqish:
INSERT 0 1Kiritilgan qatordan oxirgi kiritish identifikatorini olish uchun siz INSERT statementning RETURNING bandidan foydalanasiz.
Masalan, quyidagi ibora links jadvaliga yangi qator qo'shadi va oxirgi qo'shish identifikatorini qaytaradi:
INSERT INTO links (url, name)
VALUES('http://www.postgresql.org','PostgreSQL')
RETURNING id;Chiqish:
-
Jadvalga ma'lumotlarni kiritish uchun PostgreSQL
INSERTiborasidan foydalaning. -
Kiritilgan qatorlarni olish uchun
RETURNINGbandidan foydalaning.


