के कुछ क्षेत्रों से एच 2 डेटाबेस कैसे बनाएं I CSV फ़ाइल से एक नया एम्बेडेड एच 2 डेटाबेस बनाना चाहते हैं। यहाँ csv फ़ाइल का टुकड़ा हैएक CSV फ़ाइल
देश, शहर, AccentCity, क्षेत्र, जनसंख्या, अक्षांश, देशांतर
विज्ञापन, aixovall, Aixovall, 06,, 42.4666667,1.4833333
विज्ञापन, एंडोरा, एंडोरा, 07,, 42.5,1.5166667
विज्ञापन, एंडोरा ला वेला, Andorra la Vella, 07,20430,42.5,1.5166667
विज्ञापन, एंडोरा-Vieille, एंडोरा-विले, 07,, 42.5, 1.5166667
विज्ञापन, Andorre, Andorre, 07,, 42.5,1.5166667
मैं csv फ़ाइल के सभी क्षेत्रों को पुनः प्राप्त करने नहीं करना चाहती। असल में, मैं उन्हें शहर और क्षेत्र फ़ील्ड को छोड़कर सभी को चाहता हूं।
और आगे, मैं केवल डेटाबेस में सीएसवी फ़ाइल की सामग्री डालना चाहता हूं अगर की सामग्री POPULATION खाली नहीं है।
इस प्रकार, उपरोक्त सीएसवी उदाहरण में, हमें केवल तीसरी पंक्ति को H2 तालिका विश्वव्यापी में डालना होगा क्योंकि इसकी 'आबादी' फ़ील्ड इंगित की गई है।
यहां मैंने लिखा कोड का एक स्निपेट है। लेकिन, जैसा कि आप देख सकते हैं, यह न पर्याप्त अभी तक है:
conn = DriverManager.getConnection(connectionURL, connectionProps);
Statement stmt = conn.createStatement();
stmt.execute("CREATE TABLE WORLDCITIES"
+ " AS SELECT COUNTRY, ACCENTCITY, POPULATION, LATITUDE, LONGITUDE"
+ " FROM CSVREAD('snippet.csv'));
और अगर मैं सही ढंग से समझ, CSVREAD VARCHAR प्रकार का उपयोग क्षेत्र बनाने, लेकिन मैं इस तरह बातें हैं:
देश VARCHAR (3), एकाग्रता वचर (40), जनसंख्या फ्लोट, लेटिट्यूड फ्लोट, लांगिट्यूड फ्लोट
मदद के लिए अग्रिम धन्यवाद।
बहुत बहुत धन्यवाद, अंततः मैंने आपके समाधान का उपयोग किया था! – paissad