C#’da Xml’den Veri Okuma (Güncel döviz kurları)

Merhaba,

Bu örneğimizde Türkiye Cumhuriyet Merkez Bankası’nın resmi internet sitesinde insanlara  sunduğu  döviz bilgilerini C# yazıılım dilinde WFA uygulamasına xml den alarak okuyacağız.

Kod yapısı;

SQL Aggregate Functions

Merhaba Arkadaşlar, Bir programlama dilinde fonksiyon denildiğinde akla ilk olarak belli işleri yapmak üzere tasarlanmış kod blokları gelir. Fonksiyonlarla çalışmak, tekrarlanan işleri yapmak üzere, gereksiz kod tekrarını önleyen çok sağlıklı bir yöntemdir.   SQL Fonksiyonları 2 farklı mantık üzerine inşa edilmişlerdir. Bunlardan biraz, yazının indexini oluşturması açısından bahsetmek gerekirse ; Çoklu Satır Fonksiyonları (Aggregate Functions) : Bir sütundaki tüm satırlara uygulanırlar, bir hesap yapıp geriye tek bir değer döndürürler.

  • AVG
  • COUNT
  • FIRST
  • LAST
  • MAX
  • MIN
  • SUM

Tek Satır Fonksiyonları (Scalar Functions) : Tablonun bir satırını temel alarak işlem yapan fonksiyonlardır. Ama her satır için ayrı ayrı işlem yapmaktadır.

  • UPPER
  • LOWER
  • MID
  • LEN
  • ROUND
  • NOW
  • DAY
  • MONTH
  • YEAR

Bu yazımda bazı fonksiyonları kısaca açıklayıp basit örnekler yapmaya çalışacağım. Üzerinde işlem yapabileceğimiz bir database ve tablo oluşturalım  hem kısaca bunları da hatırlamış oluruz.

Şimdi ”insert” komutu ile içerisini bir kaç veri ile dolduralım. Film tarih ve puanlamaları tamam rastgele vereceğim. insert into Yerli(Ad,Tarih,Puan) values (‘Bekçiler Kralı’,1978,9) ile 16 adet film ekledim.

1 Neşeli günler 1978 7
  2 Yol 1980 8
3   Masumiyet 1997 5
4 Züğürt Ağa 1985 9
5 Babam ve Oğlum 2015 7
6 Hababam sınıfı 1975 9
7 Selvi Boylum 1978 9
8 Eşkiya 1996 8
9 Recep İvedik 2005 6
10 Arog 2009 5
11 Gora 2009 5
12 Sevdalı Yürekler 2009 4
13 Kapıcılar Kralı 1974 10
14 Çöpçüler Kralı 1974 10
15 Gol Kralı 1978 10
16 Bekçiler Kralı 1978 9

AVG ve SUM Fonksiyonları

SUM Fonksiyonu ile seçilen bir satırdaki tüm kayıtların toplamı hesaplanıp geri döndürülür, AVG Fonksiyonu ile ise tüm kayıtların ortalaması döndürülür. Tüm filmlerin Puanlarının toplamına ve ortalamasına  ulaşalım ;

COUNT Fonksiyonu

COUNT Fonksiyonu ile oluşturduğunuz sorgunun ürettiği satır sayısı bulunur ve geriye döndürülür. Eğer COUNT fonksiyonunu sadece bir sütun için uygularsanız NULL olmayan, yani değeri boş olmayan kayıtların sayısı bulunur. Tüm filmlerin sayısına COUNT fonksiyonunu kullanarak ulaşabiliriz ;

Herhangi bir film için tarih değerinin NULL olduğunu düşünün, aşağıdaki sorgu bize NULL olan  değerini döndürmeyecektir. Yani 16 yerine 15 değer döndürecektir. select count(Tarih) as Toplamsayı from Yerli

FIRST ve LAST Fonksiyonları

Seçtiğiniz sütun için ilk satıra FIRST Fonksiyonu ile, son satıra ise LAST Fonksiyonu ile ulaşabilirsiniz. İlk tarih değerine ve son Puan değerine ulaşalım ; select FIRST(Tarih) as İlk_tarih, LAST(Puan) as Son_Puan from Yerli Bu sorgu bize 1978 ve 9 değerlerini getirecektir.

MAX ve MIN Fonksiyonları

