Archive

Posts Tagged ‘select into outfile’

SELECT … INTO OUTFILE

Hər hansı cədvəldən, fayla məlumatı export etmək üçün istifadə SELECT … INTO OUTFILE-dan istifadə olunur. Bu zaman bəzi maraqlı hadisələr baş verir ki, onu qeyd etmək lazımdı. Məhz bu məqsədlə dəhşətli table-ımızı yaradaq 🙂

CREATE TABLE employee(
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(10),
salary INT,
PRIMARY KEY(id)
);

Və İnsert verək:

INSERT INTO employee(name,salary) VALUES('Shahriyar',1500);

INSERT INTO employee(name,salary) VALUES('Orxan',2500);

INSERT INTO employee(name,salary) VALUES('Axund', NULL);

İndi isə hər şeyi default olaraq saxlayaraq export verək:

SELECT * FROM employee INTO OUTFILE 'C:/Users/JRzayev/Desktop/out.txt';

Desktop-da out.txt adında bir fayl yaranacaq.Faylı açdıqda:

Əgər diqqət yetirsəniz məlumatların necə səliqəsiz şəkildə yerləşdiyini görərsiz. “Göy” rənglə işarələnən \N, NULL-u göstərir. Yəni NULL məlumatlar export faylında \N kimi göstərilir.
Export faylımızı gözəlləşdirək. “Sarı” rənglə işarələnən yerlərdə yeni sətrə keçilsəydi daha gözəl olardı.

SELECT * FROM employee
INTO OUTFILE 'C:/Users/JRzayev/Desktop/out.txt'
LINES TERMINATED BY '\r\n';

Əvvəlki koda əlavə olan “LINES TERMINATED BY ‘\r\n’” line-ending-in necə olacağını bildirir. İndiki halda biz qeydləri yeni sətrə keçirdərək daha aydın hala gətiririk.

Davam edək:

SELECT *FROM employee
INTO OUTFILE 'C:/Users/JRzayev/Desktop/out.txt'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n';

Əvvəlkinə əlavə olan “FIELDS TERMINATED BY ‘,’” field-lərin vergüllə aralı olacağını bildirir:

Davam edək:

SELECT *FROM employee
INTO OUTFILE 'C:/Users/JRzayev/Desktop/out.txt'
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';

Əvvəlkinə əlavə olan “ ENCLOSED BY ‘”‘ ” :

ENCLOSED BY-ın
OPTIONALLY ENCLOSED BY şəklində fərqli bir variantı var ki, izahı ingiliscə daha gözəldi:
The presence of OPTIONALLY causes output value quoting only for string columns, not for all columns.

SELECT * FROM employee
INTO OUTFILE 'C:/Users/JRzayev/Desktop/out.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';

Təşəkkürlər 🙂

Kateqoriyalar: MySQL Etiketlər: ,