SQL Server CREATE, ALTER, DROP Tablosu [T-SQL Örnekleri]

⚡ Akıllı Özet

SQL Server tabloları verileri satır ve sütunlarda saklar. Transact-SQL, tablo oluşturmak için CREATE TABLE, sütun eklemek veya değiştirmek için ALTER TABLE ve tabloyu, verilerini ve yapısını kaldırmak için DROP TABLE komutlarını kullanır.

  • 🧱 Masa nedir? Bir tablo, verileri satır ve sütunlar halinde depolayan ve veritabanında veri tutmak için kullanılan temel nesnedir.
  • ️ TABLO OLUŞTUR: CREATE TABLE ifadesi, her sütunu bir ad, veri türü ve NULL veya NOT NULL ayarıyla tanımlar.
  • ???? Mevcut olandan oluştur: SELECT … INTO ifadesi, mevcut bir tablodan seçilen sütunları ve satırları yepyeni bir tabloya kopyalar.
  • ➕ TABLOYU DEĞİŞTİR: ALTER TABLE … ADD komutu, tabloyu yeniden oluşturmadan tabloya yeni sütunlar ekler.
  • 🗑️ TABLOYU SİL: DROP TABLE komutu, verileri ve yapısı da dahil olmak üzere tablonun tamamını siler.
  • 🖱️ Masa Tasarımcısı: SQL Server Management Studio, Tablo Tasarımcısı aracılığıyla tabloları görsel olarak oluşturma ve değiştirme olanağı da sunar.

SQL Server'da T-SQL Örnekleriyle Tablo Oluşturma, Değiştirme ve Silme İşlemleri

Masa Nedir?

Bir tablo bir nesnedir. SQL Server Verileri satır ve sütun formatında depolayan bir veri yapısıdır. Aşağıdaki diyagramda sırasıyla satırlar ve sütunlar gösterilmektedir.

Verilerin satır ve sütunlar halinde saklandığı bir tablonun diyagramı.

T-SQL ile SQL Server'da Tablo Nasıl Oluşturulur

Verileri depolamanın ilk adımı, bir tablo oluşturmaktır. veritabanı Verilerin yer alacağı yer. Tabloyu oluşturduktan sonra, içine satır eklemeye devam edebilirsiniz.

Aşağıdaki yöntemlerle tablo oluşturabilirsiniz:

  • T-SQL: Tüm sütunları ve veri türlerini tanımlayarak yeni bir tablo oluşturun.
  • T-SQL: Mevcut bir tabloyu kullanarak yeni bir tablo oluşturma.
  • Tablo Tasarımcısı kullanılıyor.

Bunu detaylı olarak inceleyelim.

T-SQL: Tüm sütunları ve veri türlerini tanımlayarak yeni bir tablo oluşturma

Aşağıda SQL Server'da tablo oluşturmak için kullanılan sözdizimi yer almaktadır.

Sözdizimi:

CREATE TABLE tableName
( 
  column_1 datatype [ NULL | NOT NULL ],
  column_2 datatype [ NULL | NOT NULL ],
  ...
);

Burada,

  • tableName parametresi, oluşturacağınız tablonun adını belirtir.
  • sütun_1, sütun_2… parametreleri tabloya eklenecek sütunları belirtir.
  • Bir sütun ya NULL ya da NOT NULL olarak belirtilmelidir. Belirtilmezse, SQL Server varsayılan olarak NULL değerini alır.

İki sütunlu basit bir tablo oluşturalım.

Sorgu:

CREATE TABLE COURSE
(
Course_ID Int,
Course_Name Varchar(10)
)

Ön Koşul: Tabloyu oluşturmanız gereken veritabanını seçin.

) 1 Adım Sorguyu çalıştırmak için "Yürüt" düğmesine tıklayın. Sorgu çalıştırılmadan önce, aşağıda gösterildiği gibi hiçbir tablo mevcut değildir.

CREATE ifadesi çalıştırılmadan önce Nesne Gezgini'nde Kurs tablosu görünmüyor.

Sorguyu çalıştırdıktan sonra Yenile düğmesine tıklayın; yeni tablo artık aşağıda gösterildiği gibi Kurs olarak mevcut olacaktır.

Uygulama çalıştırıldıktan ve yenilendikten sonra Nesne Gezgini'nde listelenen ders tablosu

) 2 Adım Lütfen bazı veriler ekleyin. Aşağıdaki ekran görüntüleri, yeni oluşturulan ve satır almaya hazır olan Kurs tablosunu göstermektedir.

Veri eklemeden önce Nesne Gezgini'nde yeni oluşturulan Kurs tablosu seçildi.

Veri eklenmeden önce iki sütunuyla gösterilen ders tablosu yapısı

Şu an itibariyle tablo mevcut, ancak içinde henüz hiçbir veri yok.

Transact-SQL, tabloya veri eklemek için INSERT ifadesini sağlar. Bu ifadeyle, bir tabloya bir veya daha fazla satır ekleyebilirsiniz.

Sözdizimi:

INSERT INTO tableName
(column_1, column_2, ... )
VALUES
(expression_1, expression_2, ... ),
(expression_1, expression_2, ... ),
...;

Yukarıdaki sözdizimi, VALUES anahtar kelimesi kullanılarak bir tabloya veri eklenirken komutun temel biçimini göstermektedir.

INSERT komutunu kullanarak dört satır ekleyelim.

Insert into COURSE values (1,'SQL');
Insert into COURSE values (2,'Python');
Insert into COURSE values (3,'SQL');
Insert into COURSE values (4,'C');

Aşağıdaki ekran görüntüsü, dört satırın başarıyla eklendiğini göstermektedir.

Mesajlar bölmesi, Kurs tablosuna dört satırın eklendiğini doğruluyor.

) 3 Adım Verileri görüntülemek için SELECT ifadesini kullanın. SQL Server'da verileri görüntülemek için aşağıdaki sözdizimini kullanın:

SELECT expression
FROM tableName
[WHERE condition];

Örnek Sorgu:

SELECT * FROM COURSE;

Tablo oluşturuldu ve şu anda dört kayıt içeriyor. Sütunlardan herhangi birinde aynı değere sahip kayıtlar oluşturabileceğinizi unutmayın, çünkü herhangi bir sınırlama yok. kısıtlamaları.

SELECT sorgusu tarafından döndürülen dört Kurs satırını gösteren sonuç tablosu.

T-SQL: Mevcut bir tabloyu kullanarak yeni bir tablo oluşturma

Yukarıda oluşturulan COURSE tablosuna benzer bir tablo daha oluşturmak istediğinizi, ancak Course_ID sütununa değil, yalnızca Course_Name sütununa ihtiyacınız olduğunu varsayalım.

Sözdizimi:

SELECT (Column 1, …) INTO <New Table name> FROM <Old Table name>;

Örnek Sorgu:

SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;

) 1 Adım "Yürüt" düğmesine tıklayarak sorguyu çalıştırın. Aşağıda gösterildiği gibi, eski tablodan kopyalanan dört kayıt içeren ve tek sütunlu COURSE_NAMES adlı yeni bir tablo oluşturulacaktır.

Mevcut bir tablodan SELECT INTO kullanılarak yeni bir COURSE_NAMES tablosu oluşturuldu.

Örnek Sorgu:

SELECT * FROM COURSE_NAMES;

Aşağıdaki sonuç, yeni COURSE_NAMES tablosundaki dört Course_Name kaydını listeler.

COURSE_NAMES tablosundaki Course_Name değerlerini gösteren sonuç tablosu.

Tablo Tasarımcısını Kullanma

Ayrıca buradan bir tablo da oluşturabilirsiniz. SQL Server Management Studio IDE, Tablo Tasarımcısı kullanılarak oluşturulmuştur.

) 1 Adım Aşağıda gösterildiği gibi, Tablo'ya sağ tıklayın > Yeni > Tablo.

Nesne Gezgini'nde Tablo'ya sağ tıklayın, ardından Yeni'yi ve sonra Tablo'yu seçin.

) 2 Adım Sütun adlarını girin ve veri tiplerive her sütunun boş değerlere izin verip vermeyeceğini seçin.

Yeni bir tablo tanımlamak için kullanılan Tablo Tasarımcısı araç çubuğu.