Seçilen sütundaki en büyük değere MAX Fonksiyonu ile, en küçük değere MIN Fonksiyonu ile ulaşabilirsiniz. IPuanı en yüksek filmin puanına ulaşalım ;

UPPER ve LOWER  Fonksiyonları

Seçilen sütundaki tüm satırlar için büyük harfe veya küçük harfe çevirme işlemini yaparlar. Tüm filmlerin adlarını büyük ve küçük harfe çevirelim ;

SUBSTRING Fonksiyonu

Seçilen kayıtları istenilen karakterinden başlayarak, istenilen uzunluk kadar gösterir. Pek açıklayıcı olmamış olabilir ama örneğe bakınız. Tüm filmlerin ikinci karakterlerinden itibaren, 5 karakter gösterelim ;

LEN Fonksiyonu

Seçilen sütundaki her satır için, kaydın harf sayısını, yani uzunluğunu döndürür. Filmlerin kaç harften oluştuklarına bakalım ; Not: Boş karakterleride sayar.

ROUND Fonksiyonu

Seçilen ondalıklı kayıtlar için yuvarlama işlemini gerçekleştirir. Virgülden kaç basamak sonra yuvarlayacağınızı da fonksiyona parametre olarak verebiliyorsunuz. Fakat vermek zorunda değilsiniz. Örnek sorgu şu şekildedir, bizim tablomuzda onlıklı sayı olmadığı için ekran görüntüsü ile gösteremeyeceğin. select round(Puan) as Yuvarlanmışpuan from Yerli

Tarih Fonksiyonları (Now, Day, Month, Year)

NOW() : Sistemin tarihini geri döndürür. DAY() : Aldığı tarih değerinin gününü döndürür. MONTH() : Aldığı tarih değerinin ayını döndürür. YEAR() : Aldığı tarih değerinin yılını döndürür. Sistemin tarihini döndürelim ;

SELECT NOW() AS Sistem_Tarihi
FROM Filmler

Sistem tarihinin gününü döndürelim ;

SELECT DAY(NOW) AS Gün
FROM Filmler

Sistem tarihinin ayını döndürelim ;

SELECT MONTH(NOW) AS Ay
FROM Filmler

Sistem tarihinin yılını döndürelim ;

SELECT YEAR(NOW) AS Yıl
FROM Filmler

MS SQL LIKE KOMUTU KULLANIMI

Merhaba Arkadaşlar, Bugün sizlere Sql Server üzerinde Like komutunun nasıl kullanılacağını anlatacağım. Öncelikle LIKE komutu nedir? LIKE komutu = Where komutu ile aynı anlamda kullanılabilir yani bir alan içerisinde bir yazı aramak istiyorsak Likekomutu ile arama işlemini yapabiliriz. Hemen bir adet uygulama yapalım;

SQL LIKE Syntax

SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;

deneme

Bu sorguad; select * from Employees where FirstName like ‘Nancy’ Yapmak istediğimiz  ”Employees” tablosunda, ”FirstName” column da ”Nancy” ile eşit  olan  kayıdı getir. LIKE komutunun kullanımı sadece bununla sınırlı değildir. Birçok kullanım şekli vardır LIKE komutunun şimdi bazı önemli olduğunuz düşündüğüm kullanımlarını da bakalım. 2 Burada ise; select * from Categories where CategoryName like ‘Con%’ sorgusu ile ”Categories” tablosunda  where (Nerede) ”CategoryName” column da, ‘Con%” =Con ile başlayanları getir. % işareti ile yapılmak istenen şudur; % eğer baştaysa= ‘%gel’= Nasıl başlarsa başlasın ama ‘gel’ ile bitsin. % eğer sondaysa= ‘git%’= ‘git’ ile başlasın nasıl biterse bitsin. % eğer başta ve sonda ise= ‘%Selamlar%’= Başı ve sonu da dahil  içinde ‘Selamlar’ ifadesi geçenleri getir. Bira karışmış olabilir ama örneklerle net olacaktır. 3select * from Categories where CategoryName like ‘%s’ Bu sorgu ile ‘CategoryName ‘ column da bulunan verilerden başı ne ile başlarla başlasın sonu ‘s’ ile biten ifadeler sorgulanmıştır.

Burada donem sutununun içerisinde “s” verisi geçen bütün kayıtları listeledik. “s” kelimenin başında ortasında sonunda neresinde olursa olsun hiç farketmez hepsini getirecek. Bunu ‘s’ in başına ve sonua % ifadesini koyarak gerçekleştirdik. Daha farklı kullanımlarda bulunmaktadır.

Bruada ‘__a%’ ile demek istediğim tam olarak şudur; ‘_’ boşluk(ne olursa olsun önemli değil) demektir, 2 adet _ koydum ve 3 karakteri ‘a’ olarak belirledim ve sonuna % koydum. İlk iki karakteri ne olursa olsun 3. karakter ‘a’ olsun ve  ne ile biterse bitsin farketmez. En çok işimize yarayacak komutlar genelde bunlardır.

MS SQL DML

Merhaba Arkadaşlar;

Data Manipulation Language (DML) tabloları şema nesneleri içinde verileri yönetmek için kullanılır.

Bunlardan bazıları;

SELECT – Veritabanından kayıt okur.
INSERT – Tabloya kayıt ekler.
UPDATE – Tablodaki kayıdı günceller.
DELETE – Tablodan kayırları siler ancak kapladığı alan kalır.
MERGE – UPSERT işlemi (ekleme veya güncelleme)
CALL – PL/SQL veya Java alt programı çalıştırır.

 

Şimdi ufak örneklerle bazı komutları inceleyelim;

SELECT – Veritabanından kayıt okur.

İki farklı Nortwind tablosuna Select yaptık.

INSERT- Tabloya kayıt ekler.

Yukarıdaki sorguladığım Shippers tablosuna yeni bir nakliye firması ekleyelim ve eklendiği görelim.

UPDATE – Tablodaki kayıdı günceller.

En son eklediğim ”Benden hızlısı yok” kargo firmasının name  bilgilerini güncelleyelim.

DELETE – Tablodan kayırları siler ancak kapladığı alan kalır.

Eklediğimiz en son kaydı komple tekrar silelim.

 

MS SQL DDL

Merhaba Arkadaşlar,

Data Definition Language (DDL) tabloları veritabanı yapısı veya şema tanımlamak için kullanılır.

Bunlardan bazıları;

CREATE – Veritabanında nesne yaratır.
ALTER – Veritabanının yapısını değiştirir.
DROP – Veritabanından obje siler.
TRUNCATE – Tablodaki kayıtları içerdikleri alan ile birlikte siler.
COMMENT – Yorum ekler.
RENAME – Nesnenin adını değiştirir.

Aşağıdaki örneklerimizde kod üzerinden CREATE,DROP,ALTER VB. işlemleri yapacağız.

Databseoluşturma ve silme; ”create” komutu ile  Okul adında bir database oluşturuyoruz.

Create database Okul

Şimdi bu oluşturduğumuz Database i ”Drop” komutu ile  silelim.

Drop  database Okul

Şimdi ise hızlıca Üniversiteler adında bir database oluşturalım ve  bu database içerisine ”Create Table” diyerek tablolarımızı ve tablolaromızın içine column name, datatype ve Allow nulls alanlarını oluşturalım oluşturalım.

Oluşturduğumuz tabloların diagram görüntüsü ise aşağıdaki gibidir.

Umarım  biraz anlaşılmıştır.

SQL Northwind Database yükleme

Merhaba,

Northwind veri tabanı MS bize sunmuş olduğu ve tamamen yasal olan veri sql öğrenmekl isteyenlerin kullanmasına açık bir veri tabanıdır.
Şimdi Northwind DB’yi nasıl SQL Server’ ımıza ekleyebiliriz onu anlatacağım.
Bu veritabanı sayesinde SQL’de yapmak istediğiniz neredeyse tüm örnekleri deneyebiliriz.

Microsoft SQL Server Management Studio‘yu açıyoruz.

1) Database sağ tıklayıdıktan sonra Restore Database seçeneğini seçiyoruz.

2) Device seçeneğini seçip hemen karşısındaki bulunan 3 noktaya tıklıyoruz.

3) Açılacak olan pencereden Add butonuna tıklıyoruz ve ilgili dosyayı seçiyoruz.

4) Dosyanın bulunduğu yeri seçiyoruz ve OK butonuna tıklıyoruz.

5) Backup Location bölümünde dosya görünüyor ve tekrardan OK butonuna tıklıyoruz.

5

6) Database yazan yere Database ismini veriyoruz ve sonra ilgili Database’i restore bölgesinden işaretliyoruz sonra OK butonuna tıklıyoruz.

7) İşlemimiz sonunda tamamlanıyor.

Hadi hayırlı olsun.