Jadval tuzilmasini o'zgartirish
Kirish: Ushbu qo'llanmada siz PostgreSQL ALTER TABLE buyrug'i yordamida mavjud jadval tuzilmasini o'zgartirish (ustun qo'shish, o'chirish, nomini o'zgartirish va cheklovlar o'rnatish)ni o'rganasiz.
PostgreSQLda ALTER TABLE buyrug'i mavjud jadvalning tuzilmasini samarali o'zgartirish imkonini beradi.
Asosiy sintaksis:
ALTER TABLE table_name
action;
Ushbu sintaksisda action bajarilishi kerak bo'lgan amalni bildiradi:
RENAME TO);RENAME COLUMN);ADD COLUMN);DROP COLUMN);SET DATA TYPE);NOT NULL, CHECK, DEFAULT, UNIQUE).Tajriba uchun dastlab materials jadvalini yaratib olamiz:
CREATE TABLE materials (
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
name VARCHAR(40) NOT NULL,
status BOOL NOT NULL
);
Jadval nomini o'zgartirish sintaksisi:
ALTER TABLE table_name
RENAME TO new_table_name;
Masalan, materials jadvali nomini products ga o'zgartiramiz:
ALTER TABLE materials
RENAME TO products;
Ustun nomini o'zgartirish sintaksisi:
ALTER TABLE table_name
RENAME COLUMN column_name TO new_column_name;
Masalan, status ustunini active ga o'zgartiramiz:
ALTER TABLE products
RENAME COLUMN status TO active;
Jadvalga yangi ustun qo'shish:
ALTER TABLE table_name
ADD COLUMN column_name data_type constraint;
Masalan, products jadvaliga price ustunini qo'shamiz:
ALTER TABLE products
ADD COLUMN price DEC(5, 2) NOT NULL;
Bir vaqtning o'zida bir nechta ustun qo'shish ham mumkin:
ALTER TABLE products
ADD COLUMN weight DEC(5, 2),
ADD COLUMN volume DEC(5, 2),
ADD COLUMN model_no VARCHAR(25);
Ustun turini kengaytirish yoki almashtirish uchun ALTER COLUMN ... SET DATA TYPE:
ALTER TABLE table_name
ALTER COLUMN column_name SET DATA TYPE new_data_type;
Masalan, price ustunini DEC(11, 2) ga kengaytiramiz:
ALTER TABLE products
ALTER COLUMN price SET DATA TYPE DEC(11, 2);
ALTER TABLE products
ALTER COLUMN weight SET NOT NULL,
ALTER COLUMN volume SET NOT NULL;
ALTER TABLE products
ADD CHECK (weight > 0),
ADD CHECK (volume > 0);
ALTER TABLE products
ALTER COLUMN active SET DEFAULT true;
ALTER TABLE products
ADD UNIQUE (model_no);
Jadvaldan keraksiz ustunni olib tashlash:
ALTER TABLE table_name
DROP COLUMN column_name;
Masalan, active ustunini o'chirib tashlaymiz:
ALTER TABLE products
DROP COLUMN active;
ALTER TABLE buyrug'idan foydalaning.ALTER TABLE buyrug'ida vergul bilan ajratib bir vaqtda bajarish mumkin.