Kuruluma başlamadan önce
Windows Server 2008 R2 hakkında kısaca bilgi vermek istiyorum.
·
Windows Server 2008 22.10.2009 tarihinde yayınlandı.
Windows Server 2008 22.10.2009 tarihinde yayınlandı.
·
Kod adı “7” Server
Kod adı “7” Server
·
Üzerinde NT 6.1 kernel bulunmakta
aynı kernel Windows 7 tarafından da kullanılmaktadır.
Üzerinde NT 6.1 kernel bulunmakta
aynı kernel Windows 7 tarafından da kullanılmaktadır.
·
x86-64 ve IA-64 mimarisini destekler. (Intel Itanium
bilgisayarlar için farklı bir sürümü bulunmaktadır)
x86-64 ve IA-64 mimarisini destekler. (Intel Itanium
bilgisayarlar için farklı bir sürümü bulunmaktadır)
·
Yenilenmiş Active Directory
ve Sanallaştırma gibi özellikleri ürüne güç katmaktadır.
Yenilenmiş Active Directory
ve Sanallaştırma gibi özellikleri ürüne güç katmaktadır.
·
Bir diğer yenilik ise IIS tarafında yapılmıştır. IIS 7.5
ile Windows Server 2008 R2 sağlam ve güvenli bir web platformu olmaktadır.
Bir diğer yenilik ise IIS tarafında yapılmıştır. IIS 7.5
ile Windows Server 2008 R2 sağlam ve güvenli bir web platformu olmaktadır.
·
Toplamda yedi versiyondur. Standart, Web, Enterprise ve Datacenter versiyonlarının yanında Foundation,
HPC ve Itanium gibi özel amaçlar için de ürünleri bulunmaktadır.
Toplamda yedi versiyondur. Standart, Web, Enterprise ve Datacenter versiyonlarının yanında Foundation,
HPC ve Itanium gibi özel amaçlar için de ürünleri bulunmaktadır.
Windows Server 2008 R2 Edition ürünlerin karşılaştırması aşağıdaki gibidir.
| |||||||
Features
|
Foundation
|
Standard
|
Web
|
HPC
|
Enterprise
|
Datacenter
|
Itanium
|
Maximum physical memory (RAM)
(64-bit) |
8 GB
|
32 GB
|
32 GB
|
128 GB
|
2 TB
|
2 TB
|
2 TB
|
Maximum physical CPUs supported
|
1
|
4
|
4
|
4
|
8
|
64
|
64
|
Cross-File Replication (DFS-R)
|
No
|
No
|
No
|
No
|
Yes
|
Yes
|
Yes
|
Failover Cluster Nodes (Nodes)
|
No
|
No
|
No
|
No
|
16
|
16
|
8
|
Fault Tolerant MemorySync
|
No
|
No
|
No
|
No
|
Yes
|
Yes
|
Yes
|
Hot Add Memory
|
No
|
No
|
No
|
No
|
Yes
|
Yes
|
Yes
|
Hot Add Processors
|
No
|
No
|
No
|
No
|
No
|
Yes
|
Yes
|
Hot Replace Memory
|
No
|
No
|
No
|
No
|
No
|
Yes
|
Yes
|
Hot Replace Processors
|
No
|
No
|
No
|
No
|
No
|
Yes
|
Yes
|
Network AccessConnections (IAS)
|
10
|
50
|
No
|
No
|
Unlimited
|
Unlimited
|
2
|
Network AccessConnections (RRAS)
|
50
|
250
|
No
|
250
|
Unlimited
|
Unlimited
|
No
|
Remote Desktop AdminConnections
|
2
| ||||||
Remote Desktop Services Gateway
|
50
|
250
|
No
|
No
|
Unlimited
|
Unlimited
|
No
|
Virtual Image UseRights
|
No
|
Host + 1 VM
|
Guest
|
Host + 1 VM
|
Host + 4 VMs
|
Unlimited
|
Windows Server 2008 Kurulumu için sistem gereksinimleri
Processor
|
• Minimum: 1 GHz (x86 processor) or 1.4 GHz (x64 processor)
• Recommended: 2 GHz or
fasterNote: An Intel Itanium 2 processor is required for Windows Server 2008 for Itanium-Based Systems. |
Memory
|
• Minimum: 512 MB RAM
• Recommended: 2 GB RAM or
greater
• Maximum (32-bit systems):
4 GB (Standard) or 64 GB (Enterprise and Datacenter)
• Maximum (64-bit systems):
32 GB (Standard) or 1 TB (Enterprise and Datacenter) or 2 TB (Itanium-Based Systems) |
Available Disk Space
|
• Minimum: 10 GB
• Recommended: 40 GB or
greaterNote: Computers with more than 16 GB of RAM will require more disk space for paging, hibernation, and dump files. |
Drive
|
DVD-ROM drive
|
Display and Peripherals
|
• Super VGA (800 x 600) or
higher-resolution monitor
• Keyboard
• Microsoft Mouse or compatible
pointing device |
İşletim sistemi hakkında genel bilgileri verdikten sonra kurulum işlemine başlayabiliriz.
İlk olarak DVD’mizi sürücüye yerleştiriyoruz. Windows 2008 ekranı bizi karşılıyor. Ben kurulum dili olarak İnilgilizce yerel ayarlar içinde Türkiye ve Tükçe’yi seçerek devam ediyorum.
Install now’a tıklayarak devam ediyorum.
Ben kurulum yapmak için Windows Server 2008 R2 Enterprise (Full Installation)’ı seçiyorum.
Lisans kutucuğunu işaretleyip Next ile devam ediyorum.
Bilgisayar üzerinde daha önceden herhangi bir kurulum yapılmadığı için Custom (Advanced)’ı seçiyorum.
200 GB’lık diskimi bölebilmek için Drive option (advanced)’ı seçiyorum.
Sonraki ekranda New’e tıklıyorum.
100 GB’lık bir harddisk benim işimi fazlasıyla görecektir. 104800 Mb değerini yazdıktan sonra Apply’a tıklıyorum.
Ok tuşuna tıklayarak devam ediyorum.
Az önce oluşturduğum alanı seçerek Format’a tıklıyorum.
Formatladığım datanın kaybolacağına dair beni uyaran ekranı Ok’e tıklayarak kapatıyorum.
Format işlemi bittikten
sonra Next ile devam ediyorum.
sonra Next ile devam ediyorum.
Windows dosyaları kopyalamaya başladı bu işlem biraz zaman alacak.
Dosyaların kopyalanması tamamlandı ve ilk Restart
işlemi başladı.
işlemi başladı.
Registry ayarları yapılıyor.
Kurulum tamamlanmak üzere.
İlk kullanım için bilgisayar kendini hazırlıyor.
Başlamadan önce şifremi
değiştirmem gerektiğine dair bir uyarı ekranı geliyor. Ok’e
tıklayarak devam ediyorum.
değiştirmem gerektiğine dair bir uyarı ekranı geliyor. Ok’e
tıklayarak devam ediyorum.
Şifreyi verdikten sonra
devam ediyorum.
devam ediyorum.
Şifremi değiştirdim ve
Ok’e tıklayarak devam ediyorum.
Ok’e tıklayarak devam ediyorum.
Tüm işlemler tamamlandı masaüstüm geldi.
Detaylı Windows Server 2008 R2 Kurulumu
Windows Server 2008 Unutulan Administrator Şifresini nasıl sıfırlarız ?
Yüklü olan Windows Server 2008 DVD takarak işletim sisteminin DVD üzerinden boot edilmesini sağlayınız.
Dili seçtikten sonra repair modda açacağız. Daha sonra Command Prompt’a giriş yaparak aşağıda ki komutları takip edin..
$ C:
$ cd Windows
$ cd System32
$ Move Utilman.exe Utilman.exe.bak
$ Copy cmd.exe Utilman.exe
işlemini yaptıkdan sonra arka pencerede bulunan restart tıklayın.
Windows Server 2008 Dvd çıkartarak açılmasını bekleyin.. Logon ekranı geldiğinde Windows Logo Tuşu + Uharfine basarak Command Prompt’u çalıştırın.
Net user Administrator Yenişifresi
Yazarak unutmuş olduğunuz şifreyi değiştirebilirsiniz.
Windows Server Unutulan Administrator Şifresini sıfırlama
Her data-link katman protokolunun kendi frame formatmarı vardır.Veri alanlarının maksimum boyutu tanımlanan biçimdeki alanlardan biridir.Fiziksel bir ağın çerçevesindeki veri bölümünde taşıyabileceği en fazla veri miktarına MTU (Maksimum İletim Birimi) denir. MTU bir Data-Link protokolünün sarmalladığı, paketleyebildiği byteların en büyük değeridir. MTU değerleri ağdan ağa değişebilir.
İşletim sisteminiz üzerindeki MTU değerini değiştirmek için ;
Başlat > Çalıştır > CMD ( Komut satırı ) Yönetici olarak açıyoruz ve aşağıda ki komutları sırası ile uyguluyoruz.
netsh
interface
ipv4
set subinterface “Local Area Connection” mtu=xxxx store=active
Buradaki Local Area Connection yazısı yerine Ethernet bağdaştırıcı adınızı girmeniz gerekmektedir. Ayrıca xxxx değeri yerinede değiştirilmesini istediğiniz MTU değerini yazmanız gerekmektedir.
MTU Ayarı Nedir? Mtu Ayarı Nasıl Yapılır ?
--TARİH VE ZAMAN FONKSİYONLARI
GETDATE () Fonksiyonu:
--Şu andaki tarihi ve saati gösterir.
select GETDATE()
--Yazıp çalıştırdığımızda 2011-09-29
--10:38:09.230 gibi sonuç görüntülenir.
select GETDATE() as [NOW]
select DAY(GETDATE()) as [Today]
select MONTH(GETDATE()) as [Month]
select YEAR(GETDATE()) as [Year]
DATEPART () Fonksiyonu:
--Bu fonksiyon tarihle ilgili
--sayısal bilgilerin
--alınması için kullanılır.
SELECT DATEPART(dd, '01.28.1974')--AY.GÜN.YIL
SELECT DATEPART(mm, '01.28.1974')
SELECT DATEPART(yy, '01.28.1974')
SELECT DATEPART(dd, '28.01.1974')--HATALI YAZIM
--hata mesajı: Msg 241, Level 16, State 1, Line 1
--Conversion failed when converting date and/or time from character string.
select DATEPART(day,getdate()) as [Today]
select DATEPART(MONTH,GETDATE()) as [Month]
select DATEPART(YEAR,'12.12.1999') as [Year]
DATEADD () Fonksiyonu:
--Bu fonksiyon verilen tarihe belirttiğimiz
--şekilde gün, ay, yıl ekler.
SELECT DATEADD(dd, 1, '04.28.2007')
--1 gün ekler
SELECT DATEADD(MM, 3, '04.28.2007')
SELECT DATEADD(DD, 90,'04.28.2007')
select DATEADD(dd, 270, getdate())
select DATEADD(MM, 9, getdate())
select DATEADD(YEAR,1,getdate())
as [Bir Yıl Sonrası]
DATEDIFF () Fonksiyonu:
--belirttiğimiz iki tarih arasında
--belirttiğimiz cinsten farkını göstermektedir.
SELECT DATEDIFF(day,'04.14.1974','02.13.2007')
SELECT DATEDIFF(MONTH,'04.14.1974','02.13.2007')
SELECT DATEDIFF(YEAR,'04.14.1974','02.13.2007')
select DATEDIFF(day,'01.01.2000',getdate())
select DATEDIFF(DAY,GETDATE(),
dateadd(DAY,35,getdate()))
select DATEDIFF(MONTH,GETDATE(),
dateadd(MONTH,30,getdate()))
select DATEDIFF(YEAR,GETDATE(),
dateadd(MONTH,32,getdate()))
select DATEDIFF(year,getdate(),dateadd(month,36,getdate()))
GETDATE () Fonksiyonu:
--Şu andaki tarihi ve saati gösterir.
select GETDATE()
--Yazıp çalıştırdığımızda 2011-09-29
--10:38:09.230 gibi sonuç görüntülenir.
select GETDATE() as [NOW]
select DAY(GETDATE()) as [Today]
select MONTH(GETDATE()) as [Month]
select YEAR(GETDATE()) as [Year]
DATEPART () Fonksiyonu:
--Bu fonksiyon tarihle ilgili
--sayısal bilgilerin
--alınması için kullanılır.
SELECT DATEPART(dd, '01.28.1974')--AY.GÜN.YIL
SELECT DATEPART(mm, '01.28.1974')
SELECT DATEPART(yy, '01.28.1974')
SELECT DATEPART(dd, '28.01.1974')--HATALI YAZIM
--hata mesajı: Msg 241, Level 16, State 1, Line 1
--Conversion failed when converting date and/or time from character string.
select DATEPART(day,getdate()) as [Today]
select DATEPART(MONTH,GETDATE()) as [Month]
select DATEPART(YEAR,'12.12.1999') as [Year]
DATEADD () Fonksiyonu:
--Bu fonksiyon verilen tarihe belirttiğimiz
--şekilde gün, ay, yıl ekler.
SELECT DATEADD(dd, 1, '04.28.2007')
--1 gün ekler
SELECT DATEADD(MM, 3, '04.28.2007')
SELECT DATEADD(DD, 90,'04.28.2007')
select DATEADD(dd, 270, getdate())
select DATEADD(MM, 9, getdate())
select DATEADD(YEAR,1,getdate())
as [Bir Yıl Sonrası]
DATEDIFF () Fonksiyonu:
--belirttiğimiz iki tarih arasında
--belirttiğimiz cinsten farkını göstermektedir.
SELECT DATEDIFF(day,'04.14.1974','02.13.2007')
SELECT DATEDIFF(MONTH,'04.14.1974','02.13.2007')
SELECT DATEDIFF(YEAR,'04.14.1974','02.13.2007')
select DATEDIFF(day,'01.01.2000',getdate())
select DATEDIFF(DAY,GETDATE(),
dateadd(DAY,35,getdate()))
select DATEDIFF(MONTH,GETDATE(),
dateadd(MONTH,30,getdate()))
select DATEDIFF(YEAR,GETDATE(),
dateadd(MONTH,32,getdate()))
select DATEDIFF(year,getdate(),dateadd(month,36,getdate()))
SQL Tarih Fonksiyonları ( Getdate,Datepart,Datediff) Örnekler
2008de hazirlanmıs Dükkan veritabanını asagidan indirebilirsiniz.
2008 Dukkan Veritabanını Buradan İndirebilirsiniz.
2008 Dukkan Veritabanını Buradan İndirebilirsiniz.
SQL 2008 Hazir dükkan veritabanı
SQL KOD ÖRNEKLERİ
SELECT *
FROM Ogrenciler
-- yukarıdaki kod ile tüm kolonlar listelenir
-- iki tire işareti remark anlamına gelir açıklama satırları bu şekilde girilir
-- yukarıdaki kod ile tüm kolonlar listelenir
-- iki tire işareti remark anlamına gelir açıklama satırları bu şekilde girilir
SELECT Adi,
Soyadi FROM Ogrenciler
SELECT Soyadi, Adi FROM Ogrenciler
-- Yukarıda ise öğrenciler tablosundan adı ve soyadı fieldları alınır.
SELECT Soyadi, Adi FROM Ogrenciler
-- Yukarıda ise öğrenciler tablosundan adı ve soyadı fieldları alınır.
SELECT *
FROM Ogrenciler WHERE Adi = 'Burcu'
--Sorguya koşul yazmak istersem WHERE ifadesini kullanırım
--varchar tanımlı alanlar için ve tarih tanımlı alanlar tek tırnak içinde içinde sorgulanır.integer yani tamsayılar ise ' olamdan sorgulanır.
--Sorgular f5 tuşu ya da Execute butonu ile çalışır.
--Sorguya koşul yazmak istersem WHERE ifadesini kullanırım
--varchar tanımlı alanlar için ve tarih tanımlı alanlar tek tırnak içinde içinde sorgulanır.integer yani tamsayılar ise ' olamdan sorgulanır.
--Sorgular f5 tuşu ya da Execute butonu ile çalışır.
SELECT *
FROM Ogrenciler WHERE Ogrencinumarasi = 60202009
SELECT *
FROM Ogrenciler WHERE Adi LIKE '%li%'
--Yukarıdaki sorgu adında 'li' harf öbeği geçen kayırları listeler
SELECT * FROM Ogrenciler WHERE Adi LIKE '_li'
--Yukarıdaki sorgu adında 'li' harf öbeği geçen kayırları listeler
SELECT * FROM Ogrenciler WHERE Adi LIKE '_li'
SELECT *
FROM Ogrenciler WHERE Adi LIKE '_li%'
--Yukarıdaki kod örneğinde ise ilkinde ali,eli gibi sonuçlar dönebilir yani ilk harf ne olursa olsun önemli değil ama 3 harfli ve 2. 3. harfleri li olan kayıtlar listelenir.% işareti ise sağdan kaç harf olucağını önemsemez.
SELECT * FROM Ogrenciler WHERE Adi LIKE '__li%'
-- Yukarıdaki sorgu içerisinde li harf öbeği olsun.
-- li nin solunda 2 karakter olsun
--sağında ne olup olmadığı çok önemli değil
--Yukarıdaki kod örneğinde ise ilkinde ali,eli gibi sonuçlar dönebilir yani ilk harf ne olursa olsun önemli değil ama 3 harfli ve 2. 3. harfleri li olan kayıtlar listelenir.% işareti ise sağdan kaç harf olucağını önemsemez.
SELECT * FROM Ogrenciler WHERE Adi LIKE '__li%'
-- Yukarıdaki sorgu içerisinde li harf öbeği olsun.
-- li nin solunda 2 karakter olsun
--sağında ne olup olmadığı çok önemli değil
SELECT * FROM Ogrenciler WHERE Adi LIKE '__li'
SELECT
COUNT(*) FROM Ogrenciler
--Count yani Adet verir
SELECT COUNT(*) FROM Ogrenciler WHERE OgrenciNumarasi IS NOT NULL
--Count yani Adet verir
SELECT COUNT(*) FROM Ogrenciler WHERE OgrenciNumarasi IS NOT NULL
SELECT
COUNT(*) FROM Ogrenciler WHERE OgrenciNumarasi IS NULL
--Yukarıdaki örnekte ise ogrennciNumarasi alani null yani boş olmayan kayıtları getirir.
SELECT COUNT(*) FROM Ogrenciler WHERE Adi LIKE 'A%'
--Adı A ile başlayan kayıtlar döner.
SELECT * FROM Ogrenciler WHERE Adi='alper'
--Yukarıdaki örnekte ise ogrennciNumarasi alani null yani boş olmayan kayıtları getirir.
SELECT COUNT(*) FROM Ogrenciler WHERE Adi LIKE 'A%'
--Adı A ile başlayan kayıtlar döner.
SELECT * FROM Ogrenciler WHERE Adi='alper'
SELECT *
FROM Ogrenciler WHERE Cinsiyeti=0
SELECT
COUNT(Cinsiyeti) AS Adet,Cinsiyeti FROM Ogrenciler
GROUP BY Cinsiyeti
--field adını değiştirmek için As kullanırım.
--Count komutu ile field ın adı kaybolur
--as ile isimlendirmekte fayda var.
SELECT * FROM Ogrenciler ORDER BY OgrenciNumarasi
-- Order by Sıralamayı sağlar
--order'da hiç birşey yazmazsak default olan ASC dir
GROUP BY Cinsiyeti
--field adını değiştirmek için As kullanırım.
--Count komutu ile field ın adı kaybolur
--as ile isimlendirmekte fayda var.
SELECT * FROM Ogrenciler ORDER BY OgrenciNumarasi
-- Order by Sıralamayı sağlar
--order'da hiç birşey yazmazsak default olan ASC dir
SELECT *
FROM Ogrenciler
ORDER BY OgrenciNumarasi ASC
SELECT * FROM Ogrenciler
ORDER BY OgrenciNumarasi DESC
-- Order by desc tersten Sıralamayı sağlar
SELECT * FROM Ogrenciler
ORDER BY Adi , Soyadi
--iki field a göre sıralama yapabilmek mümkündür.
SELECT Adi ,COUNT(Adi) AS Adet FROM Ogrenciler
GROUP BY Adi
-- JOIN : iki veya daha fazla tablodan
-- ilişkisel veri sorgulamya yatar
ORDER BY OgrenciNumarasi ASC
SELECT * FROM Ogrenciler
ORDER BY OgrenciNumarasi DESC
-- Order by desc tersten Sıralamayı sağlar
SELECT * FROM Ogrenciler
ORDER BY Adi , Soyadi
--iki field a göre sıralama yapabilmek mümkündür.
SELECT Adi ,COUNT(Adi) AS Adet FROM Ogrenciler
GROUP BY Adi
-- JOIN : iki veya daha fazla tablodan
-- ilişkisel veri sorgulamya yatar
SELECT Ogrenciler.Adi
, Ogrenciler.Soyadi , City.City
FROM
Ogrenciler INNER JOIN City ON City.CityId =Ogrenciler.CityId
-- Ogrencilerin CityID sini göstermek işime yaramaz
-- fakat İl bilgisi işime yarar.
-- amacım iki tablo arasında ilişki tanımlayarak
--veriyi getirmek.
-- iki tarafta da aynı olan eşleşen kayıtları getirir.
-- Ogrencilerin CityID sini göstermek işime yaramaz
-- fakat İl bilgisi işime yarar.
-- amacım iki tablo arasında ilişki tanımlayarak
--veriyi getirmek.
-- iki tarafta da aynı olan eşleşen kayıtları getirir.
SELECT *
FROM Ogrenciler ORDER BY OgrenciNumarasi
--Order by sıralamayı sağlar
--select * from Ogrenciler order by OgrenciNumarasi desc
--Order by dan sonra ASC ve DESC olmak üzere 2 seçeneğim var
--Default olan ASC : Artan sırada dır. DESC azalan
SELECT * FROM Ogrenciler ORDER BY OgrenciNumarasi ASC
SELECT * FROM Ogrenciler WHERE OgrenciNumarasi=60702004
--Sorgu kriteri yazmak için WHERE ifadesi kullanılır.
SELECT * FROM Ogrenciler WHERE OgrenciNumarasi >=60702004 AND OgrenciNumarasi <= 60702020
--Order by sıralamayı sağlar
--select * from Ogrenciler order by OgrenciNumarasi desc
--Order by dan sonra ASC ve DESC olmak üzere 2 seçeneğim var
--Default olan ASC : Artan sırada dır. DESC azalan
SELECT * FROM Ogrenciler ORDER BY OgrenciNumarasi ASC
SELECT * FROM Ogrenciler WHERE OgrenciNumarasi=60702004
--Sorgu kriteri yazmak için WHERE ifadesi kullanılır.
SELECT * FROM Ogrenciler WHERE OgrenciNumarasi >=60702004 AND OgrenciNumarasi <= 60702020
SELECT *
FROM Ogrenciler WHERE OgrenciNumarasi BETWEEN 60702004 AND 60702020
--Between 2 değer arasını sorgular
SELECT * FROM Ogrenciler WHERE Adi = 'Oytun'
--Between 2 değer arasını sorgular
SELECT * FROM Ogrenciler WHERE Adi = 'Oytun'
SELECT *
FROM Ogrenciler WHERE Adi LIKE 'Al%'
-- Al ile başlayan bütün kayıtları göster
--% işareti joker anlamına gelir
-- Al ile başlayan bütün kayıtları göster
--% işareti joker anlamına gelir
SELECT *
FROM Ogrenciler WHERE Adi LIKE 'G%'
SELECT *
FROM Ogrenciler WHERE Adi LIKE '%me%'
--içirisinde ME geçen tüm adları listeler
--içirisinde ME geçen tüm adları listeler
SELECT *
FROM Ogrenciler WHERE Adi LIKE '_li'
SELECT *
FROM Ogrenciler WHERE Adi LIKE '__li'
SELECT *
FROM Ogrenciler WHERE Adi LIKE '__li_'
SELECT COUNT(*) FROM Ogrenciler
--Count toplam adeti almaya yarar 32
SELECT COUNT(*) FROM Ogrenciler WHERE Cinsiyeti= 0
--Bayanların sayısını bulmamı sağladı.
SELECT Sehir, COUNT(Sehir) AS ToplamAdet FROM Ogrenciler
GROUP BY Sehir
ORDER BY COUNT(Sehir) DESC
--as ile kolon adını değiştirmeye yarar
--count ile kolon adı kaybolduğunda
--'as' kullanmak önerilir.
SELECT Cinsiyeti, COUNT(Cinsiyeti) AS ToplamAdet FROM Ogrenciler
GROUP BY Cinsiyeti
ORDER BY COUNT(Cinsiyeti) DESC
--group by gruplama yapmaya yarar
SELECT Ogrenciler.Adi,
Ogrenciler.Soyadi,
Ogrenciler.OgrenciNumarasi ,
city.CityName
FROM Ogrenciler
INNER JOIN City ON City.CityId = Ogrenciler.Sehir
--bu örnekte ise şehirin kodu city tablosundaki id
--ile bağlanıp o id ye karşılık gelen değer alnmıştır.
SELECT * FROM Ogrenciler
WHERE Sehir IN (34,35,6)
--sehir id leri 34,35,6 olan iller çekilir.
SELECT * FROM Ogrenciler
WHERE Sehir NOT IN (34,35,6)
-- in içinde içeren kayıtları listeler
SELECT COUNT(*) FROM Ogrenciler
--Count toplam adeti almaya yarar 32
SELECT COUNT(*) FROM Ogrenciler WHERE Cinsiyeti= 0
--Bayanların sayısını bulmamı sağladı.
SELECT Sehir, COUNT(Sehir) AS ToplamAdet FROM Ogrenciler
GROUP BY Sehir
ORDER BY COUNT(Sehir) DESC
--as ile kolon adını değiştirmeye yarar
--count ile kolon adı kaybolduğunda
--'as' kullanmak önerilir.
SELECT Cinsiyeti, COUNT(Cinsiyeti) AS ToplamAdet FROM Ogrenciler
GROUP BY Cinsiyeti
ORDER BY COUNT(Cinsiyeti) DESC
--group by gruplama yapmaya yarar
SELECT Ogrenciler.Adi,
Ogrenciler.Soyadi,
Ogrenciler.OgrenciNumarasi ,
city.CityName
FROM Ogrenciler
INNER JOIN City ON City.CityId = Ogrenciler.Sehir
--bu örnekte ise şehirin kodu city tablosundaki id
--ile bağlanıp o id ye karşılık gelen değer alnmıştır.
SELECT * FROM Ogrenciler
WHERE Sehir IN (34,35,6)
--sehir id leri 34,35,6 olan iller çekilir.
SELECT * FROM Ogrenciler
WHERE Sehir NOT IN (34,35,6)
-- in içinde içeren kayıtları listeler
SQL Hazir Kod Örnekleri( Where, Like,Null,Group By,Order By,Join,Altsorgu,İN)
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
FROM table_name
WHERE column_name operator value
GROUP BY column_name
aggregate : birleştirme
fonksiyonları.
( sum,
count,
max,
min,
avg
)
pGroupBy ifadesi where ifadesi ile birlikte kullanıldığında where groupby’dan önce kullanılır.
SQL Gruplama yapmak ve Having
SQL NOW() Kullanımı
NOW() fonksiyonu o anki geçerli olan sistem tarihi ve saatini verir. Kayıt ekleme esnasında kaydın ne zaman eklendiği gibi bir bilgiyi saklamak istediğimiz zaman kullanılabilir. Veya veritbanından veri okurken kullanılabilir. Kısacası o anki sistem tarihine ve saatine ihtiyacımız olan her durumda kullanılabilir.
NOW() Kullanım Biçimi
Kayıt okumada kullanıma örnek:
NOW() Kullanım Biçimi
Kayıt okumada kullanıma örnek:
SELECT * FROM tablo WHERE kayit_tarihi>NOW()-7 |
NOW() ile günü tarihi ve saati alınıyor ve -7 ile beş gün öncesine gidiliyor. Yani bugün 19 Ocak ise -7 ifadesi ile 12 Ocak tarihine gidilmiş olunur. Yani bu örnekte son bir hafta içinde sisteme girilmiş olan kayıtların listesi elde edilir.
Kayıt eklemede kullanıma örnek:
INSERT INTO Personel (adi_soyadi,kayit_tarihi) VALUES ("Salih ESKİOĞLU",NOW() ) |
Buradaki örnekte veritabanımıza Salih ESKİOĞLU isinde personel ekleniyor ve bu personelin kayıt tarihini biz elimizle girmek yerine direk olarak sistemden çekip yazdırıyoruz.
SQL NOW() Kullanımı
ROUND() fonksiyonu belirtilen ondalık sayı için sayısal bir alanda yuvarlamak için kullanılır.
Bazı veritbanı sistemleri tipik yuvarlamadan farklı olarak çalışabilir. Bir çok insan yuvarlama işleminin en yakın tam sayıya yapıldığını varsayar. Ancak, bazı veritbaanı yönetim sistemleri "Bankers Rounding" yani bankacı yuvarlaması denen sistemi kullanabilir. Bu sistemde en yakın ÇİFT sayıya yuvarlama yapılır. Mesela 13,3 için bir çok insan mantıken 13'e yuvarlanacağını düşünürken, "Bankers Rounding" sistemine göre 13 küsürlü bir rakam olduğu için 14'e yuvarlanır.
ROUND() Kullanım Biçimi
ROUND() Kullanım Biçimi
round(alan_adi,yuvarlama dışı bırakılacak basamak sayısı) |
Aşağıdaki gibi urunler isimli tablomuz olsun.
id | Urun | Fiyat |
1 | Buzdolabı | 1100,12 |
2 | LED TV | 1560,51 |
3 | Çamaşır Makinesi | 980,86 |
4 | Bulaşık Maknesi | 750,43 |
Örnek 1:
SELECT urun, ROUND(Fiyat,0) AS Urun_fiyati_yuvarlama
FROM Urunler
Çıktısı:
Urun | Urun_fiyati_yuvarlama |
Buzdolabı | 1100 |
LED TV | 1561 |
Çamaşır Makinesi | 981 |
Bulaşık Maknesi | 750 |
Bu kod ile hariç tutulacak basamak sayısı sıfır olarak belirtildi. Yani virgülden sonraki rakamların tümünü alıp değerlendirme yapıldı. 50'den büyük olanlar bir üst rakama, ufak olanlar ise bir alt rakama yuvarlandı.
Örnek 2:SELECT urun, ROUND(Fiyat,1) AS Urun_fiyati_yuvarlama
FROM Urunler
Çıktısı:
Örnek 2:SELECT urun, ROUND(Fiyat,1) AS Urun_fiyati_yuvarlama
FROM Urunler
Çıktısı:
Urun | Urun_fiyati_yuvarlama |
Buzdolabı | 1100,10 |
LED TV | 1560,50 |
Çamaşır Makinesi | 980,90 |
Bulaşık Maknesi | 750,40 |
Bu kod ile hariç tutulacak basamak sayısı bir olarak belirtildi. Yani virgülden sonraki rakamların ilki dikkate alınmayacaktır. ikinci rakamlar ise 5'ten büyük olanlar bir üst rakama, ufak olanlar ise bir alt rakama yuvarlandı.
SQL ROUND() Kullanımı
SQL LEN() Kullanımı
LEN() fonksiyonu metin tipindeki alanlarda verilerin boşluklar dahil karakter sayısını öğrenmemize yarar.
LEN() Kullanım Biçimi
LEN() Kullanım Biçimi
LEN(alan_adi) |
Aşağıdaki gibi satislar isimli tablomuz olsun. Bu tabloda Aylik_satis alanına satıcının o ay yağtığı toplam satışları yazıldığını düşünelim.
id | Satici_Personel | Aylik_satis |
1 | Salih ESKİOĞLU | 29 |
2 | Ayhan ÇETİNKAYA | 522 |
3 | Serkan ÖZGÜREL | 2 |
4 | İlhan ÖZLÜ | 163 |
Örnek 1:
SELECT *
FROM satislar
WHERE len(Aylık_satis)>2
Çıktısı:
id | Satici_Personel | Aylik_satis |
2 | Ayhan ÇETİNKAYA | 522 |
4 | İlhan ÖZLÜ | 163 |
Bu kod ile aylık satışı 2 haneden büyük olan kayıtlar ekrana yazılmıştır. Yani 3 haneli satış rakamına ulaşan personelin listesi alınmış olunur. Burada dikkat edilcek olan nokta karakter sayısıdır. Üç nolu kayıtta ki personelin satış rakamı 2. Ancak u tek haneli bir rakamdır. Dolayısı ile len fonksiyonunda belirtilen değer alandaki değer değil, değerin sahip olduğu karakter sayısıdır.
Örnek 2:SELECT ad_soyad, len(aylik_satis) AS aylik_satis_adedi_basamak_sayisi
FROM satislar
Çıktısı:
Örnek 2:SELECT ad_soyad, len(aylik_satis) AS aylik_satis_adedi_basamak_sayisi
FROM satislar
Çıktısı:
Satici_Personel | aylik_satis_adedi_basamak_sayisi |
Salih ESKİOĞLU | 2 |
Ayhan ÇETİNKAYA | 3 |
Serkan ÖZGÜREL | 1 |
İlhan ÖZLÜ | 3 |
Bu kod ile her personelin aylık olarak kaç basamaklı satış yaptığını görebiliriz..
SQL LEN() Kullanımı
Kaydol:
Kayıtlar
(
Atom
)