Bu bölümde, mevcut veritabanı tablosuna bir veya daha fazla sütun eklemek için PostgreSQL ADD COLUMN Komutunun nasıl kullanıldığını anlayacağız.
PostgreSQL SÜTUN EKLE komutu
kullanacağız tabloyu değiştir sütun ekle, Yeni sütunu mevcut bir tabloya ekleme komutu.
Sözdizimi
Sözdizimi Sütun ekle komutunu değiştir aşağıda verilmiştir:
ALTER TABLE table_name ADD COLUMN new_column_name data_type;
Yukarıdaki sözdiziminde aşağıdaki parametrelere sahibiz:
Parametre | Tanım |
---|---|
Tabloyu değiştir | Bir tablonun tanımını değiştirmek için kullanılan bir cümledir. |
Tablo ismi | ALTER TABLE deyiminden sonra yeni bir sütun eklememiz gereken tablo adını açıklamak için kullanılır. |
Yeni_cloumn_name | ADD COLUMN koşulundan sonra, varsayılan değer, veri türü vb. özniteliğiyle birlikte sütun adını belirtmek için kullanılır. |
Not: Tabloya yeni bir sütun eklediğimizde PostgreSQL bunu tablonun sonunda geliştirir çünkü PostgreSQL'in yeni sütunun tablodaki yerini tanımlamak için başka seçeneği yoktur.
Alt tablo komutunu kullanarak birden fazla sütun ekleme
Sözdizimi alter table komutunu kullanarak birden fazla sütun ekleme:
ALTER TABLE table_name ADD COLUMN new_column_name_1 data_type constraint, ADD COLUMN new_column_name_2 data_type constraint, ::: ::: ADD COLUMN new_column_name_N data_type constraint;
PostgreSQL ADD COLUMN örnekleri
Sütun eklemeyi daha iyi anlamak için aşağıdaki süreci izleyeceğiz:
Öncelikle isminde yeni bir tablo oluşturacağız. Kişiler iki sütunlu Person_id ve First_name aşağıdaki komutun yardımıyla:
CREATE TABLE Persons ( Person_ID Serial primary key, Person_Name varchar not Null );
Çıktı
Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki mesajı alacağız. pencere ki bu da şunu söylüyor Kişiler tablo oluşturuldu:
Bundan sonra ekleyeceğiz Adres sütunu Kişiler Aşağıdaki komutun yardımıyla tablo:
ALTER TABLE Persons ADD COLUMN Address VARCHAR;
Çıktı
Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki mesaj penceresini göreceğiz:
Ve aşağıdaki komut şunu eklememize yardımcı olacaktır: Şehir ve telefon_no sütunları Kişiler masa:
ALTER TABLE Persons ADD COLUMN City VARCHAR, ADD COLUMN Phone_no VARCHAR;
Çıktı
Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki mesaj penceresini göreceğiz:
git ile ödeme
görmek istiyorsak Kişiler tablo yapısı psql , aşağıdaki komutu kullanacağız:
javatpoint=# d Persons
Çıktı arasında Kişiler masa yapısı
Yukarıdaki görselde de gördüğümüz gibi elimizde Adres, Şehir ve Telefon_no Kişiler tablosunun sütun listesinin sonuna eklenen sütunlar.
NOT NULL Kısıtlaması ile bir sütun ekleme
Burada, bazı verileri içeren belirli bir tabloya boş olmayan kısıtlamalara sahip bir sütun ekleyeceğiz.
Öncelikle içine bazı veriler ekleyeceğiz. Kişiler Ekle komutunu kullanarak tablo:
INSERT INTO Persons (Person_name) VALUES ('John'), ('Emily'), ('Mike');
Çıktı
Üç satırın eklendiğini görebiliriz. Kişiler Aşağıdaki mesaj penceresindeki tablo.
Şimdi eklemek istediğimizi varsayalım. E-posta sütunu Kişiler tablo ve bunun için aşağıdaki komutu kullanıyoruz:
ALTER TABLE Persons ADD COLUMN Email VARCHAR NOT NULL;
Çıktı
Yukarıdaki komutu çalıştırdığımızda şunu söyleyen bir hata alacağız:
'e-posta' sütunu boş değerler içeriyor
Yukarıdaki hatanın oluşmasının nedeni E-posta sütun şunları içerir: GEÇERSİZ DEĞİL kısıtlama.
PostgreSQL'de yeni sütun şunları alır: HÜKÜMSÜZ sütunları eklerken değer, bu da düzeni bozar GEÇERSİZ DEĞİL kısıtlama.
Yukarıdaki hatayı çözmek için aşağıdaki adımları izlememiz gerekir:
Aşama 1
Öncelikle sütunu eklememiz gerekiyor. GEÇERSİZ DEĞİL kısıtlama ve bunun için aşağıdaki komutu kullanacağız:
sıralanmış demet python
ALTER TABLE Persons ADD COLUMN Email VARCHAR;
Çıktı
Aşağıdaki mesaj penceresinde görebileceğimiz gibi E-posta sütun oldu katma içine Kişiler masa:
Adım 2
Şimdi E-posta sütununun değerlerini güncelleyeceğiz.
UPDATE Persons SET Email = '[email protected]' WHERE Person_id = 1; UPDATE Persons SET Email = '[email protected]' WHERE Person_id = 2; UPDATE Persons SET Email = '[email protected]' WHERE Person_id = 3;
Çıktı
Aşağıdaki mesaj penceresinde görebileceğimiz gibi E-posta sütun değerleri güncellenmiş içine Kişiler masa:
Değerlerin güncellenip güncellenmediğini kontrol etmek istersek Kişiler tabloyu kullanacağız Seçme emretmek:
Select * From Persons;
Çıktı
Yukarıdaki sorgunun çıktısı aşağıdaki gibidir:
Aşama 3
E-posta sütununun değerini güncelledikten sonra, GEÇERSİZ DEĞİL için kısıtlama E-posta içine sütun Kişiler Aşağıdaki komutu kullanarak tablo:
ALTER TABLE Persons ALTER COLUMN Email SET NOT NULL;
Çıktı
Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki mesaj penceresini göreceğiz: