SQL DML (Data Manipulating Language) Kullanimi

SQL DML (Data Manipulating Language)


INSERT COMMAND
INSERT : Var olan bir kaynağa ekleme işlemi için kullanılır.

INSERT INTO
<TabloAdi>(<kolonAdi>,<kolonAdi>,<kolonAdi>)
VALUES (<Deger1>,<Deger2>,<Deger3>)

Ekleme yaparken dikkat edilmesi gereken en önemli husus "Boş geçilemez" kolonlara insert command'ında yer vermeliyiz.





KATEGORİLER TABLOSUNA YENİ BİR KATEGORİ EKLEMEK 
INSERT INTO Categories (CategoryName,Description) VALUES ('Yemekler','Kahvaltı en güzel yemektir')
SELECT * FROM Categories


KARGOLAR TABLOSUNA YENİ BİR KARGO FİRMASI EKLEMEK
Insert Into Shippers (CompanyName,Phone) VALUES ('New Kargo','Heryere Taşır')


INSERT INTO Shippers VALUES ('En New Kargo','uzaya taşır')

Select * from Shippers

--NULL değer girmek için değer yerine NULL yazmalıyız

--ÇALIŞANLAR TABLOSUNA KENDİMİZİ KAYIT EDELİM
INSERT INTO Employees VALUES ('Kabacaoğlu','ersoy','bilgigüvenligi','Mr','07.11.1989','01.01.2010','Bakırköy','İstanbul',NULL,'34000','Turkey','02123334422','5434',NULL,NULL,12,NULL)

----SCOPE_IDENTITY()--Son Eklenen kaydın id bilgisini elde etme işlemi

INSERT INTO Shippers (CompanyName,Phone) VALUES ('UZAY KARGO','04322224433')
SELECT SCOPE_IDENTITY() -- Veritabanına en son eklenen kayıdın id'sini gösterir. Mevcut oturumda yapılan son kaydın idsini döndürür.

--@@IDENTITY

INSERT INTO Shippers (CompanyName,Phone) VALUES('Kardeşler Kargo','0122332244')
SELECT @@IDENTITY -- SCOPE_IDENTITY ile aynı işi yapar. FAKAT Başındaki @@ global alanı temsil eder. Farklı yetkilendirme oturumlarında birbirlerinin ID lerini yakalamak istediklerinde @@IDENTITY kullanılır.

SİPARİŞLER(ORDERS) TABLOSUNA YENİ BİR KAYIT EKLEYİN VE O SİPARİŞE BİR DETAY EKLEYİN. (5 ID li üründen 10 adet 10 tl üzerinen satış bilgileri içersin. )

INSERT INTO Orders
(CustomerID,EmployeeID,OrderDate,RequiredDate,ShippedDate,ShipVia,
Freight,ShipName,ShipAddress,ShipCity,ShipRegion,ShipPostalCode,ShipCountry)
VALUES
('ALFKI',12,'09.04.2015','09.04.2015','09.04.2015',2,25.45,
'SatılanUrun','Bakirkoy','Istanbul',NULL,NULL,'Turkey')

INSERT INTO [Order Details] (OrderID,ProductID,UnitPrice,Quantity,Discount)
VALUES (SCOPE_IDENTITY(),5,10,10,0.15)

select * from Orders Order by OrderID Desc

Select * from [Order Details] Order by OrderID DESC

SQL DEĞİŞKEN TANIMLAMA

DECLARE

Declare @<degiskenAdi> <degiskenTipi> --> SQL de değişkenler @ ile tanımlanır global değişkenler @@ ile tanımlanır.


Declare @sonID int
INSERT INTO Orders
(CustomerID,EmployeeID,OrderDate,RequiredDate,ShippedDate,ShipVia,
Freight,ShipName,ShipAddress,ShipCity,ShipRegion,ShipPostalCode,ShipCountry)
VALUES
('ALFKI',12,'09.04.2015','09.04.2015','09.04.2015',2,25.45,
'SatılanUrun','Bakirkoy','Istanbul',NULL,NULL,'Turkey')
Set @sonID = SCOPE_IDENTITY()
INSERT INTO [Order Details]
(OrderID,ProductID,UnitPrice,Quantity,Discount)
VALUES (@sonID,5,10,10,0.15)


UPDATE COMMAND
UPDATE
<TabloAdi> SET
<kolonAdi> = <Değer>,
<kolonAdi> = <Deger>
WHERE <KOŞUL>


ÖNEMLİ = KOŞUL OLMAZSA VERDİĞİNİZ DEĞİŞİKLİK TÜM KOLON İÇİN GEÇERLİ OLACAKTIR. 

50 ₺'NİN ALTINDA OLAN ÜRÜNLERE 50 ₺ ZAM YAPINIZ 

UPDATE Products SET UnitPrice += 50 WHERE UnitPrice < 50

select ProductName,UnitPrice from Products Order by 2


DELETE COMMAND
DELETE FROM <KolonAdi>
WHERE <Koşul>

ÇOK ÖNEMLİ 1= Koşul vermeden silmek istediğiniz kolonu yazarsanız kolondaki ististanız tüm değerler silinip gidecektir.
ÇOK ÖNEMLİ 2 = EĞER SİLMEK İSTEDİĞİNİZ SATIR HERHANGİ BİR TABLODA İLİŞKİLİ İSE SİLMENİZE İZİN VERMEYECEKTİR. EĞER BUNA RAĞMEN SİLMEK İSTERSENİZ CASCADE İŞLEMİNE TABİ TUTMANIZ GEREKİR.


-- ADI Ersoy OLAN ÇALIŞANLARI SİLİNİZ

DELETE FROM Employees WHERE FirstName = 'Ersoy'
Select * from Shippers



Yorumlar

Bu blogdaki popüler yayınlar

En İyi 20 Hacker Duvar Kağıtları