250 likes | 410 Views
VTYS 2012. Mehmet Emin KORKUSUZ. Ders - 04. DML. Data Manipulation Language. DML. SELECT. INSERT LOAD DATA INFİLE, LOAD XML UPDATE DELETE REPLACE DO HANDLER CALL #daha sonra. INSERT. INSERT. INSERT. INSERT. Yanlış!. INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2 );
E N D
VTYS 2012 Mehmet Emin KORKUSUZ Ders - 04
DML Data Manipulation Language
DML SELECT INSERT LOAD DATA INFİLE, LOAD XML UPDATE DELETE REPLACE DO HANDLER CALL #daha sonra
INSERT Yanlış! INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2); INSERT INTO tbl_name (col1,col2) VALUES(col2*2,15); INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
INSERT insert into Citylist (cityname) VALUES ('St. John\'s') INSERT INTO logs (`site_id`, `time`,`hits`) VALUES (1,"2004-08-09", 15) ON DUPLICATE KEY UPDATE hits=hits+15;
[LOCAL] [LOW_PRIORITY | CONCURRENT] • [LOCAL] ifadesi veri alınacak dosyanın yerelde yani bu bilgisayarda olduğunu ifade eder. • [LOW_PRIORITY] Veri tabanından bilgi istenirken işlem önceliğinin olmayacağını belirten bir komuttur. • [CONCURRENT] ifadesi ise veri tabanında bilgi istenildiği zaman eş zamanlı olarak çağırmak içindir.
LOAD DATA [LOCAL] INFILE “C:/Users/Desktop/açık_dosya_adı” INTO TABLE tablo_ad COLUMNS ESCAPED BY “,” LINES TERMINATED BY “-”;
Select intooutfile Select intooutfileload data infile komutunun tam tersini yapmaktadır. Tablodaki verileri harici bir dosyaya yazdırmaya yarar. SELECT * INTO OUTFILE “dosya_yolu” [FIELDS | COLUMNS] [TERMINATED | ESCAPED] BY “karekter” LINES [TERMINATED | STARTING] BY “karakter” FROM tablo_adı;
UYGULAMA SELECT * INTO OUTFILE “C:/Users/Desktop/dosya_adı_ve_uzantısı” INTO TABLE tablo_adı COLUMNS ESCAPED BY “,” LINES TERMINATED BY “-” FROM tablo_ad; SELECT alan1,alan2,alan7 INTO OUTFILE “C:/Users/Desktop/dosya_adı_ve_uzantısı” INTO TABLE tablo_adı COLUMNS ESCAPED BY “;” LINES TERMINATED BY “\n” FROM tablo_ad;
LOAD XML CREATE TABLE person ( person_id INT NOT NULL PRIMARY KEY, fname VARCHAR(40) NULL, lname VARCHAR(40) NULL, created TIMESTAMP );
LOAD XML LOCAL INFILE 'person.xml' INTO TABLE personROWS IDENTIFIED BY '<person>';
UPDATE UPDATE t1 SET ad=‘Emin’ whereid=1; UPDATE t1 SET col1 = col1 + 1; UPDATE t SET id = id + 1; //hata verebilir UPDATE t SET id = id + 1 ORDER BY id DESC; UPDATE items,month SET items.price=month.price WHERE items.id=month.id;
DELETE DELETE FROM t1 WHERE id = 1; Emin’e ait son kaydı siler. DELETE FROM log WHERE user = ‘emin' ORDER BY zamanLIMIT 1;
REPLACE REPLACEINTOoffices(officecode,sehir) VALUES(8,Ankara') #8 numaralı kayıt yoksa insert ile aynı çalışır REPLACEINTOoffices(officecode,sehir) VALUES(8,İstanbul')
DO Bir sorgunun sonucu önemli değilse sorgunun başına yazılır. Hızı arttırır.
HANDLER SELECT’ten daha hızlı çalışan bir sorgudur.