MS SQL Dersleri – 2 CRUD İşlemleri

Bu yazımızda MSSQL üzerinde bir database yaratıp daha sonra geçen dersimizde öğrenmiş olduğumuz data tiplerinin kullanarak bir tablo oluşturacağız ve bu tablo üzerinde

  • INSERT
  • SELECT
  • UPDATE
  • DELETE

komutlarını inceleyeceğiz.

CREATE DATABASE [SQLEgitim]

Yukarıda gördüğümüz komut ile basitçe SQL Server üzerinde bir database yaratıyoruz. Database yaratma aşamasında bazı dikkat etmemiz gereken durumlar mevcuttur. Bu konuları ileri ki yazılarımızda inceliyor olacağız. Şimdi tablo yaratma aşamasına geçelim.

USE [SQLEgitim]
CREATE TABLE [dbo].[Musteri](
	[ID] [INT] IDENTITY(1,1) NOT NULL,
	[Adi] [NVARCHAR](50) NULL,
	[Soyadi] [NVARCHAR](50) NULL,
	[DogumTarihi] [DATE] NULL,
        [Bakiye] [DECIMAL](6,2) NULL,
	[Aktif] [BIT] NULL,
	[KayitTarihi] DATETIME NULL
)

Yukarıdaki sorgumuzu incelersek CREATE TABLE komutu ile Müşteri tablomuzu oluşturuyoruz ve altı adet kolon ekliyoruz. Kolonların data tipleri ile ilgili detay bilgilere buradan ulaşabilirsiniz. Burada dikkat etmemiz gereken kısım ID kolonu, diğerlerinden farklı olarak IDENTITY özelliğine sahiptir. IDENTITY olarak belirlediğimiz alan otomatik olarak arttırılacaktır. Örneğimizde gördüğümüz gibi aldığı ilk parametre başlangıç değeri ikinci parametre ise artış miktarını temsil etmektedir. Şimdi sorgumuzu çalıştırıp sonucu görelim.

Görüldüğü üzere tablomuz SQLEgitim database’i üzerinde kolonları ile birlikte oluştu. Şimdi komutları incelemeye geçelim.

INSERT Komutu

Insert komutu tablomuza yeni kayıtlar eklememizi sağlayan komuttur. Basitçe kullanımı şu şekildedir.

USE [SQLEgitim]
INSERT INTO dbo.Musteri
(
    Adi,
    Soyadi,
    DogumTarihi,
    Bakiye,
    Aktif,
    KayitTarihi
)
VALUES
(
    'Gökhan',
    'Aravi',
    '1986-12-14',
    125.36,
    1,
    GETDATE()
);

Komutumuzu çalıştırdığımızda kaydımızın tabloya eklendiğini göreceğiz. Burada dikkat etmemiz gereken bir husus var. KayitTarihi alanına karşılık olarak yazdığımız GETDATE() fonksiyonu sistem saatini kayıt sırasında bu alana basarak bize bu satırın oluşma tarihi hakkında bilgi sağlayacaktır. Şimdi eklediğimiz kayıtı ‘SELECT’ komutu ile tablo üzerinden çekelim.

SELECT Komutu

Select komutu tablomuzda kayıtları sorgulamamızı sağlayan komuttur. Şimdi tabloya eklediğimiz kaydı çekelim.

SELECT ID,
       Adi AS 'Adı',
       Soyadi AS 'Soyadı',
       DogumTarihi AS 'Doğum Tarihi',
       Bakiye AS 'Bakiye',
       Aktif AS 'Aktif',
       KayitTarihi AS 'Kayıt Tarihi'
FROM dbo.Musteri

gördüğümüz gibi kaydımızı getirdik. Sorguyu örneğimizde olduğu gibi istediğimiz kolonları yazarak çekebileceğimiz gibi select’ten sonra sadece ‘*’ karakterini kullanarak tablomuzda ki tüm kolonları getirebiliriz.

SELECT *
FROM dbo.Musteri

Örnek sorgumuzda kullandığımız ‘AS’ komutu datamızı çekerken kolon isimlerimizi dilediğimiz gibi değiştirmeyi sağlamaktadır. Ben kullanımını göstermek için türkçe karakterler ve boşluk kullandım ama herhangi bir uygulama geliştirme sürecinde kesinlikle boşluk ve türkçe karakterler kullanılmamalıdır. Gelin şimdi var olan datalarımızı güncellememize yarayan ‘UPDATE’ komutunu inceleyelim.

UPDATE Komutu

Update komutu tablomuzda bulunan verileri güncellememizi sağlar. Örnek verecek olursak.

UPDATE dbo.Musteri
SET Adi = 'Ali',
    Bakiye = 550.65

Yukarıda ki sorgu Adi ve Bakiye alanlarını yeni değerleri ile güncellemektedir. Şimdi sorgumuzu çalıştırıp sonuçlarını görelim.

Görüldüğü üzere tabloda belirlediğimiz alanlar vermiş olduğumuz yeni değerlerle güncellendi. Şimdi ise kayıtlarımızı nasıl sileceğimizi görelim.

DELETE Komutu

Delete komutu tablolarımızda bulunan verileri silmemizi sağlar. Basit bir örnek ile kullanımını görelim.

DELETE FROM dbo.Musteri

Sorgumuzu çalıştırıp sonuçlarına bakalım.

Kayıtlarımız tablomuzdan tamamen silindi.

Bir yazımızın daha sonuna geldik. Gelecek yazımızda bu derste öğrenmiş olduğumuz komutları şarta bağlı çalıştırmayı öğreneceğiz. Konuyla ilgili eksik gördüğünüz veya sormak istediğiniz sorular için mail adresimden veya yorumlardan bana ulaşabilirsiniz.

Share

Add a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir