logo

PostgreSQL Bırakma sütunu

Bu bölümde bunu nasıl yapabileceğimizi tartışacağız. sütunları bırak yardımıyla TABLOYU DEĞİŞTİR emretmek.

PostgreSQL DROP COLUMN Komutu

Bir tablonun bir sütununu bırakmak için ALTER TABLE komutundaki DROP COLUMN koşulunu kullanacağız:

 ALTER TABLE table_name DROP COLUMN column_name; 

PostgreSQL, bir tablodan bir sütunu silerken sütun da dahil olmak üzere tüm kısıtlamalarını ve dizinlerini otomatik olarak silecektir ve her bırakma sütunu koşulu bir karakterle ayrılır. virgül (,) .

Diğer nesnelerin onlara bağlı olduğu ve ayrıca aşağıdaki gibi diğer veritabanı nesnelerinde kullanılan sütunları silemeyiz. tetikleyiciler, görünümler, saklı prosedürler, vesaire.

Dolayısıyla, bu sütunları ve ona bağlı tüm nesneleri kaldırmak için şunu kullanacağız: ÇAĞLAYAN seçeneğindeki sütunu bırak komut şu şekilde:

 ALTER TABLE table_name DROP COLUMN column_name CASCADE; 

Mevcut olmayan bir sütunu silmek istersek PostgreSQL bir sorun ortaya çıkaracaktır. Bu hatayı aşmak için aşağıdaki komutta gördüğümüz gibi drop sütunu komutuna IF EXISTS koşulunu ekleyeceğiz:

ağ türleri
 ALTER TABLE table_name DROP COLUMN IF EXISTS column_name; 

Yukarıdaki komutta, var olmayan bir sütunu silersek PostgreSQL hata yerine bir uyarı verecektir.

Bir tablonun çeşitli sütunlarını tek bir komutla kaldırmamız gerekirse aşağıdaki komutu kullanacağız:

 ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2; 

PostgreSQL DROP COLUMN Komutu Örnekleri

Çalışma şeklini anlamak için bazı örnekler görelim. TABLO BIRAKMA SÜTUNUNU DEĞİŞTİRİN emretmek.

Böylece üç farklı tablo oluşturacağız: Ürün, Kategoriler ve Marka .

PostgreSQL Bırakma sütunu

Yukarıdaki diyagramda her Ürün yalnızca bir tane içerir marka ve her markanın birden fazla ürünü olabilir. Her ürün bir kategori ve her kategoride çeşitli ürünler bulunabilir.

Üç tabloyu oluşturmak için aşağıdaki komutlar kullanılır (Kategoriler, Ürün ve Marka) :

Oluşturma Kategoriler Aşağıdaki komutun yardımıyla tablo:

 CREATE TABLE Categories ( Cate_id serial PRIMARY KEY, Cate_name VARCHAR NOT NULL ); 

Çıktı

Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki mesajı alacağız; the Kategoriler tablo oluşturuldu.

PostgreSQL Bırakma sütunu

Oluşturma Ürün aşağıdaki ifadeyi kullanarak tablo:

 CREATE TABLE Product ( Pro_id serial PRIMARY KEY, Pro_name VARCHAR NOT NULL, Brand_id INT NOT NULL, Cate_id INT NOT NULL, List_price DECIMAL NOT NULL, Model_year SMALLINT NOT NULL, FOREIGN KEY (Cate_id) REFERENCES Categories (Cate_id), FOREIGN KEY (Brand_id) REFERENCES Brand (Brand_id) ); 

Çıktı

Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki mesajı alacağız; the Ürün tablo oluşturuldu.

PostgreSQL Bırakma sütunu

Oluşturma Marka aşağıdaki komutu kullanarak tablo:

 CREATE TABLE Brand ( Brand_id serial PRIMARY KEY, Brand_name VARCHAR NOT NULL ); 

Çıktı

Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki mesajı alacağız; the Marka tablo oluşturuldu.

PostgreSQL Bırakma sütunu

Ayrıca, şuna dayalı bir görünüm oluşturuyoruz: Ürün Ve Marka tablolar şu şekilde:

 CREATE VIEW Product_info AS SELECT Pro_id, Pro_name, Brand_name FROM Product p INNER JOIN Brand B ON B .Brand_id = p.Brand_id ORDER BY Pro_name; 

Çıktı

Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki mesajı alacağız; the Ürün bilgisi görünüm oluşturuldu.

PostgreSQL Bırakma sütunu

Silmek istiyorsak aşağıdaki komutu kullanacağız. cate_id sütunu Ürün masa:

 ALTER TABLE Product DROP COLUMN cate_id; 

Çıktı

Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki mesajı alacağız; the cate_id sütun düştü Ürün masa.

PostgreSQL Bırakma sütunu

Tabloyu psql olarak görmek istiyorsak aşağıdaki komutu kullanacağız.

 Javatpoint=# d Product; 

PostgreSQL Bırakma sütunu

Yukarıdaki ekran görüntüsünde görebileceğimiz gibi, yukarıdaki komut Cate_id sütunu ve şunları içerir Cate_id sütununu yabancı anahtar kısıtlamasına ekleyin.

Şimdi düşürmeye çalışacağız Brand_id gelen sütun Ürün masa.

 ALTER TABLE Product DROP COLUMN Brand_id; 

Yukarıdaki komutu çalıştırdığımızda PostgreSQL aşağıdaki hatayı verecektir:

PostgreSQL Bırakma sütunu

Şunu belirtti: ürün bilgisi görünüm sütunu kullanıyor Brand_id arasında Ürün masa.

Yani, kullanacağız Çağlayan her ikisini de silme seçeneği Brand_id sütun ve Ürün bilgisi aşağıdaki komutun yardımıyla görüntüleyin:

 ALTER TABLE Product DROP COLUMN Brand_id CASCADE; 

Yukarıdaki komutu uyguladığımızda aşağıdakileri yükseltecektir. fark etme ve belirli sütunu bırakın.

PostgreSQL Bırakma sütunu

Burada her ikisini de bırakacağız list_price ve Model_year sütunları tek bir komutta kullanmamız gerekiyor ve çoklu BIRAKMA SÜTUNU aşağıda yaptığımız gibi koşullar:

 ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year; 

Çıktı

Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki mesaj penceresini göreceğiz: List_price ve Model_year sütunları oradan düşürüldü Ürün masa.

PostgreSQL Bırakma sütunu

Yukarıdaki işlemlerin düzgün çalışıp çalışmadığını görmek istiyorsak, Seçme emretmek:

 Select * from Product ; 

Çıktı

Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki çıktıyı alacağız:

PostgreSQL Bırakma sütunu