Add column
Ushbu qo'llanmada siz mavjud jadvalga bir yoki bir nechta ustun qo'shish uchun PostgreSQL ADD COLUMN
iborasidan qanday foydalanishni o'rganasiz.
Mavjud jadvalga yangi ustun qo'shish uchun siz ALTER TABLE ADD COLUMN
iborasidan quyidagi tarzda foydalanasiz:
ALTER TABLE table_name
ADD COLUMN new_column_name data_type constraint;
Ushbu sintaksisda:
Birinchidan,
ALTER TABLE
kalit so'zidan keyin yangi ustun qo'shmoqchi bo'lgan jadval nomini belgilang.Ikkinchidan,
ADD COLUMN
kalit so'zlaridan keyin yangi ustun nomini, shuningdek uning ma'lumotlar turini va cheklovini belgilang.
Jadvalga yangi ustun qo'shsangiz, PostgreSQL uni jadval oxiriga qo'shadi. PostgreSQL-da jadvaldagi yangi ustun o'rnini belgilash imkoniyati yo'q.
Mavjud jadvalga bir nechta ustunlar qo'shish uchun siz ALTER TABLE
iborasida bir nechta ADD COLUMN
bandlaridan quyidagi tarzda foydalanasiz:
ALTER TABLE table_name
ADD COLUMN column_name1 data_type constraint,
ADD COLUMN column_name2 data_type constraint,
...
ADD COLUMN column_namen data_type constraint;
PostgreSQL ADD COLUMN bayonotiga misollar
Quyidagi CREATE TABLE
iborasi ikkita ustundan iborat customers
nomli yangi jadval yaratadi: id
va customer_name
:
DROP TABLE IF EXISTS customers CASCADE;
CREATE TABLE customers (
id SERIAL PRIMARY KEY,
customer_name VARCHAR NOT NULL
);
Quyidagi bayonot customers
jadvaliga phone
ustunini qo'shish uchun ALTER TABLE ADD COLUMN
bayonotidan foydalanadi:
ALTER TABLE customers
ADD COLUMN phone VARCHAR;
Va quyidagi bayonot customers
jadvaliga fax
va email
ustunlarini qo'shadi:
ALTER TABLE customers
ADD COLUMN fax VARCHAR,
ADD COLUMN email VARCHAR;
Customers
jadvalining tuzilishini psql
asbobida ko'rish uchun siz \d
buyrug'ini quyidagicha ishlatishingiz mumkin:
\d customers

Chiqishdan aniq ko'rinib turibdiki, customers
jadvalining ustunlar ro'yxatining oxirida phone
, fax
va email
ustunlari paydo bo'ldi.
Ma'lumotlarga ega bo'lgan jadvalga NOT NULL
cheklovi bilan ustun qo'shing
NOT NULL
cheklovi bilan ustun qo'shingQuyidagi bayonot customers
jadvaliga ma'lumotlarni kiritadi.
INSERT INTO
customers (customer_name)
VALUES
('Apple'),
('Samsung'),
('Sony');
Customers
jadvaliga contact_name
ustunini qo'shmoqchisiz deylik:
ALTER TABLE customers
ADD COLUMN contact_name VARCHAR NOT NULL;
PostgreSQL xatolik yuz berdi:
ERROR: column "contact_name" contains null values
Buning sababi contact_name
ustunida NOT NULL
cheklovi mavjud. PostgreSQL ustunni qo'shganda, bu yangi ustun NULL
ni oladi, bu NOT NULL
cheklovini buzadi.
Ushbu muammoni hal qilish uchun…
Birinchidan, ustunni NOT NULL
cheklovisiz qo'shing:
ALTER TABLE customers
ADD COLUMN contact_name VARCHAR;
Ikkinchidan, contact_name
ustunidagi qiymatlarni yangilang.
UPDATE customers
SET contact_name = 'John Doe'
WHERE id = 1;
UPDATE customers
SET contact_name = 'Mary Doe'
WHERE id = 2;
UPDATE customers
SET contact_name = 'Lily Bush'
WHERE id = 3;
Uchinchidan, contact_name
ustuni uchun NOT NULL
cheklovini o'rnating.
ALTER TABLE customers
ALTER COLUMN contact_name SET NOT NULL;
Ushbu qo'llanmada siz jadvalga bir yoki bir nechta ustun qo'shish uchun PostgresSQL ADD COLUMN
iborasidan qanday foydalanishni o'rgandingiz
Last updated
Was this helpful?