اگر شما مسئول مدیریت سرور database هستید، شما ممکن است بعضی اوقات احتیاج داشته باشید که یک query را اجرا کنید و نتیجه آن را به دقت بررسی کنید. شما میتوانید از طریق شل MySQL / MariaDB این کار را انجام دهید اما با این ترفند شما میتوانید Querie هایی که درون شل MySQL/MariaDB میزنیم را به صورت مستقیم در shell خود linux اجرا کنیم و خروجی دستورات را هم در یک فایل ذخیره کنیم که هر موقع خواستیم آن فایل را چک کنیم. (این آموزش مخصوصا برای کسانی که با تعداد query های زیادی درگیر هستند خیلی مفید است.)

3299

قبل از اینکه به سمت query های پیشرفته تر برویم، اجازه دهید که ما نگاهی به بعضی مثال های ساده، که querie ها را به صورت مستقیم در command line اجرا کرده ایم، بیندازیم.

برای مشاهده تمام دیتابیس های روی سرورتان، شما میتونید از کامند زیر استفاده کنید :
کد PHP:
# mysql -u root -p -e "show databases;" 
سپس برای ساخت یک table به نام tutorials در دیتابیس linuxzonedb کامند زیر را اجرا کنید :
کد PHP:
# mysql -u root -p -e "USE linuxzonedb; CREATE TABLE tutorials(tut_id INT  NOT NULL AUTO_INCREMENT, tut_title VARCHAR(100) NOT NULL, tut_author  VARCHAR(40) NOT NULL, submissoin_date DATE, PRIMARY KEY (tut_id));" 
پیشنهاد میشود این مقاله خوانده شود : http://linux-zone.org/forums/thread2162.html

ما از دستور زير استفاده خواهيم كرد و خروجي آنرا به دستور tee - پايپ (pipe) ميكنيم و نام فايلي كه ميخواهيم خروجي را در آن ذخيره كنيم بهمراه دستور tee مي آيد.

بعنوان مثال در اینجا ما میخوایم از یک دیتابیس به نام employees استفاده کنیم و تیبل salaries را به person_info ارتباط بدیم. در داخل سرور خودتان SQL query که میخواید را فقط بین quotes (دابل کوتیشن) تایپ کنید و Enter را بزنید.

نکته : بعد از وارد کردن دستور از شما میخواد که پسورد یوزر دیتابیس تان رو وارد کنید :
کد PHP:
# mysql -u root -p -e "USE employees; SELECT DISTINCT p.first_name, p.last_name, s.value FROM person_info p JOIN salaries s ON p.id = s.person_id WHERE hire_date < '1990-01-31';" | tee queryresults.txt
Enter password:
first_name      last_name       value
mohammad        habili  500
hamid   barani  700
shahrooz        jafari  200
shahab  ghalamdost      350 
با استفاده از دستور cat نتایج query ها را مشاهده کنید. http://linux-zone.org/forums/thread1906.html
کد PHP:
# cat queryresults.txt
first_name      last_name       value
mohammad        habili  500
hamid   barani  700
shahrooz        jafari  200
shahab  ghalamdost      350 
با دخیره نتایج query ها در یک فایل متنی، شما میتوانید نتیجه آنرا را با استفاده از دیگر ابزارهای command line به آسانی مورد پردازش و بررسی قرار دهید.
پیشنهاد میشود این مقاله خوانده شود : http://linux-zone.org/forums/thread2161.html