Əsas səhifə > MySQL > Using Script Files with mysql

Using Script Files with mysql

Adətən sorğuları və.s əllə yazırıq ama MySQL bunları həm də hər hansı file-dan da oxuya bilir. Bu həm adi .txt, həm də .sql file ola bilər. Maraqlı hadisə var onu paylaşmaq istəyirəm🙂
2 table lazım olacaq bizə.

create table singer (
    id int not null auto_increment,
    name varchar(12),
    primary key (id)
);

insert into singer(name) values('Shakira'),('Rihanna'),('Nicole');

CREATE TABLE composer (
    id int(11) NOT NULL AUTO_INCREMENT,
    name varchar(15),
    lastname varchar(25),
    PRIMARY KEY (id)
); 

insert into composer(name,lastname) values('Emin','Sabitoglu'),('Fikret','Emirov'),('Xanim','Ismayilqizi');


Və indi də bir fayl yaradaq faylın adı məndə batch_file…adi .txt file-dır.
File-da yazılıb:

use music;

select * from composer;

və bu file-ı oxuyaq

mysql> source /home/shahriyar/batch_file

Database changed
+----+--------+-------------+
| id | name   | lastname    |
+----+--------+-------------+
|  1 | Emin   | Sabitoglu   |
|  2 | Fikret | Emirov      |
|  3 | Xanim  | Ismayilqizi |
+----+--------+-------------+
3 rows in set (0.00 sec)

File-da olan butun sorğular ardıcıllıqla icra olundu.
İndi isə 2ci file-ımızı yaradaq və 1ci-dən o birinə məhz elə source vasitəsilə keçid qoyaq (əgər belə demək mümükündürsə). Yəni biz bir komanda ilə 2 file oxuyacıq🙂 1ci faylımız batch_file:

use music;

select * from composer;

source /home/shahriyar/batch_file2

2ci fayl batch_file2:

select * from singer;

Və oxuyaq:

mysql> source /home/shahriyar/batch_file
Database changed
+----+--------+-------------+
| id | name   | lastname    |
+----+--------+-------------+
|  1 | Emin   | Sabitoglu   |
|  2 | Fikret | Emirov      |
|  3 | Xanim  | Ismayilqizi |
+----+--------+-------------+
3 rows in set (0.00 sec)

+----+---------+
| id | name    |
+----+---------+
|  1 | Shakira |
|  2 | Rihanna |
|  3 | Nicole  |
+----+---------+
3 rows in set (0.00 sec)

Və bu şəkildə biz sonsuz sayda fayllara keçid qoya-qoya gedə bilərik. Ama mən sınaq üçün 2 faylda bir-birinə keçid qoydum🙂

1ci faylımız batch_file:

use music;

select * from composer;

source /home/shahriyar/batch_file2

2ci faylımız batch_file2:

select * from singer;

source /home/shahriyar/batch_file

Və yenidən oxumağa çalışsaq görərik ki, 1ci fayl 2cini 2ci fayl birincini aca-aca gedir. Yani hər 2 fayl bir-birinə keçir. Və nəticədə aşağıdakı error çıxır:

ERROR: 
Failed to open file '/home/shahriyar/batch_file', error: 24

Error nömrəmiz 24-dür. MySQL-də faydalı utility var ismi perror🙂 onunla bu error-un nə olduğunu müəyyənləşdirək:

[shahriyar@sh ~]$ perror 24
OS error code  24:  Too many open files

Həqiqətən də too many file açdıq…Təşəkkürlər🙂

Kateqoriyalar: MySQL Etiketlər: , , ,
  1. Hələlik heç bir şərh yoxdur
  1. No trackbacks yet.

Bir cavab yazın

Sistemə daxil olmaq üçün məlumatlarınızı daxil edin və ya ikonlardan birinə tıklayın:

WordPress.com Loqosu

WordPress.com hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Twitter rəsmi

Twitter hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Facebook fotosu

Facebook hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Google+ foto

Google+ hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

%s qoşulma

%d bloqqer bunu bəyənir: