MySQL ক্লায়েন্টে টেক্সট ফাইল থেকে SQL স্টেটমেন্ট কীভাবে এক্সিকিউট করতে হয় তা বুঝি। mysql ক্লায়েন্ট সাধারণত ইন্টারঅ্যাক্টিভভাবে ব্যবহার করা হয়। উদাহরণ দেখি:
shell> mysql db_name
SQL স্টেটমেন্টগুলো একটি টেক্সট ফাইলে রাখুন
SQL স্টেটমেন্টগুলো একটি ফাইলে রাখে এবং mysql-কে সেই নির্দিষ্ট ফাইল থেকে ইনপুট পড়তে বলাও সম্ভব। এটি করতে, প্রথমে একটি টেক্সট ফাইল text_file তৈরি করুন।
এই টেক্সট ফাইলটি এক্সিকিউট করা প্রয়োজনীয় স্টেটমেন্টগুলো ধারণ করবে। উদাহরণ দেখি:
shell> mysql db_name < text_file
যদি USE db_name স্টেটমেন্ট টেক্সট ফাইলের প্রথম স্টেটমেন্ট হিসেবে রাখা হয়, তবে কমান্ড লাইনে ডাটাবেস নাম নির্দিষ্ট করা অপ্রয়োজন। উদাহরণ:
shell> mysql < text_file
যদি mysql ইতিমধ্যে চলছে, তবে SQL স্ক্রিপ্ট ফাইল source কমান্ড বা \. কমান্ড দিয়ে এক্সিকিউট করা যায়। উদাহরণ:
mysql> source file_name mysql> \. file_name
কখনো ব্যবহারকারী স্ক্রিপ্টে প্রগ্রেস ইনফরমেশন দেখাতে চায়। সেক্ষেত্রে নিচের মত স্টেটমেন্ট ইনসার্ট করা যায়:
SELECT '' AS '';
আউটপুট
mysql কে --verbose অপশন দিয়েও আহ্বান করা যায়। এটি প্রতিটি স্টেটমেন্ট তার ফলাফল উৎপন্ন করার আগে প্রদর্শন করে।
mysql ইনপুট ফাইলগুলোয় শুরুতে Unicode byte order mark (BOM) ক্যারেক্টার উপেক্ষা করে।
এই ফাংশনালিটি আসার আগে, সেগুলো পড়া হয়ে সার্ভারে পাঠানো হতো, যার ফলে সিনট্যাক্স এরর হতো।
BOM-এর উপস্থিতি mysql-এর ডিফল্ট ক্যারেক্টার সেট পরিবর্তন করে না।
এই কাজ করতে mysql কে
--default-character-set=utf8এর মতো অপশন দিয়ে আহ্বান করতে হবে।