xranzei 1
xranzei
mavzermete 1
mavzermete
Hikaye Ekle

Altın Konu SQL Tabloyu DROP Etme Nasıl Yapılır?

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

mmo.jpg

SQL Tabloyu DROP Etme Nasıl Yapılır?
SQL, bir veritabanında var olan bir tabloyu tamamen DROP komutu sağlar. SQL DROP komutu verildiğinde, tabloyu verileriyle birlikte kurtarmanın bir yolu yoktur, bu yüzden bu komutu üretim sisteminde vermeden önce dikkatli olunuz.

SQL DROP Tablo İfadesi

SQL DROP TABLE ifadesi, bir tablonun tanımını, verilerini, dizinlerini, tetikleyicilerini, kısıtlamalarını ve izin özelliklerini (varsa) kaldırmak için kullanılan bir Veri Tanımlama Dili (DDL) komutudur.

Not :

  • Bu komutu kullanırken çok dikkatli olmalısınız çünkü bir tablo silindiğinde, o tabloda bulunan tüm bilgiler de sonsuza dek kaybolacaktır.
  • Tablo bölümlenmişse, ifade tablo tanımını, tüm bölümlerini, bu bölümlerde depolanan tüm verileri ve tüm bölüm tanımlarını kaldırır.
  • Bir veritabanındaki tabloyu silmek için söz konusu tablo üzerinde ALTER iznine ve tablo şeması üzerinde CONTROL iznine sahip olmak gerekir.
  • Veri tanımlama dili komutu olmasına rağmen TRUNCATE TABLE ifadesinden farklıdır çünkü DROP ifadesi tabloyu bellekten tamamen boşaltır.
  • DROP TABLE, TEMPORARY anahtar sözcüğüyle birlikte kullanılmadığı takdirde örtük bir commit'e neden olur.

Sözdizimi

Bu DROP TABLE ifadesinin temel sözdizimi aşağıdaki gibidir:

DROP TABLE table_name;

Örnek

Aşağıda gösterildiği gibi CREATE TABLE ifadesini kullanarak CUSTOMERS adında bir tablo oluşturduğumuzu varsayalım.

Kod:
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);

Öncelikle DESC komutunu kullanarak CUSTOMERS tablosunu doğrulayalım, ardından veritabanından silelim.


Tablo başarıyla oluşturulursa DESC komutu tablonun yapısını aşağıda gösterildiği gibi görüntüler.

AlanTipHükümsüzAnahtarVarsayılanEkstra
İDtamsayı(11)HAYIRPRIHÜKÜMSÜZ
İSİMvarchar(20)HAYIRHÜKÜMSÜZ
YAŞtamsayı(11)HAYIRHÜKÜMSÜZ
ADRESkarakter(25)EVETHÜKÜMSÜZ
MAAŞondalık(18,2)EVETHÜKÜMSÜZ

Bu, CUSTOMERS tablosunun veritabanında mevcut olduğu anlamına gelir, bu nedenle şimdi onu aşağıda gösterildiği gibi bırakalım.

Kod:
DROP TABLE CUSTOMERS;


Çıktı

Çıktı aşağıdaki gibi görüntülenir:
Query OK, 0 rows affected (0.001 sec)

Doğrulama

Şimdi, tablonun gerçekten bırakılıp bırakılmadığını doğrulamak için, gösterildiği gibi DESC CUSTOMERS komutunu kullanabilirsiniz.

DESC CUSTOMERS;

Aşağıdaki hata görüntüleniyor.

ERROR 1146 (42S02): Table 'tutorials.CUSTOMERS' doesn't exist
Bir MySQL tablosu SQL DROP komutu kullanılarak bırakıldığında, tablo için özel olarak verilen ayrıcalıklar otomatik olarak bırakılmaz. Bunlar manuel olarak bırakılmalıdır.

IF EXISTS Maddesi

Bir tabloyu bırakmadan önce veritabanında var olup olmadığını her zaman kontrol etmek yerine, DROP TABLE ifadesinde IF EXISTS ifadesini kullanabilirsiniz.

Bu madde, DROP TABLE sorgusunda belirtildiğinde, tablonun geçerli veritabanında olup olmadığını otomatik olarak kontrol edecek ve varsa onu bırakacaktır. Tablo veritabanında yoksa, sorgu yok sayılacaktır.

Sözdizimi

DROP TABLE IF EXISTS'in temel sözdizimi aşağıdadır:

DROP TABLE [IF EXISTS] table_name;

Örnek

Aşağıda gösterildiği gibi, IF EXISTS ifadesini kullanmadan veritabanında bulunmayan bir tabloyu bırakmaya çalışırsanız.

Kod:
DROP TABLE CUSTOMERS;

Bir hata oluşturulacak.

ERROR 1051 (42S02): Unknown table 'tutorials.CUSTOMERS'

Aşağıda gösterildiği gibi DROP TABLE ifadesiyle birlikte IF EXISTS ifadesini kullanırsanız belirtilen tablo silinir ve belirtilen isimde bir tablo yoksa sorgu göz ardı edilir.

Ancak, aşağıda gösterildiği gibi IF EXISTS ifadesini kullanarak bir veritabanında bulunmayan bir tabloyu bırakmaya çalışırsanız.


Kod:
DROP TABLE IF EXISTS CUSTOMERS;

Sorgu, aşağıdaki çıktı görüntülenerek yok sayılacak:

Query OK, 0 rows affected, 1 warning (0.001 sec)

DÜŞÜŞ - GEÇİCİ TABLO

TEMPORARY anahtar sözcüğünü yalnızca TEMPORARY tablolarını düşürecek olan DROP TABLE ifadesiyle birlikte ekleyebilirsiniz . TEMPORARY anahtar sözcüğünü eklemek, TEMPORARY olmayan tabloları yanlışlıkla düşürmeyi önlemenin iyi bir yoludur.

Sözdizimi

DROP TEMPORARY TABLE TEMP_TABLE;

Örnek

Aşağıda CUSTOMERS adlı geçici bir tabloyu silmeye dair bir örnek verilmiştir.

DROP TEMPORARY TABLE CUSTOMERS;
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst