SQL ALTER TABLE
SQL ALTER TABLE buyrug‘i
ALTER TABLE buyrug‘i mavjud jadvalga yangi ustunlar qo‘shish, mavjudlarini o‘chirish yoki ularning turini o‘zgartirish uchun ishlatiladi.
ALTER TABLE buyrug‘i shuningdek mavjud jadvalga turli cheklovlarni (constraints) qo‘shish va o‘chirish uchun ham ishlatiladi.
Keng tarqalgan ALTER TABLE amallari:
- Ustun qo‘shish - jadvalga yangi ustun qo‘shadi
- Ustunni o‘chirish - jadvaldagi ustunni o‘chiradi
- Ustun nomini o‘zgartirish - ustun nomini o‘zgartiradi
- Ustunni o‘zgartirish - ustunning ma’lumot tipini, hajmini yoki cheklovlarini o‘zgartiradi
- Cheklov qo‘shish - yangi cheklov qo‘shadi
- Jadval nomini o‘zgartirish - jadval nomini o‘zgartiradi
ALTER TABLE - ustun qo‘shish (ADD)
Jadvalga ustun qo‘shish uchun quyidagi sintaksisdan foydalaning:
Sintaksis
ALTER TABLE table_name
ADD column_name datatype;
Quyidagi SQL "Customers" jadvaliga "Email" ustunini qo‘shadi:
Misol
ALTER TABLE Customers
ADD Email varchar(255);
ALTER TABLE - DROP COLUMN
Jadvaldagi ustunni o‘chirish uchun quyidagi sintaksisdan foydalaning (ba’zi ma’lumotlar bazasi tizimlari ustunni o‘chirishga ruxsat bermasligiga e’tibor bering):
Sintaksis
ALTER TABLE table_name
DROP COLUMN column_name;
Quyidagi SQL "Customers" jadvalidan "Email" ustunini o‘chiradi:
Misol
ALTER TABLE Customers
DROP COLUMN Email;
ALTER TABLE - RENAME COLUMN
Jadvaldagi ustun nomini o‘zgartirish uchun quyidagi sintaksisdan foydalaning:
Sintaksis
ALTER TABLE table_name
RENAME COLUMN old_name to new_name;
SQL Server’da jadvaldagi ustun nomini o‘zgartirish uchun quyidagi sintaksisdan foydalaning:
SQL Server uchun sintaksis:
EXEC sp_rename 'table_name.old_name', 'new_name', 'COLUMN';
ALTER TABLE - ma’lumot tipini o‘zgartirish (MODIFY)
Jadvaldagi ustunning ma’lumot tipini, hajmini yoki cheklovlarini o‘zgartirish uchun quyidagi sintaksisdan foydalaning:
SQL Server / MS Access uchun sintaksis:
ALTER TABLE table_name
ALTER COLUMN column_name new_datatype constraint;
MySQL / Oracle uchun sintaksis:
ALTER TABLE table_name
MODIFY column_name new_datatype constraint;
Quyidagi SQL "Email" ustunining o‘lchamini varchar(100) ga o‘zgartiradi va biz NOT NULL cheklovini ham qo‘shamiz:
Misol
ALTER TABLE Customers
MODIFY Email varchar(100) NOT NULL;
ALTER TABLE - ADD CONSTRAINT
Mavjud jadvalga cheklov qo‘shish uchun quyidagi sintaksisdan foydalaning:
Sintaksis
ALTER TABLE table_name
ADD CONSTRAINT constraint_name constraint_definition;
Quyidagi SQL "CHK_Age" nomli cheklovni qo‘shadi, bu CHECK cheklovi bo‘lib, "Age" ustunida 18 va undan yuqori qiymatga ega bo‘lishini ta’minlaydi:
Misol
ALTER TABLE Members
ADD CONSTRAINT CHK_Age CHECK (Age >= 18);
ALTER TABLE - Jadval nomini o‘zgartirish
Jadval nomini o‘zgartirish uchun quyidagi sintaksisdan foydalaning:
Sintaksis
ALTER TABLE table_name
RENAME TO new_table_name;
Quyidagi SQL "Customers" jadvalini "Clients" deb o‘zgartiradi:
Misol
ALTER TABLE Customers
RENAME TO Clients;
SQL ALTER TABLE misoli
Faraz qilaylik, bizda "Persons" jadvali bor, u quyidagicha ko‘rinadi:
| ID | LastName | FirstName | Address | City |
|---|---|---|---|---|
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
Endi biz "Persons" jadvaliga "DateOfBirth" nomli ustun qo‘shmoqchimiz.
Biz quyidagi SQL operatori (so‘rovi)dan foydalanamiz:
Misol
ALTER TABLE Persons
ADD DateOfBirth date;E’tibor bering, yangi "DateOfBirth" ustuni date tipida va sanani saqlaydi. Ma’lumot tipi ustunda qanday turdagi ma’lumotlar saqlanishi mumkinligini belgilaydi. MS Access, MySQL va SQL Server’dagi barcha ma’lumot tiplari bo‘yicha to‘liq ma’lumot uchun to‘liq ma’lumot tiplari ma’lumotnomamizga o‘ting.
"Persons" jadvali endi quyidagicha ko‘rinadi:
| ID | LastName | FirstName | Address | City | DateOfBirth |
|---|---|---|---|---|---|
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes | |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes | |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
Ma’lumotlar turini o‘zgartirish misoli
Endi biz "Persons" jadvalidagi "DateOfBirth" nomli ustunning ma’lumotlar turini o‘zgartirmoqchimiz.
Biz quyidagi SQL operatori (so‘rovi)dan foydalanamiz:
Misol
ALTER TABLE Persons
ALTER COLUMN DateOfBirth year;E’tibor bering, "DateOfBirth" ustuni endi year tipida va yilni ikki yoki to‘rt xonali formatda saqlaydi.
DROP COLUMN misoli
Endi biz "Persons" jadvalidagi "DateOfBirth" nomli ustunni o‘chirmoqchimiz.
Biz quyidagi SQL operatori (so‘rovi)dan foydalanamiz:
Misol
ALTER TABLE Persons
DROP COLUMN DateOfBirth;"Persons" jadvali endi quyidagicha ko‘rinadi:
| ID | LastName | FirstName | Address | City |
|---|---|---|---|---|
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
