MySQL ALTER TABLE


ULASHISH

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!