Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

इनटू आउटफाइल के साथ mysql संग्रहीत कार्यविधि

मान लें (उदाहरण के लिए ) कि आपका deals टेबल जैसा दिखता है

---------------------------
| id | deal_date  | deal  |
---------------------------
| 1  | 2014-03-10 | Deal1 |
| 2  | 2014-03-11 | Deal2 |
| 3  | 2014-03-12 | Deal3 |
---------------------------

अब आपका प्रक्रिया कोड दिख सकता है

DELIMITER //
CREATE PROCEDURE get_deals()
BEGIN
    -- create a temporary table and fill it with the desired subset of data
    -- Apply WHERE and ORDER BY as needed
    DROP TEMPORARY TABLE IF EXISTS tmp_deals;
    CREATE TEMPORARY TABLE tmp_deals 
    SELECT id, deal_date, deal -- explicitly specify real column names here. Don't use SELECT *. It's a bad practice.
      FROM deals
     ORDER BY id DESC;

    -- write the resultset to the file
    SELECT * 
      INTO OUTFILE '/path/to/deals.txt'
        FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
        LINES TERMINATED BY '\n'
      FROM tmp_deals;

    -- return the resultset to the client
    SELECT * FROM tmp_deals; 
END//
DELIMITER ;

इसे क्रियान्वित करने के बाद:

CALL get_deals();

क्लाइंट पर आपको मिलेगा:

---------------------------
| id | deal_date  | deal  |
---------------------------
| 3  | 2014-03-12 | Deal3 |
| 2  | 2014-03-11 | Deal2 |
| 1  | 2014-03-10 | Deal1 |
---------------------------

और फ़ाइल की सामग्री होगी:

3,"2014-03-12","Deal3"
2,"2014-03-11","Deal2"
1,"2014-03-10","Deal1"

नोट: OUTFILE . का उपयोग करते समय MySQL के लिए आवश्यक है कि फ़ाइल नए सिरे बनाई जानी चाहिए . यदि आप फ़ाइल को आउटपुट निर्देशिका में छोड़ते हैं तो बाद की प्रक्रिया कॉल पर आपको निम्न त्रुटि मिलेगी

इसे हल करने का एक तरीका फ़ाइल नाम में टाइमस्टैम्प को या तो प्रक्रिया के भीतर या पैरामीटर के माध्यम से मान पास करके जोड़ना है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql_real_escape_string का सुरक्षित विकल्प? (पीएचपी)

  2. mysql_num_rows ():आपूर्ति किया गया तर्क मान्य MySQL परिणाम संसाधन नहीं है

  3. SQLAlchemy - तालिकाओं की सूची प्राप्त करना

  4. php mysql आज, कल और डेटाबेस से तारीख

  5. कमांड लाइन इंटरफेस (सीएलआई) का उपयोग करके एक MySQL डेटाबेस कैसे बनाएं