MySQL ALTER TABLE
MySQL ALTER TABLE operatori
ALTER TABLE iborasi mavjud jadvalga ustunlarni qo‘shish, o‘chirish yoki o‘zgartirish uchun ishlatiladi.
ALTER TABLE iborasi mavjud jadvalga turli cheklovlarni qo‘shish va tushirish uchun ham ishlatiladi.
Umumiy ALTER TABLE operatsiyalari:
- Ustun qo‘shish - jadvalga yangi ustun qo‘shish
- Ochish ustuni - jadvaldagi ustunni o‘chiradi
- Ustun nomini o‘zgartirish - ustun nomini o‘zgartiradi
- Ustunni o‘zgartirish - ustunning ma’lumotlar turini, hajmini yoki cheklovlarini o‘zgartiradi
- Cheklov qo‘shish - yangi cheklov qo‘shadi
- Rename table - Jadval nomini o‘zgartiradi
ALTER TABLE - Ustun qo‘shish
Jadvalga ustun qo‘shish uchun quyidagi sintaksisdan foydalaning:
Sintaksis
ALTER TABLE table_name
ADD column_name datatype;
Quyidagi SQL "Mijozlar" jadvaliga "Elektron pochta" ustunini qo‘shadi:
Misol
ALTER TABLE Customers
ADD Email varchar(255);
ALTER TABLE - USTUNNI TOSHLASH
Jadvaldagi ustunni o‘chirish uchun quyidagi sintaksisdan foydalaning:
Sintaksis
ALTER TABLE table_name
DROP COLUMN column_name;
Quyidagi SQL "Mijozlar" jadvalidan "Elektron pochta" ustunini o‘chiradi:
Misol
ALTER TABLE Customers
DROP COLUMN Email;
JADVALNI ALTER - USTUNNING nomini o‘zgartiring
Jadvaldagi ustun nomini o‘zgartirish uchun quyidagi sintaksisdan foydalaning:
Sintaksis
ALTER TABLE table_name
RENAME COLUMN old_name to new_name;
ALTER TABLE - ma’lumotlar turini o‘zgartirish
Jadvaldagi ustunning ma’lumotlar turini, hajmini yoki cheklovlarini o‘zgartirish uchun quyidagi sintaksisdan foydalaning:
Sintaksis
ALTER TABLE table_name
MODIFY column_name new_datatype constraint;
Quyidagi SQL "Elektron pochta" ustunining o‘lchamini varchar(100) ga o‘zgartiradi va biz NO NULL cheklovini ham qo‘shamiz:
Misol
ALTER TABLE Customers
MODIFY Email varchar(100) NOT NULL;
ALTER TABLE - CHEKLASHTIRISH
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 "Age" ustunidagi qiymat 18 yoki undan katta bo‘lishini ta’minlaydigan CHECK cheklovidir:
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 "Mijozlar" jadvalini "Mijozlar" deb o‘zgartiradi:
Misol
ALTER TABLE Customers
RENAME TO Clients;
MySQL ALTER TABLE Misol
Faraz qilaylik, bizda "Shaxslar" jadvali bor, u quyidagicha ko‘rinadi:
| ID | Familiya | Ism | Manzil | Shahar |
|---|---|---|---|---|
| 1 | Hansen | Ola | Timoteyv 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
Endi biz "Shaxslar" jadvaliga "DateOfBirth" nomli ustun qo‘shmoqchimiz.
Biz quyidagi SQL operatoridan foydalanamiz:
Misol
ALTER TABLE Persons
ADD DateOfBirth date;E’tibor bering, yangi "DateOfBirth" ustuni sana turiga ega va sanani o‘z ichiga oladi. Ma’lumotlar turi ustunda qanday turdagi ma’lumotlarni saqlashi mumkinligini belgilaydi. MySQL-da mavjud bo‘lgan barcha ma’lumotlar turlari haqida to‘liq ma’lumot olish uchun "Ma’lumotlar turlari" ma’lumotnomamizga o‘ting.
Endi "Shaxslar" jadvali quyidagicha ko‘rinadi:
| ID | Familiya | Ism | Manzil | Shahar | Tug‘ilgan kuni |
|---|---|---|---|---|---|
| 1 | Hansen | Ola | Timoteyv 10 | Sandnes | |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes | |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
Ma’lumotlar turini o‘zgartirish misoli
Endi biz "Shaxslar" jadvalidagi "Tug‘ilgan sana" nomli ustunning ma’lumotlar turini o‘zgartirmoqchimiz.
Biz quyidagi SQL operatoridan foydalanamiz:
Misol
ALTER TABLE Persons
MODIFY COLUMN DateOfBirth year;E’tibor bering, "Tug‘ilgan sana" ustuni endi yil turiga kiradi va bir yil ikki yoki to‘rt xonali formatda bo‘ladi.
DROP COLUMN Misol
Keyinchalik, "Shaxslar" jadvalidagi "DateOfTug‘ilgan" ustunini o‘chirmoqchimiz.
Biz quyidagi SQL operatoridan foydalanamiz:
Misol
ALTER TABLE Persons
DROP COLUMN DateOfBirth;Endi "Shaxslar" jadvali quyidagicha ko‘rinadi:
| ID | Familiya | Ism | Manzil | Shahar |
|---|---|---|---|---|
| 1 | Hansen | Ola | Timoteyv 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
