mysql डेटाबेस के साथ काम करना - mysql, bash, shell, csv

मैं टेबल लाने के लिए एक शेल स्क्रिप्ट लिख रहा हूंएक mysql डेटाबेस से (वास्तव में डेटाबेस का हिस्सा, किसी विशेष समय अवधि से दूसरे तक) और उसे .csv फ़ाइल में डाल दें। यहां मैंने जो लिखा है, और मुझे एक त्रुटि मिल रही है

mysql -u -p -B -e "use mytable;select * from table3;" | sed "s/t/","/g;s/^/"/;s/$/"/;s/n//g" > filename.csv

(mysql के एकाधिक प्रश्न)

(कृपया यह भी संकेत दें कि मैं एक विशेष समय अवधि के लिए mysql तालिका से डेटा कैसे निकाल सकता हूं, 23 जनवरी 16:05 से 30 जनवरी 17:05 कहें)

कृपया ध्यान दें कि तालिका 3 एक शैल वेरिएबल न्यूटेबल से आना है तो मुझे कोड में $ newtable का उपयोग करना होगा और मुझे केवल खोल का उपयोग करना है

उत्तर:

जवाब के लिए 0 № 1

यदि आप mysql के साथ एक csv फ़ाइल में क्वेरी कर सकते हैं:

गूंजें "ए, बी, ए + बी इंटो आउटलेट चुनें" /tmp/result.txt " "" द्वारा निष्कासित फ़ील्ड "," वैकल्पिक रूप से अन्तर्निहित "" "एन" द्वारा निर्धारित लाइनें $ Newtable से; "| mysql -u -p -b mytable

और जानकारी: http://dev.mysql.com/doc/refman/5.1/en/select-into.html


जवाब के लिए 0 № 2

अपनी स्क्रिप्ट में नएटेबल का प्रयोग करें:

newtable="table3"
"mysql -u -p -B -e "use mytable;select * from $newtable;"

प्रश्न भाग के लिए मानते हुए कि आप "दिनांक प्रकार" कॉलम का उपयोग कर रहे हैं, "अवधि" नाम के साथ कहें तो क्वेरी होगी:

"Select * from table3 where MONTHNAME(period)="January";

अपनी आवश्यकता के अनुसार इस नवीनतम अद्यतन की जांच करें:

 date="2010-08-11"
start="10:09:09"
end="21:50:59"

"Select * from table3 where DATE(period)="$date" and TIME(period) between
"$start"and "$end"";

संबंधित सवाल
सबसे लोकप्रिय