खोज…


वाक्य - विन्यास

  1. लोड डेटा [LOW_PRIORITY | सम्मेलन] [स्थानीय] INFILE 'file_name'
  2. इन टैबल tbl_name
  3. [चार्टर सेट शुरू करें]
  4. [{FIELDS | COLUMNS} [['स्ट्रिंग' द्वारा लिखित] [[वैकल्पिक] 'चार' द्वारा प्राप्त]]
  5. [लाइनें ['स्ट्रिंग द्वारा शुरू'] ['स्ट्रिंग द्वारा निर्धारित']]
  6. [IGNORE नंबर {LINES | पंक्तियों}]
  7. [(Col_name_or_user_var, ...)]
  8. [SET col_name = expr, ...]

डेटाबेस में बड़ी मात्रा में डेटा लोड करने के लिए LOAD DATA INFILE का उपयोग करना

निम्नलिखित उदाहरण पर विचार करें कि आपके पास एक ';' - CSV को आपके डेटाबेस में लोड करने के लिए सीमांकित है।

1;max;male;manager;12-7-1985
2;jack;male;executive;21-8-1990
.
.
.
1000000;marta;female;accountant;15-6-1992

प्रविष्टि के लिए तालिका बनाएं।

CREATE TABLE `employee` ( `id` INT NOT NULL ,
                          `name` VARCHAR NOT NULL, 
                          `sex` VARCHAR NOT NULL ,
                          `designation` VARCHAR NOT NULL ,
                          `dob` VARCHAR NOT NULL   );                              

उस तालिका में मान सम्मिलित करने के लिए निम्नलिखित क्वेरी का उपयोग करें।

LOAD DATA INFILE 'path of the file/file_name.txt' 
INTO TABLE employee
FIELDS TERMINATED BY ';' //specify the delimiter separating the values
LINES TERMINATED BY '\r\n'
(id,name,sex,designation,dob)

उस स्थिति पर विचार करें जहां दिनांक प्रारूप गैर मानक है।

1;max;male;manager;17-Jan-1985
2;jack;male;executive;01-Feb-1992
.
.
.
1000000;marta;female;accountant;25-Apr-1993

इस तरह से आप इस तरह डालने से पहले dob कॉलम का प्रारूप बदल सकते हैं।

LOAD DATA INFILE 'path of the file/file_name.txt' 
INTO TABLE employee
FIELDS TERMINATED BY ';' //specify the delimiter separating the values
LINES TERMINATED BY '\r\n'
(id,name,sex,designation,@dob)
SET date = STR_TO_DATE(@date, '%d-%b-%Y');

LOAD DATA INFILE का यह उदाहरण सभी उपलब्ध सुविधाओं को निर्दिष्ट नहीं करता है।

आप पर डेटा लोड INFILE अधिक संदर्भ देख सकते हैं यहां

CSV फ़ाइल को MySQL तालिका में आयात करें

निम्नलिखित आदेश CSV को CSV उद्धरण और बचने के नियमों का सम्मान करते हुए एक ही कॉलम के साथ एक MySQL तालिका में आयात करता है।

load data infile '/tmp/file.csv'
into table my_table
fields terminated by ','
optionally enclosed by '"'
escaped by '"'
lines terminated by '\n'
ignore 1 lines; -- skip the header row

डुप्लिकेट के साथ डेटा लोड करें

यदि आप मौजूदा डेटा वाली तालिका को पॉप्युलेट करने के लिए LOAD DATA INFILE कमांड का उपयोग करते हैं, तो आप अक्सर पाएंगे कि डुप्लिकेट के कारण आयात विफल हो जाता है। इस समस्या को दूर करने के कई संभावित तरीके हैं।

लोड डेटा स्थानीय

यदि यह विकल्प आपके सर्वर में सक्षम किया गया है, तो इसका उपयोग सर्वर के बजाय क्लाइंट कंप्यूटर पर मौजूद फ़ाइल को लोड करने के लिए किया जा सकता है। एक पक्ष प्रभाव यह है कि अद्वितीय मूल्यों के लिए डुप्लिकेट पंक्तियों को अनदेखा किया जाता है।

LOAD DATA LOCAL INFILE 'path of the file/file_name.txt' 
INTO TABLE employee

लोड डेटा INFILE 'नाम' रिप्ले

जब प्रतिस्थापित कीवर्ड का उपयोग डुप्लिकेट अद्वितीय या प्राथमिक कुंजी के रूप में किया जाता है, तो मौजूदा पंक्ति को नए के साथ प्रतिस्थापित किया जाएगा

LOAD DATA INFILE 'path of the file/file_name.txt' 
REPLACE INTO TABLE employee

लोड डेटा शख्सियत का नाम 'IGNORE

REPLACE विपरीत, मौजूदा पंक्तियों को संरक्षित किया जाएगा और नए लोगों को अनदेखा किया जाएगा। यह व्यवहार ऊपर वर्णित LOCAL समान है। हालाँकि क्लाइंट कंप्यूटर पर फ़ाइल मौजूद नहीं है।

LOAD DATA INFILE 'path of the file/file_name.txt' 
IGNORE INTO TABLE employee

मध्यस्थ तालिका के माध्यम से लोड करें

कभी-कभी सभी डुप्लिकेट को अनदेखा करना या प्रतिस्थापित करना आदर्श विकल्प नहीं हो सकता है। आपको अन्य स्तंभों की सामग्री के आधार पर निर्णय लेने की आवश्यकता हो सकती है। उस मामले में सबसे अच्छा विकल्प एक मध्यस्थ तालिका में लोड करना और वहां से स्थानांतरण करना है।

INSERT INTO employee SELECT * FROM intermediary WHERE ...

आयात निर्यात

आयात

SELECT a,b,c  INTO OUTFILE 'result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table;

निर्यात

LOAD DATA INFILE 'result.txt' INTO TABLE table;


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow