SQL - ALTER TABLE Komutu
SQL ALTER TABLEkomutu, mevcut bir tablodaki sütunları eklemek, silmek veya değiştirmek için kullanılır. Mevcut bir tabloya çeşitli kısıtlamalar eklemek ve bunları bırakmak için ALTER TABLE komutunu da kullanmalısınız.
Sözdizimi
ALTER TABLE komutunun temel sözdizimi New Column mevcut bir tabloda aşağıdaki gibidir.
ALTER TABLE table_name ADD column_name datatype;
ALTER TABLE komutunun temel sözdizimi DROP COLUMN mevcut bir tabloda aşağıdaki gibidir.
ALTER TABLE table_name DROP COLUMN column_name;
ALTER TABLE komutunun temel sözdizimi DATA TYPE Tablodaki bir sütunun sayısı aşağıdaki gibidir.
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
ALTER TABLE komutunun temel sözdizimi NOT NULL bir tablodaki bir sütuna kısıtlama aşağıdaki gibidir.
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
ALTER TABLE'ın temel sözdizimi ADD UNIQUE CONSTRAINT bir tabloya aşağıdaki gibidir.
ALTER TABLE table_name
ADD CONSTRAINT MyUniqueConstraint UNIQUE(column1, column2...);
ALTER TABLE komutunun temel sözdizimi ADD CHECK CONSTRAINT bir tabloya aşağıdaki gibidir.
ALTER TABLE table_name
ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);
ALTER TABLE komutunun temel sözdizimi ADD PRIMARY KEY bir tabloya kısıtlama aşağıdaki gibidir.
ALTER TABLE table_name
ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2...);
ALTER TABLE komutunun temel sözdizimi DROP CONSTRAINT bir tablodan aşağıdaki gibidir.
ALTER TABLE table_name
DROP CONSTRAINT MyUniqueConstraint;
MySQL kullanıyorsanız, kod aşağıdaki gibidir -
ALTER TABLE table_name
DROP INDEX MyUniqueConstraint;
ALTER TABLE komutunun temel sözdizimi DROP PRIMARY KEY bir tablodan kısıtlama aşağıdaki gibidir.
ALTER TABLE table_name
DROP CONSTRAINT MyPrimaryKey;
MySQL kullanıyorsanız, kod aşağıdaki gibidir -
ALTER TABLE table_name
DROP PRIMARY KEY;
Misal
Aşağıdaki kayıtlara sahip MÜŞTERİLER tablosunu düşünün -
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
Aşağıda bir EKLE örneği verilmiştir. New Column mevcut bir tabloya -
ALTER TABLE CUSTOMERS ADD SEX char(1);
Şimdi, CUSTOMERS tablosu değiştirildi ve aşağıdaki SELECT ifadesinden çıktı alınacaktır.
+----+---------+-----+-----------+----------+------+
| ID | NAME | AGE | ADDRESS | SALARY | SEX |
+----+---------+-----+-----------+----------+------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 | NULL |
| 2 | Ramesh | 25 | Delhi | 1500.00 | NULL |
| 3 | kaushik | 23 | Kota | 2000.00 | NULL |
| 4 | kaushik | 25 | Mumbai | 6500.00 | NULL |
| 5 | Hardik | 27 | Bhopal | 8500.00 | NULL |
| 6 | Komal | 22 | MP | 4500.00 | NULL |
| 7 | Muffy | 24 | Indore | 10000.00 | NULL |
+----+---------+-----+-----------+----------+------+
Aşağıda, mevcut tablodan DROP cinsiyet sütununa örnek verilmiştir.
ALTER TABLE CUSTOMERS DROP SEX;
Şimdi, CUSTOMERS tablosu değiştirildi ve aşağıdaki SELECT ifadesinden çıktı olacaktır.
+----+---------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+---------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Ramesh | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | kaushik | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+---------+-----+-----------+----------+