Sütun adları, veri türleri ve Boş Değerlere İzin Ver seçenekleriyle birlikte Tablo Tasarımcısı kılavuzu.

) 3 Adım Tabloyu kaydetmek için CTRL+S tuşlarına basın ve adını "Ders_Başlığı" olarak girin.

Yeni tabloyu Course_Title olarak kaydetmek için Ad Seç iletişim kutusunu seçin.

Yenile düğmesine tıkladıktan sonra, aşağıda gösterildiği gibi, Course_Title adında ve Course_Name adında bir sütun içeren yeni bir tablo görünür.

Nesne Gezgini'nde tek bir Course_Name sütununa sahip Course_Title tablosu.

SQL Server'da Tabloyu Değiştirme

SQL Server'da bir tabloyu değiştirmenin iki yolu vardır:

  • T-SQL: Yeni sütunlar ekleyerek tabloyu değiştirme.
  • Tablo Tasarımcısı kullanılıyor.

T-SQL: Sütunlar ekleyerek Tabloyu Değiştirme

Aşağıda SQL'de ALTER komutunun sözdizimi verilmiştir:

Sözdizimi:

 Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;

Sorgu:

ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);

) 1 Adım Sorguyu Çalıştır'a tıklayarak çalıştırın. Aşağıda gösterildiği gibi, Course_Title tablosunda Course_Duration adında yeni bir sütun artık mevcut.

ALTER TABLE ADD ifadesiyle Course_Duration sütunu ekleniyor.

Course_Title sütunları, yeni eklenen Course_Duration sütununu da içermektedir.

Tablo Tasarımcısını Kullanma

Ayrıca, Tablo Tasarımcısı'nı kullanarak kullanıcı arayüzünden bir tabloyu değiştirebilirsiniz.

) 1 Adım Aşağıda gösterildiği gibi, mevcut tabloya sağ tıklayın > Tasarım'ı seçin.

Course_Title tablosuna sağ tıklayın ve Tasarım'ı seçin.

) 2 Adım Sütun adını Course_Start_Date olarak ekleyin ve veri türünü seçin.

Tablo Tasarımcısında Course_Start_Date sütununu ve veri türünü ekleme

) 3 Adım Yeni eklenen sütunu kaydetmek için CTRL+S tuşuna basın. Aşağıda gösterildiği gibi, Course_Title tablosunda Course_Start_Date adında yeni bir sütun oluşturulur.

Kaydedilen Course_Start_Date sütununu gösteren Course_Title tablosu.

SQL Server'daki Tabloyu Sil

Bir tabloya artık ihtiyaç kalmadığında onu silersiniz.

SQL Server'da bir tabloyu silmenin iki yolu vardır:

  • SQL Server Management Studio kullanılarak.
  • T-SQL: DROP TABLE komutuyla tabloyu silin.

SQL Server Management Studio'yu Kullanma

) 1 Adım Aşağıda gösterildiği gibi, Course_Title adlı tablo için mevcut tabloya sağ tıklayın > Sil seçeneğini kullanın.

Course_Title tablosuna sağ tıklayın ve Sil'i seçin.

) 2 Adım Nesneyi Sil penceresinde Tamam'a tıklayın.

Nesneyi silme onay penceresi ve Tamam düğmesi

Aşağıda gösterildiği gibi, Course_Title tablosu tablo listesinden silinmiştir.

Course_Title tablosu silindikten sonra Nesne Gezgini tablo listesi

T-SQL: Tablo Silme

Aşağıda bir tabloyu silmek için kullanılan sözdizimi yer almaktadır.

Sözdizimi:

DROP TABLE <tableName>;

tableName parametresi silinecek tablonun adıdır.

Sorgu:

DROP TABLE COURSE_NAMES;

) 1 Adım Sorguyu çalıştırmak için "Yürüt" düğmesine tıklayın. Aşağıda gösterildiği gibi, COURSE_NAMES tablosu tablo listesinden silinecektir.

DROP TABLE komutu, COURSE_NAMES tablosunu siliyor.

COURSE_NAMES tablosu silindikten sonra Nesne Gezgini tablo listesi

