BÖLÜM -6: VERİLERİ DEĞİŞTİRMEK

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

BÖLÜM- 11: BÜYÜK VERİ KÜMELERİ

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

Veritabanı Tasarımı. Veritabanı Hareketleri

BÖLÜM- 8: DİĞER ŞEMA NESNELERİNİ OLUŞTURMA

Öğr.Gör.Murat KEÇECĠOĞLU. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

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

BÖLÜM- 13: ALT SORGULAR İLE VERİ İŞLEME

DML işlemleri. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı May Öğr. Gör. Murat KEÇECĠOĞLU

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK

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

VERİTABANI Veritabanı Yönetimi

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

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

SQL Komutları (2) Uzm. Murat YAZICI

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

Veritabanı Tasarımı. Tablo Değiştirme

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

SQL TRIGGERS (Tetikleyiciler)

BÖLÜM- 5: BİRDEN FAZLA TABLODAN VERİ GETİRMEK

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

BÖLÜM -2: VERİLERİ SINIRLAMA VE SIRALAMA

SORGULAR. Öğr.Gör.Volkan Altıntaş

Veri Tabanı ve Yönetimi

--Tüm personel kayıtlarını seçiniz. SELECT* FROM employees ;

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL-2

Çok tablolu sorgulamalar

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

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

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME

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

VERİTABANI ve YÖNETİMİ

VERİTABANI. SQL (Structured Query Language)

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

SQL Kod ile Tablo Oluşturma

EXISTS VE NOT EXISTS fonksiyonları

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

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

Nesneler üzerinde değişiklik yapmak için kullanılır. Veri tabanındaki nesnelerin oluşturulabilmesi için CREATE komutu kullanılır.

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

Oracle Database 11g: Introduction to SQL

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

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.

Veriyi ve Bilgiyi Organize Etmek. Bilgisayar Mühendisliğine Giriş 1

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim) -16 Mart 2014 A

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim)-16 Mart 2014 B

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

Emrah UYSAL 1

MOBİL UYGULAMA GELİŞTİRME

PostgreSQL ve PL/pgSQL

Veri tabanı içinde bulunan tablolardakibazı sütunlarda bulunan bilgilerin, herkes tarafından görülmesi istenmeyebilir.

Oracle da kullanılan veri tipleri:

SQL (Structured Query Language)

1. IT bölümünde çalışan tüm çalışanların isimlerini gösteren bir sorgu yazınız.

Tetikleyiciler (TRIGGER) Tetikleyiciler ne zaman kullanılırlar. Ardı Sıra Tetikleyiciler (After Triggers) Örnek

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.

Transaction ve Ortak Zamanlılık. Sibel SOMYÜREK

Veri Tabanı Hafta Dersi

PostgreSQL ve PL/pgSQL

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.

YAPISAL SORGULAMA DİLİ (SQL)

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

T-SQL NEDİR? Microsoft T-SQL Transact-SQL

Üst Düzey Programlama

SORGULAR VE ÇEŞİTLERİ II

Emrah UYSAL 1

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

VERİ TABANI YÖNETİM SİSTEMLERİ II. 5. SQL PROGRAMLAMADA CURSOR (İMLEÇ) ve TRIGGERS (TETİKLEMELER)

BMB202. Veritabanı Yönetimi Ders 6. SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

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

SQL e Giriş. Uzm. Murat YAZICI

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

ACCESS PLATFORMUNDA SQL

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

BİLİŞİM TEKNOLOJİLERİ

-Birden çok tablo ile çalışırken gereksiz karmaşadan(özellikle her seferinde uzun bir SQL sorgu cümlesi yazmakla uğraşmaktan) kurtulmak.

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

PostgreSQL Veritabanı Sunucusu. 8.2 neler getiriyor?

- Tablo (Table):Veri saklama için temel yapıdır. Bir veya daha fazla sütundan ve sıfir veya daha fazla satırdan oluşur.

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

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

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

1 - Adi A Harfi İle Biten Kişilerin Listesi İçin Hangisi Kullanılmalıdır? Select * From Kisiler Where Adi End A Select * From Kisiler Where Adi Like

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

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

Veri Tabanı Hafta Dersi

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

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

EROL AKGÜL

Microsoft SQL Server Sorgulama

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

Transkript:

BÖLÜM -6: VERİLERİ DEĞİŞTİRMEK Her bir veri değiştirme komutunu kullanabilmek. (Data Manipulation Language, DML) Bir tabloya kayıt eklemek (INSERT) Bir tablodaki kayıtları güncellemek (UPDATE) Bir tablodan kayıtları silmek (DELETE) Transaction ları kontrol etmek

BİR TABLOYA KAYIT EKLEME Bir tabloya kayıt eklerken INSERT komutu kullanılır. Tek bir kayıt eklemek için kullanılan syntax :

BİR TABLOYA KAYIT EKLEME Department tablosuna yeni bir bölüm kaydedelim insert into hr.departments values(11,'computer Engineering',201,1700); commit;

BAŞKA BİR TABLODAN SATIR KOPYALAMA Alt sorgular kullanılır. VALUES ifadesi kullanılmaz. Alt sorgu ile INSERT ifadesindeki kolon sayıları aynı olmalıdır. Alt sorgudan gelen tüm kayıtlar INSERT edilir.

BAŞKA BİR TABLODAN SATIR KOPYALAMA Hr.jobs tablosuna hr.departments tablosundan bir kayıt ekleyelim Insert into hr.jobs (job_id,job_title,min_salary,max_salary) select department_name,'computer Engineer Department',30000,80000 from hr.departments where department_id=11; Commit;

