SQL INSERT INTO

* Direkt Insert : Burada kendimiz içeriğini doldurduğumuz bilgiyi veritabanına yazabiliriz. The INSERT INTO statement copies data from one table into a exist table. [code language=”sql”] INSERT INTO department (department_id, department_name) VALUES (10, ‘Muhasebe’); [/code] The SELECT INTO statement copies data from one table into a new table. [code language=”sql”] SELECT * INTO IcSeLoAr20 FROM IcSeLo WITH(NOLOCK) WHERE businessDate < ‘2022-01-01’; [/code] Yukarıdaki komut çalıştırıldığında “department” tablosunda aşağıdaki gibi kayıt oluşacaktır. Bizim belirtmemiş olduğumuz “number” değeri ise biz belirtmediğimiz için kendi varsayılan değerini alacaktır, burda “number” integer(tam sayı) tipinde olduğunu varsayarak 0(sıfır) değerini almıştır.

department_id department_name number
10 Muhasebe 0
* Seçmeli Insert : Bu şekilde yazacağımız veriyi veritabanından belli koşullarda oluşan filtreleme ile oluşturup kalan kolonları kendimiz doldururuz. Aşağıdaki kodda “personnel” tablosunda olup, “department” tablosunda olmayan departman kodları için “department_name” alanı “Tanımsız” olacak şekilde “department” tablosunda güncellenmektedir. [code language=”sql”] INSERT INTO department (department_id, department_name) SELECT department_id ,’Tanımsız’ FROM personnel WHERE department_id NOT IN (SELECT department_id FROM department) [/code] [code language=”sql”] INSERT INTO personnel (person_id, name, address, city, department_id) VALUES (1, ‘Halil KINIK’, ‘yeni mahalle’, ‘Kütahya’, 50 ); [/code] Bu komutunu çalıştırdıktan sonra bir üsttteki komut satırını çalıştırırsak “department” tablosuna “department_id = 50”, “department_name = ‘Tanımsız'” olan bir kayıt oluşturur. Yukarıdaki komutlar çalıştırıldığında “department” ve “personnel” tablolarında aşağıdaki gibi kayıt oluşacaktır. TABLO :”personnel”
person_id name address city department_id age
1 Halil KINIK Yeni Mahalle Kütahya 50
TABLO :department
department_id department_name number
50 Tanımsız
Kullanılan SQL komutları aşağıdaki tablo yapısı baz alınarak yazılmıştır. Burada basit olarak; Personelin çalıştığı departman bilgilerinin tutulduğu “department”, Personel özlük bilgilerinin tutulduğu “personnel” ve Personel aylık dönemlere göre çalısma bilgilerinin tutulacağı “working” tabloları oluşturulmuştur. [code language=”sql”] CREATE SCHEMA `yazilimcitynet` ; CREATE TABLE `yazilimcitynet`.`department` ( `department_id` INT NOT NULL , `department_name` VARCHAR(45) NOT NULL , `number` INT NOT NULL , PRIMARY KEY (`department_id`) , UNIQUE INDEX `department_id_UNIQUE` (`department_id` ASC) , UNIQUE INDEX `department_name_UNIQUE` (`department_name` ASC) ); CREATE TABLE `yazilimcitynet`.`personnel` ( `person_id` INT NOT NULL , `name` VARCHAR(50) NOT NULL , `address` VARCHAR(255) NULL , `city` VARCHAR(50) NULL , `department_id` INT , `age` INT NULL , PRIMARY KEY (`person_id`) ); CREATE TABLE `yazilimcitynet`.`working` ( `working_period` VARCHAR(6) NOT NULL , `person_id` INT NOT NULL , `working_days` INT NULL , `paid_leave` INT NULL , `leave_without_pay` INT NULL , PRIMARY KEY (`person_id`) ); [/code] Yukarıdaki örnek bloğundan bağımsız bir başka INSERT yazım şekli ise aşağıdaki gibidir. [code lang=”sql”] insert into YCN.HA_HBYS_YETKILER (PARAMETRE_ID, PARAMETE_ADI, PARAMETRE_DEGER1, PARAMETRE_DEGER2, MODUL_KODU) values (‘IE0001’, ‘Epikriz Baþlýðýna müdehale edebilsin’, null, null, ‘HBYS01’); INSERT INTO KR_DEVICES (DEVICE_ID,DEVICE_NAME,SHORT_NAME) VALUES (‘905′,’Histoloji’,’Histoloji’); INSERT INTO KR_DEVICES (DEVICE_ID,DEVICE_NAME,SHORT_NAME) VALUES (‘903′,’Genetik’,’Genetik’); [/code]]]>

Leave a Reply

Your email address will not be published. Required fields are marked *