কম্পিউটার টিউটোরিয়াল

টেক্সট ফাইলে এসকেপ ক্যারেক্টার (\) ব্যবহার করে MySQL-এ ডেটা ইম্পোর্ট করার উপায়

এসকেপ ক্যারেক্টার (\) অত্যন্ত জরুরি যখন একটি ফিল্ডের মানগুলোর মাঝপথে কমা বা অন্য ক্যারেক্টার থাকে।

ধরুন A.txt ফাইলে নিচের ডেটা আছে:

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

এখানে 'Name' ফিল্ডে ফাস্ট নাম এবং লাস্ট নাম কমা দিয়ে আলাদা। এখন ইম্পোর্ট করলে:

mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO TABLE employee4_tbl FIELDS TERMINATED BY ',' IGNORE 1 ROWS;
Query OK, 2 rows affected, 4 warnings (0.05 sec)

৪টি সতর্কতা দিয়েছে। ডেটা চেক করলে:

mysql> SELECT * FROM employee4_tbl;
+------+---------+----------+--------+
| Id   | Name    | Country  | Salary |
+------+---------+----------+--------+
| 105  | Chum    | Marsh    | 0      |
| 106  | Danny   | Harrison | 0      |
+------+---------+----------+--------+
2 rows in set (0.00 sec)

MySQL 'Marsh'-কে 'Country' ফিল্ডে এবং 'USA'-কে 'Salary'-তে নিয়েছে (ভুল)।

সমাধান: টেক্সট ফাইলে এসকেপ ক্যারেক্টার ব্যবহার করুন:

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

এখন ইম্পোর্ট করলে কোনো সতর্কতা নেই:

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

ফলাফল:

mysql> SELECT * FROM employee5_tbl;
+------+----------------+----------+--------+
| Id   | Name           | Country  | Salary |
+------+----------------+----------+--------+
| 105  | Chum,Marsh     | USA      | 11000  |
| 106  | Danny,Harrison | AUS      | 12000  |
+------+----------------+----------+--------+
2 rows in set (0.00 sec)

এখন ডেটা সঠিকভাবে ইম্পোর্ট হয়েছে।

  1. SAP ডাটাবেসে স্ল্যাশ (/) সম্বলিত টেবিল কলাম ইমপোর্ট করা

  2. MySQL-এ স্পেস থাকা টেবিল নাম থেকে ডেটা সিলেক্ট করুন

  3. MySQL-এ রিজার্ভড কীওয়ার্ড 'Key' কলাম নাম হিসেবে ব্যবহার করা (ব্যাকটিক)

  4. MySQL-এ LEFT JOIN ব্যবহার করে টেবিল A-র ডেটা টেবিল B-এ না থাকলে টেবিল C-তে ইনসার্ট করা