एस्केप कैरेक्टर (\) का उपयोग तब बहुत आवश्यक हो जाता है जब हम किसी फील्ड के मानों के बीच कॉमा या किसी अन्य कैरेक्टर को डालना चाहते हैं। इसे एक उदाहरण की मदद से समझा जा सकता है। मान लीजिए हम A.txt नामक टेक्स्ट फ़ाइल से डेटा इंपोर्ट करना चाहते हैं, जिसमें निम्नलिखित डेटा है, एक MySQL टेबल में:
id, Name, Country, Salary 105, Chum, Marsh,USA, 11000 106, Danny, Harrison,AUS, 12000
यहां, हम देख सकते हैं कि फील्ड नाम में दो मान हैं: पहला नाम, अंतिम नाम जो कॉमा से अलग हैं। अब, निम्नलिखित क्वेरी उपरोक्त टेक्स्ट फ़ाइल 'A.txt' से डेटा को 'employee4_tbl' में इंपोर्ट करेगी:
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) Records: 2 Deleted: 0 Skipped: 0 Warnings: 4
हम देख सकते हैं कि जब हम 'A.txt' से टेबल में डेटा इंपोर्ट करते हैं तो 4 चेतावनियां होती हैं। निम्नलिखित क्वेरी हमें दिखाएगी कि टेबल में क्या डाला गया है:
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 'lastname' की भविष्यवाणी करता है, जो फील्ड 'नाम' का मान था, फील्ड 'देश' के मान के रूप में।
उपरोक्त समस्या को टेक्स्ट फ़ाइल में एस्केप कैरेक्टर डालकर समाप्त किया जा सकता है जैसे:
id, Name, Country, Salary 105, Chum\, Marsh,USA, 11000 106, Danny\, Harrison,AUS, 12000
अब इस टेक्स्ट फ़ाइल को निम्नलिखित क्वेरी की मदद से MySQL टेबल में इंपोर्ट करें:
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)