TABLODAKİ VERİLERİ GÜNCELLEMEK Bir tablodaki verileri güncellemek için UPDATE komutu kullanılır. Bir seferde birden fazla kayıt güncellenebilir.

TABLODAKİ VERİLERİ GÜNCELLEMEK 124 idli müdürün personellerine 250 lira zam yapalım update hr.employees set salary=salary+250 where manager_id=124;

TABLODAKİ VERİLERİ GÜNCELLEMEK Jobs tablosundaki Computer Engineering title nı güncelleyelim update hr.jobs set job_id='computer Architect',job_title='Computer Experts' where job_id='computer Engineering';

TABLODAKİ VERİLERİ GÜNCELLEMEK 198 id li personelin maaşını en yüksek maaş ile güncelleyelim update hr.employees set salary=(select max(salary) from hr.employees) where employee_id=198;

TABLODAKİ VERİLERİ SİLMEK Bir tablodaki verileri silmek için DELETE komutu kullanılır. Bir seferde birden fazla kayıt silinebilir.

TABLODAKİ VERİLERİ SİLMEK Computer Architect pozisyonuna sahip pozisyonları silelim delete from hr.jobs where job_id='computer Architect';

TABLODAKİ VERİLERİ SİLMEK Shipping departmanındaki personelleri silelim delete from hr.employees where department_id=(select department_id from hr.departments where department_name='shipping');

TRUNCATE Bir tablodaki verilerin tamamını siler. Geri dönülemez. Hızlıdır. DML değil, DDL komutudur.

TRUNCATE Employees tablosunu kopyalayıp deneyelim create table hr.isciler as select * from hr.employees; truncate table hr.isciler; select * from hr.isciler;

DATABASE TRANSACTİONS Bir DB transaction, şu işlemlerden biri ile başlar : DML komutları çalıştırılınca. DDL Komutları çalıştırılınca. DCL komutları çalıştırılınca.

DATABASE TRANSACTİONS Bir DML komutu çallıştırılınca transaction başlar. Aşağıdaki durumlarda transaction sonlanır : Commit yada Rollback komutları çalıştırılınca. Bir DDL yada DCL komutu çalıştırılınca (autocommit) Kullanıcı logout olursa Sistemde sorun olursa

COMMİT & ROLLBAK ROLLBACK : Yapılan data değişikliklerinin geri alınmasını sağlar. COMMIT : Yapılan data değişikliklerinin kalıcı olmasını sağlar. Bu komutlar sürekli değişiklikleri uygulamadan önce veri değişikliklerini izlemenize yardımcı olur. Yapılan değişikliklerin session bazında kontrolü sağlanır. Güvenli bir çalışma ortamı sağlar.

SAVEPOINT Mevcut transaction içinde bir kayıt noktası koymak için SAVEPOINT ifadesi kullanılır. ROLLBACK [] komutu ile işaret edilen noktaya kadar işlemler geri alınır.

COMMİT VEYA ROLLBACK ÖNCESİNDE İşlemi yapan kullanıcı, SELECT ile DML işlemlerinden sonra yaptığı değişikliğin sonucunu görür. Diğer kullanıcılar, mevcut kullanıcınn yaptığı DML işlemlerinin sonucunu göremezler. Etkilenen satırlar kilitlenir. Etkin olan satırda dier kullanıcılar verileri değiştiremezler.

COMMİT SONRASINDA Veri tabanında veri değişiklikleri kalıcı olarak uygulanır. Verinin bir önceki mevcut durumu kaybolur. Bütün kullanıcılar sonucu görebilir. Etkilenen satırların kilidi serbest bırakılır. Bütün SAVEPOINT noktaları silinir.

COMMIT ÖRNEK Hr.jobs tablosundan kayıt silindiğinde bu transaction commitlenmemişse silme işlemini yapan kullanıcı bu değişikliği görebiliyor. Yapılan işlem kalıcı olmadığı için farklı kullanıcılar ise değişmemiş kayıtları görüntüler delete from hr.jobs where job_id='computer Engineering'; select * from hr.jobs;

COMMIT ÖRNEK İlgili transaction Commitlendiği zaman ise veri kalıcı hale gelmektedir. Commit; select * from hr.jobs;

ROLLBACK SONRASINDA Veri değişiklikleri geri alınır. Verinin bir önceki durumu yerini alır. Değişiklik olan kayıtlar serbest bırakılır, kilitleri kaldırılır.

ROLLBACK ÖRNEK Silme işlemi yapan kullanıcı commitlemediği için farklı kullanıcı bu değişikliği göremiyor ve değişiklik kalıcı hale gelmiyor delete from hr.employees; select * from hr.employees;

ROLLBACK ÖRNEK Commitlenmemiş transaction Rollback yapılınca değiştirilmemiş veri Undo tablespace sinden geri alınır ve veri tutarlı hale gelmiş olur rollback;

DOĞRU VERİYİ OKUMA

FOR UPDATE Seçilen kayıtları, başka kullanıcıların değiştirmemesi için kiilitler. Birden fazla tablo joinde yer alıyorsa, bunların içerisinde seçilen tüm kayıtlar her iki tabloda da kilitlenir. Rollback yada Commit yapılınca kayıtlar serbest bırakılır.

FOR UPDATE ÖRNEK Bir kullanıcı tabloyu for update seçeneğiyle çekiyor select * from hr.employees for update; Farklı kullanıcı tabloyu silmeye çalışınca bu işleme izin vermiyor Delete from hr.employees; İlgili sessiom lock a düşüyor