Alternatif olarak, kaynakta yalnızca satırları (verileri) silmeyi amaçlayan ancak tablo yapısını olduğu gibi bırakarak tablonun daha sonra yeniden kullanılabilmesini sağlayan bir DELETE TABLE komutu gösterilmektedir.

Sözdizimi:

DELETE TABLE <Table name>;

Not: Standart T-SQL'de satırlar şu şekilde silinir: DELETE FROM <table>ve masa hızla boşalıyor TRUNCATE TABLE <table>Yukarıda gösterildiği gibi, DROP TABLE komutuyla tablonun tamamı silinir.

İlginç gerçekler!

  • XML veya resim gibi büyük dosyalar, VARBINARY(MAX), VARCHAR(MAX) veya XML türü gibi büyük nesne veri türleri kullanılarak bir sütunda saklanabilir (SQL Server bunu kullanmaz). Oracle-BLOB ve CLOB adlarının stili).
  • DELETE komutu yalnızca satırları siler ve bir işlem içinde geri alınabilirken, DROP komutu tüm tablo yapısını siler; SQL Server'da, açık bir işlem içinde çalıştırıldığında DROP komutu bile geri alınabilir.

SSS

DELETE komutu seçilen satırları siler ve tüm işlemler kayıt altına alınır. TRUNCATE komutu tüm satırları hızlıca siler ve kimlik değerlerini sıfırlar. DROP komutu ise tablonun tamamını, verilerini ve yapısını siler. SQL Server'da bu üç komutun tamamı açık bir işlem içinde geri alınabilir.

SQL Server 2016'dan beri kullanılabilen DROP TABLE IF EXISTS table_name komutunu kullanın. Bu komut, tablo mevcutsa siler, yoksa hiçbir şey yapmaz ve böylece hata oluşmasını önler. Daha eski sürümlerde, silme işleminden önce OBJECT_ID'yi kontrol edin.ping.

SQL Server'da RENAME TABLE komutu bulunmamaktadır. Bunun yerine, örneğin EXEC sp_rename 'old_name', 'new_name' gibi sistem saklı prosedürü olan sp_rename'i çalıştırın. sp_rename bu referansları otomatik olarak değiştirmediği için, bağımlı görünümleri, prosedürleri ve kodu daha sonra güncelleyin.

Evet. ALTER TABLE table ALTER COLUMN column new_type komutu bir sütunun veri türünü değiştirir ve ALTER TABLE table DROP COLUMN column komutu ise sütunu siler. Değişiklik yalnızca mevcut veriler uyumlu olduğunda başarılı olur, bu nedenle dönüşümleri test edin ve önce yedekleme yapın.

Kısıtlamaları CREATE TABLE komutu içinde tanımlayın, örneğin Course_ID INT PRIMARY KEY gibi, veya ALTER TABLE ADD CONSTRAINT komutuyla daha sonra ekleyin. birincil anahtar benzersizliği sağlarken, bir yabancı anahtar Tablolar arasında satırları birbirine bağlar.

'#' önekiyle adlandırılan geçici bir tablo, tempdb'de oluşturulur ve oturum sona erdiğinde otomatik olarak silinir. Normal bir tablo ise siz silene kadar kalıcıdır. Geçici tablolar, bir toplu işlem veya prosedür içindeki kısa ömürlü ara sonuçlar için uygundur.

Evet. GitHub Yardımcı Pilotu Doğal dil istemlerinden CREATE, ALTER ve DROP TABLE komut dosyaları oluşturabilir ve sütunlar, veri tipleri ve kısıtlamalar önerebilir. Üretimde çalıştırmadan önce oluşturulan şemayı, anahtarları ve boş değer kabul edilebilirliğini daima gözden geçirin.

Yapay zeka ve makine öğrenimi araçları, örnek verilerden ve sorgu kalıplarından yola çıkarak tablo yapıları, veri tipleri ve indeksler önerir, gereksiz veya aşırı büyük sütunları işaretler ve riskli DROP veya ALTER işlemlerine karşı uyarıda bulunur. Geliştirici, her öneriyi uygulamadan önce onaylar.

Bu yazıyı şu şekilde özetleyin: