কম্পিউটার

টেক্সট ফাইল থেকে MySQL টেবিলে ডাটা ইম্পোর্ট করার সময় আমরা যদি টেক্সট ফাইলে ব্যাক-স্ল্যাশ (\) ব্যবহার না করে অন্য কোনো এস্কেপ ক্যারেক্টার ব্যবহার করি তাহলে মাইএসকিউএল কীভাবে মূল্যায়ন করবে?


Back-slash(\) হল MySQL-এর জন্য ডিফল্ট এস্কেপ ক্যারেক্টার এবং যখন আমরা এটিকে টেক্সট ফাইলে ব্যবহার করি তখন টেক্সট ফাইল থেকে টেবিলে ডেটা ইম্পোর্ট করার সময় আমাদের ক্যোয়ারীতে এটি উল্লেখ করার দরকার নেই। কিন্তু আমরা যদি অন্য কোনো অক্ষরকে এস্কেপ ক্যারেক্টার হিসেবে ব্যবহার করি তাহলে টেবিলে টেক্সট ফাইল ইম্পোর্ট করার সময় ক্যোয়ারীতে ESCAPED BY অপশন ব্যবহার করে উল্লেখ করতে হবে। এটা নিচের উদাহরণের সাহায্যে বোঝা যাবে −

ধরুন আমরা একটি টেক্সট ফাইলে এস্কেপ ক্যারেক্টার হিসেবে স্টার চিহ্ন ('*') ব্যবহার করছি -

id,Name,Country,Salary
105,Chum*,Marsh,USA,11000
106,Danny*,Harrison,AUS,12000

এখন MySQL টেবিলে এই টেক্সট ফাইলটি ইম্পোর্ট করার সময়, আমাদের ক্যোয়ারীতে 'ESCAPED BY' বিকল্পটি নিম্নরূপ উল্লেখ করতে হবে -

mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee6_tbl FIELDS TERMINATED BY ',' ESCAPED BY ‘*’ IGNORE 1 ROWS;
Query OK, 2 rows affected (0.03 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 0

এখন, আমরা নিচের ক্যোয়ারী −

এর সাহায্যে কি আমদানি করা হয়েছে তা দেখতে পাচ্ছি
mysql> Select * from employee6_tbl;
+------+----------------+----------+--------+
| Id   | Name           | Country  | Salary |
+------+----------------+----------+--------+
| 105  | Chum,Marsh     | USA      | 11000  |
| 106  | Danny,Harrison | AUS      | 12000  |
+------+----------------+----------+--------+
2 rows in set (0.00 sec)

  1. মাইএসকিউএল কীভাবে মূল্যায়ন করে যদি আমরা EXISTS অপারেটর ব্যবহার করি যেটি NULL রিটার্ন করে এমন সাবকোয়েরির সাথে?

  2. কিভাবে একটি টেবিল থেকে ডেটা নির্বাচন করবেন যেখানে টেবিলের নামের MYSQL এ ফাঁকা স্থান রয়েছে?

  3. আমি কীভাবে শুধুমাত্র একটি টেবিল থেকে ডেটা নির্বাচন করব যেখানে সেই টেবিলের কলামের মানগুলি MySQL-এর অন্য টেবিলের কলামের মানগুলির সাথে মেলে?

  4. কিভাবে একটি MySQL পদ্ধতিতে টেবিল থেকে SELECT সহ একটি আউট প্যারামিটার / রিড ডেটা ব্যবহার করবেন?