SQL e GİRİŞ. Çağlar Ülküderner caglar@tubitak.gov.tr



Benzer belgeler
Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

Mysql Veritabanı Komutları

Laboratuvar 2 Tek Kayıt Fonksiyonları

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

MSSQL. 4. Hafta Uygulama - 1 BPR255 Veritabanı CREATE DATABASE OKUL GO USE OKUL GO

Oracle da kullanılan veri tipleri:

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Veri Tabanı Programlamaya Giriş

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

YAPISAL SORGULAMA DİLİ (SQL)

Veri Tabanı-I 9.Hafta

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi --

Veri Tabanı Hafta Dersi

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

SQL e Giriş. Uzm. Murat YAZICI

ACCESS PLATFORMUNDA SQL

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Veri Tabanı II Veri Tipleri. 1. Hafta Dersi

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Kaynakça. Murat ELİÇALIŞKAN Webmaster. Düzenleme Burak Kıymaz

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

Gruplama (aggregate) fonksiyonları bir dizi değer üzerinde hesaplama yaparlar ve bir sonuç

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

MySQL'e Giris. Eger bir sorun ile karsilasmadan veritabanina baglanabildiyseniz karsiniza asagidaki gibi bir ekran gelecektir.

6 Aritmetiksel Operatörler ve Hazır Fonksiyonlar

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Yahya Demircan. Muhittin Altınkaya

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

Veri Tabanı Yönetim Sistemleri Bölüm - 6

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

MOBİL UYGULAMA GELİŞTİRME

3 Sql Veri Tipleri ve Örnek Veritabanı Tasarımı. Veritabanı 1

SQL Komutları (2) Uzm. Murat YAZICI

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

2- Total de 8000 byte yer tutup 4000 karakter olarak kullanabildiğimiz tip aşağıdakilerden hangisidir?

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

Veri Tabanı-I 1.Hafta

3 Sql Veri Tipleri. Veritabanı 1

«BM364» Veritabanı Uygulamaları

Veritabanı Nedir? Veritabanı

Veri Tabanı-I 5.Hafta

VERİTABANI Veritabanı Yönetimi

RAPOR VE FORMLARDA KULLANILAN FONKSİYONLAR

Veri Tabanı-I 1.Hafta

İNTERNET PROGRAMCILIĞI - II

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

BİLİŞİM TEKNOLOJİSİNİN TEMELLERİ DERSİ

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Veritabanı. SQL (Structured Query Language)

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

Data Programming SQL Language

VERİ TABANI YÖNETİM SİSTEMLERİ I

Bölüm 10: PHP ile Veritabanı Uygulamaları

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

VERİ TABANI YÖNETİM SİSTEMLERİ-II

VERİTABANI. SQL (Structured Query Language)

ÖĞRENME-ÖĞRETME YÖNTEM VE TEKNİKLERİ. gösterip yaptırma, uygulamalı çalışma. Anlatım, soru-cevap, gösterip yaptırma, uygulamalı çalışma.

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Eki Öğr. Gör. Murat KEÇECĠOĞLU

PostgreSQL ve PL/pgSQL

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

PL/pgSQL SQL Yordamsal Dili

Bilgisayar Uygulamaları. MySql

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

KULLANICI TANIMLI FONKSİYONLAR (Devam)

Oracle Database 11g: Introduction to SQL

Internet Programming II

Php Programlama Dili MySQL Uygulamaları

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

1 ORACLE 11G DATABASE SERVER LE

FORMÜL ADI (FONKSİYON) FORMÜLÜN YAZILIŞI YAPTIĞI İŞLEMİN AÇIKLAMASI

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

Bir çeşit prosedür. Ancak bu prosedür kendiliğinden çalışır. Çalışması için tabloya veri eklemek, veri silmek, veri değiştirmek yeterlidir.

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

JDBC kütüphanesi, her görev için genellikle veritabanı kullanımı ile ilişkili API leri içerir:

Fonksiyonlar, Count, Sum, Avg, Max, Mın, Lower, Upper, Length, Round, Mod, Left, Right, Concat, If

İnternet Programcılığı

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

KULLANICI TANIMLI FONKSİYONLAR (Devam)

Bölüm 4: DDL Veri Tanımlama Dili

Veritabanı Tasarımı. Dönüşüm Fonksiyonları

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Unutulmuş Özellikler: Oracle Veritabanına Yaptığınız Yatırımı Sonuna Kadar Kullanın

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız.

VERİ TABANI YÖNETİM SİSTEMLERİ I

Veri Tabanı Örnekleri

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

Veri tabanına bağlanmak için öncelikle aşağıdaki yolu izleyerek ağ veri tabanı yazılımını başlatıyoruz.

Transkript:

SQL e GİRİŞ Çağlar Ülküderner caglar@tubitak.gov.tr

Database yaratmanın zorlukları? Ah o data structure dersi.. Eskiden bir kaç text yada binary dosya üzerinde herşeyi yapmaya çalışırdık. Fonksiyonlar yazıp sevinirdik. Buffer ayarlamaya çalışırdık.

Database Neden? Çok geniş kütüklerle boğuşmak İhtiyaçlar çok fazla Kütüklerin yönetimi Kütükleri korumak Yedekleme Güvenlik

Database Neden? Birden fazla veri yapısını bir arada tutmak Ya ekleme yapmak gerekirse Peki ya değişiklik olursa Bu dosya yapıları çöpe mi yoksa bir beyin fırtınsından ve yüzlerce satırlık kod yazdıktan sonra bir sonraki fırtınaya kadar geçici bir rahatlama mı?

Peki ya internet yüzü? Online gezinirken gerekli olursa Bir database in olaşılabilirliği Sunucu gücü Hazırlanılan bu dosyalara ulaşımı neyle yapacağız? Peki ya güvenlik?

Peki SQL Nedir? Structured Query Language Database yönetimi için bir programlama standartı. ANSI ve ISO standartlarında ve bir çok programlama dilli standart komutlarında SQL özelliklerini kullanmaya imkan sağlıyor.

SQL Kullanımı nasıl? Basitçe alaşılabilecek komutlarla kullanım Veri ekleyip çıkarmaktan tutup Veri yerini kolaylıkla bulmaya kadar Programlanabilir arayüz mevcut Yedek almak ve alınan yedekleri geri yüklemek çok kolay

SQL Nerede Lazım? Aslında her eve lazım :) Şirketin mali durumlarını toplarlamak Stok kontrolleri Veri arama sistemleri (Arama moturu, vb) Özellikle PHP kullananlara

SQL Ağzıyla kuş tutar mı? Aslında bu biraz da kullandığınız SQL e bağlı (MySQL, PostgreSQL vs.) Başlangıç için en iyisi MySQL Sonraki adım PostgreSQL Tüm ihtiyaçlarınıza ücretsiz çözüm

MySQL ne? Yenir mi? İlk başlayanlar için MySQL Altın dörtlünün bir parçası MyAdmin ile zorlanmadan öğrenerek kullanım imkanı Çoklu dil seçeneği ile kolay kullanım

MySQL ile ısınma hareketleri MySQL e bağlanmak mysql -h localhost -u root p Enter password: ****** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 18 to server version: 3.23.38 Type 'help;' or '\h' for help. Type '\c' to clear the buffer mysql> mysql>

MySQL ile ısınma hareketleri MySQL değişkenlerini görmek mysql> show variables; Versiyon bilgisinden bölge saatine kadar 78 farklı bilgi verir. mysql> status; Connection id: 18 Current database: Current user: root@localhost Server version: 3.23.38 Protocol version: 10 Connection: localhost via TCP/IP Client characterset: latin1 Server characterset: latin1 TCP port: 3306 Uptime: 11 min 43 sec Threads: 2 Questions: 247 Slow queries: 0 Opens: 243 Flush tables: 1 Open t ables: 64 Queries per second avg: 0.351

MySQL ile ısınma hareketleri Databaseleri görmek: mysql> show databases; +----------+ Database +----------+ cengdb deneme muhasebe mysql nuke test theatre +----------+ 7 rows in set (0.00 sec) show databases; Sisteme bağlı olan kullanıcının haklarının izin verdiği tüm databaseleri gösterir.

MySQL ile ısınma hareketleri Database seçmek için: use <database adı> Ör: mysql> use cengdb; Database changed Database İçindeki tableları görmek için: show tables; [ Veri tabanında veriler tablolar halinde tutulur. ]

MySQL ile ısınma hareketleri mysql> show tables; +------------------+ Tables_in_cengdb +------------------+ course_news courses exam_news exam_types firm general_news instructor place_exam_rel places student system_log user +------------------+ 12 rows in set (0.00 sec)

MySQL ile ısınma hareketleri Tabloyu Analiz etmek: mysql> analyze table courses; +----------------+---------+----------+----------+ Table Op Msg_type Msg_text +----------------+---------+----------+----------+ cengdb.courses analyze status OK +----------------+---------+----------+----------+ 1 row in set (0.00 sec) mysql>

MySQL ile ısınma hareketleri Tabloyu optimize etmek: mysql> optimize table courses; +----------------+----------+----------+----------+ Table Op Msg_type Msg_text +----------------+----------+----------+----------+ cengdb.courses optimize status OK +----------------+----------+----------+----------+ 1 row in set (0.00 sec) mysql>

MySQL ile ısınma hareketleri Tabloyu Onarmak: mysql> repair table courses; +----------------+--------+----------+----------+ Table Op Msg_type Msg_text +----------------+--------+----------+----------+ cengdb.courses repair status OK +----------------+--------+----------+----------+ 1 row in set (0.00 sec) mysql>

MySQL ile ısınma hareketleri Tabloyu kontrol etmek: mysql> check table courses; +----------------+-------+----------+----------+ Table Op Msg_type Msg_text +----------------+-------+----------+----------+ cengdb.courses check status OK +----------------+-------+----------+----------+ 1 row in set (0.00 sec) mysql>

MySQL ile ısınma hareketleri Database yaratma; create database <database adı> mysql> create database deneme; Query OK, 1 row affected (0.00 sec)

Değişken tipleri TINYINT(M) -> Numerik tamsayılar için. -128, 127 arasında değer alabilir. UNSIGNED ifadesi kullanılabilir. SMALLINT(M) -> Numerik tamsayilar için. -32768, 32767 arasında değer alabilir. UNSIGNED ifadesi kullanılabilir. MEDIUMINT(M) -> Numerik tamsayılar için. -8388608, 8388607 arasında deger alabilir. UNSIGNED ifadesi kullanılabilir. INT(M),INTEGER(M) -> Numerik tamsayılar için. -8388608, 8388607 arasında değer alabilir. UNSIGNED ifadesi kullanılabilir. BIGINT(M) -> Numerik tamsayilar için. -9223372036854775808, 9223372036854775807 arasında değer alabilir. FLOAT((M)(D)) -> Üstel tamsayilar için. -3.402823466E+38, -1.175494351E-38 arasında değer alabilir.

Değişken tipleri DOUBLE((M)(D)) -> Üstel tamsayılar için. -1.7976931348623157E+308, -2.2250738585072014E-308 arasında değer alabilir. DECIMAL((M)(D)) -> Noktalı sayilar için. DATE -> Tarih formatlı veri için. 'YYYY-MM-DD' formundadır. DATETIME -> Tarih-saat formatlı veri için. 'YYYY-MM-DD HH:MM:SS' formundadır. TIMESTAMP -> Özel tarih-saat formatlı veri için. TIME -> Zaman formatlı veri için. 'HH:MM:SS' formundadır.

Değişken tipleri YEAR(2 4) -> 2 yada 4 dijitli yıl değeri tutan tarih formatı. 'YYYY' veya 'YY' formundadır. CHAR(M) -> Sabit uzunluklu karakter dizisi için. 1-255 arasinda karakter tutabilir. VARCHAR(M) -> Değişken uzunluklu karakter dizisi için. 1-255 arasında karakter tutabilir.

Değişken tipleri TEXT -> Değişken uzunluklu karakter dizisi için. 1-65535 arasında karakter tutabilir. MEDIUMTEXT -> Değişken uzunluklu karakter dizisi için. 1-16777215 arasında karakter tutabilir. LONGTEXT -> Değişken uzunluklu karakter dizisi için. 1-4294967295 arasında karakter tutabilir. ENUM('deger1'..) -> Kullanıcının belirttiği anahtarları tutar. Anahtar 65535'e kadar olabilir.

Table Yaratma create table <table adı> (degiskenler) create table <table adı> (degiskenler) CREATE TABLE `tablom` ( `id` INT NOT NULL AUTO_INCREMENT, `isim` VARCHAR(25) NOT NULL, `soyisim` VARCHAR(50) NOT NULL, INDEX (`id`), UNIQUE (`id`) );

Alanların Özelliklerini görme mysql> show columns from tablom; +---------+-------------+------+-----+---------+----------------+ Field Type Null Key Default Extra +---------+-------------+------+-----+---------+----------------+ id int(11) PRI NULL auto_increment isim varchar(25) soyisim varchar(50) +---------+-------------+------+-----+---------+----------------+ 3 rows in set (0.01 sec)

Alan özellikleri değiştirme ALTER TABLE `deneme`.`tablom` CHANGE `id` `id` BIGINT(11) NOT NULL AUTO_INCREMENT; mysql> show columns from tablom; +---------+-------------+------+-----+---------+----------------+ Field Type Null Key Default Extra +---------+-------------+------+-----+---------+----------------+ id bigint(11) PRI NULL auto_increment isim varchar(25) soyisim varchar(50) +---------+-------------+------+-----+---------+----------------+3 rows in set (0.00 sec)

Tabloya Veri eklemek ve ekli verileri görmek INSERT INTO `tablom` (`id`, `isim`, `soyisim`) VALUES ('1', 'çağlar','ülküderner'); mysql> select * from tablom; +----+--------+------------+ id isim soyisim +----+--------+------------+ 1 çağlar ülküderner +----+--------+------------+ 1 row in set (0.00 sec)

Veri eklemek INSERT INTO `tablom` (`id`, `isim`, `soyisim`) VALUES ('', 'doruk', 'fişek'); mysql> select * from tablom; +----+--------+------------+ id isim soyisim +----+--------+------------+ 1 çağlar ülküderner 2 doruk fişek +----+--------+------------+ 2 rows in set (0.00 sec)

Belirli alanları tarama mysql> select * from `tablom` where `isim`='doruk'; +----+-------+---------+ id isim soyisim +----+-------+---------+ 2 doruk fişek +----+-------+---------+ 1 row in set (0.00 sec)

Yanlış girilenlerin düzeltilmesi UPDATE `tablom` SET `isim` = 'çağlar 2' WHERE `id` = '1' LIMIT 1; mysql> select * from tablom; +----+----------+------------+ id isim soyisim +----+----------+------------+ 1 çağlar2 ülküderner 2 doruk fişek +----+----------+------------+ 2 rows in set (0.00 sec)

Distinct ile teke indirgenen seçimler mysql> select * from main; +------+------------------+---------------+-------+----------+ t_id c_name t_name t_row t_column +------+------------------+---------------+-------+----------+ 1 Ankara Küçük Tiyatro 12 15 2 Ankara yeni sahne 10 5 3 İstanbul(Trakya) bkm 50 20 +------+------------------+---------------+-------+----------+ 3 rows in set (0.00 sec)

Distinct ile indirgenen seçimler mysql> select c_name from main; +------------------+ c_name +------------------+ Ankara Ankara İstanbul(Trakya) +------------------+ 3 rows in set (0.00 sec) mysql> select distinct c_name from main; +------------------+ c_name +------------------+ Ankara İstanbul(Trakya) +------------------+ 2 rows in set (0.00 sec)

Distinct ile indirgenen seçimler mysql> select distinct c_name,t_name from main; +------------------+---------------+ c_name t_name +------------------+---------------+ Ankara Küçük Tiyatro Ankara yeni sahne İstanbul(Trakya) bkm +------------------+---------------+ 3 rows in set (0.00 sec)

Having ile koşula bağlı seçim mysql> SELECT * FROM `tablom` having`id`>1; +------------+---------+ id isim soyisim +----+-------+---------+ 2 doruk fişek +----+-------+---------+ 1 row in set (0.00 sec)

Where kullanımı mysql> select * from tablom where id=1; +----+--------+------------+ id isim soyisim +----+--------+------------+ 1 çağlar ülküderner +----+--------+------------+ 1 row in set (0.00 sec)

Having + Where kullanımı mysql> SELECT * FROM `tablom` where `id`>0 having `isim`='doruk'; +----+-------+---------+ id isim soyisim +----+-------+---------+ 2 doruk fişek +----+-------+---------+ 1 row in set (0.00 sec)

Select biraz daha.. mysql> select * from tablom where id between 0 and 3; +----+--------+------------+ id isim soyisim +----+--------+------------+ 1 çağlar ülküderner 2 doruk fişek +----+--------+------------+ 2 rows in set (0.01 sec)

Biraz da gerekebilir String fonksiyonları Like değimi '_' karakteri => herhangi bir karakter '%' karakteri => herhangi bir karakter dizisi SELECT 'çağlar' LIKE 'çağ%' 1 SELECT 'çağlar' LIKE 'çağ 0 NOT: \ (escape karakteri)

Biraz da gerekebilir String fonksiyonları ' STRCMP ' İFADESİ STRCMP ( kelime1, kelime2 ) Kelime1 ile Kelime2 aynı ise 0, Kelime1 Kelime2'den alafabetik olarak büyük ise 1, Diğer durumda -1 degeri üretilir. SELECT STRCMP('abc','abc') =>0 STRCMP('abc',cba')=> -1 STRCMP('cba','abc') => 1

Biraz da gerekebilir String fonksiyonları ' BINARY ' İFADESİ SELECT "a"="a"; =>1 SELECT BINARY "a"="a"; =>0

Diğer String fonksiyonları ASCII ( veri ) : veri'nin ascii karşılığını bulur. CONV ( veri, a1, a2 ) : veri'yi a1 tabanlı olarak alıp a2 tabana dönüştürür. BIN ( N ) : 10 tabanlı N verisini binary forma yani 2'lik tabana dönüştürür. OCT ( N ) : 10 tabanli N verisini oktal forma yani 8'lik tabana dönüştürür. HEX ( N ) : 10 tabanlı N verisini heksadesimal yani 16'lik tabana dönüştürür. CHAR ( N1, N2.. ) : ascii kodlu N1,N2 degerlerini stringe dönüştürür ve birleştirir. CONCAT ( N1, N2.. ) : N1,N2 verilerini stringe çevirip birleştirerek geri verir. NULL değer girilirse sonuç NULL olur. LENGTH ( N1 ) : N1 stinginin karakter sayısını bulur.

Matematiksel ifadeler ABS ( x ) : x'in pozitif değerini bulur. SIGN ( x ) : x pozitif ise 1, negatif ise -1, 0 ise 0 değerini üretir. MOD ( x, y ) : x y'ye bölünür ve kalan değer fonksiyondan döner. FLOOR ( x ) : x'e en yakın ve x'den küçük tamsayıyı bulur. CEILING ( x ) : x'e en yakın ve x'den büyük tamsayıyı bulur. ROUND ( x ) : x'e en yakın tamsayıyı verir. ROUND ( x, D ) : noktalı sayılarda x'e en yakın, noktadan sonra D rakam olan sayıyı verir.

Matematiksel Fonksiyonlar POW ( x, y ), POWER ( x, y ) : x'in y'ninci kuvvetini bulur. SQRT ( x ) : x'in karekökünü bulur. PI ( ) : Pi sayısını verir. GREATEST ( x, y, z.. ) : en büyük veriyi bulur. TRUNCATE ( x, D ) : noktalı x sayısını noktadan sonra D rakamlı hale sokar.

Tarih Saat fonksiyonları DAYOFWEEK(tarih) => YYYY - MM - DD formudaki tarih'in, ODBC standardinda haftanın kaçıncı günü olduğunu bulur. SELECT DAYOFWEEK('2001-12-26') =>4 DAYOFMONTH(tarih) => Ayın kaçıncı günü olduğunu bulur. DAYOFYEAR(tarih) => Yılın kaçıncı günü olduğunu bulur. MONTH(tarih) => Kaçıncı gün olduğunu bulur. DAYNAME(tarih) => Gün adını bulur. MONTHNAME(tarih) => Ay adını bulur. QUARTER(tarih) => Tarihin, yılın kaçıncı çeyreğinde olduğunu bulur. WEEK(tarih) => Yılın kaçıncı haftası olduğunu bulur. YEAR(tarih) => Hangi yıl olduğunu bulur. HOUR(zaman) => HH : MM : SS formatındaki zaman verisinden saat bulunur. MINUTE(zaman) => Dakikayi bulur. SECOND(zaman) => Saniyeyi bulur.

DATE_FORMAT %M : Ay adi ( January, December ) %W : Gun adi ( Sunday, Saturay ) %D : Gun degeri ve eki ( 1st, 2nd ) %Y : Yil degeri, 4 dijit ( 1993 ) %y : Yil degeri, 2 dijit ( 93 ) %a : Kisaltilmis gun adi ( Sun, Sat ) %d : Gun degeri, 2 dijit ( 00, 31 ) %e : Gun degeri ( 0, 31 ) %m : Ay degeri, 2 dijit ( 01, 12 ) %c : Ay degeri ( 1, 12 ) %b : Kisaltilmis ay adi ( Jan, Dec ) %j : Yilin gun sayisi ( 001, 366 ) %H : Saat, 2 dijit ( 00, 23 ) %k : Saat ( 0, 23 ) %h : Saat, 2 dijit ( 01, 12 ) %l : Saat ( 1, 12 ) %i : Dakika ( 00, 59 ) %r : Zaman, 12 saatlik ( hh : mm : ss [AP] M ) %T : Zaman, 24 saatlik ( hh : mm : ss ) %S : Saniye ( 00, 59 ) %p : AM yada PM %w : Haftanin kacinci gunu oldugu ( 0=Sunday, 6=Saturday ) %U : Yilin kacinci haftasi oldugu ( Sunday haftanin birinci gunu ) %u : Yilin kacinci haftasi oldugu ( Monday haftanin birinci gunu ) %% : Sadece ' % ' karakteri

DATE SON CURDATE ', ' CURRENT_DATE ' O anki tarih ' NOW ', ' SYSDATE ', ' CURRENT_TIMESTAMP ' O anki zaman gün ay yıl SELECT NOW(); 2001-12-26 14:52:46