Я хотел бы создать новую встроенную базу данных h2 из файла CSV.Вот фрагмент файла csv
Страна, Город, AccentCity, Регион, Население, Широта, Долгота
ad, aixovall, Aixovall, 06, 42.4666667,1.4833333
ad, Андорра, Андорра, 07, 42.5,1.5166667
ad, Андорра-ла-Велья, Андорра-ла-Велья, 07,20430,42.5,1.5166667
ad, andorra-vieille, Андорра-Вьей, 07, 42,5,1,5166667
ad, andorre, Андорра, 07, 42,5,1.5166667
Я не хочу получать все поляCSV-файл.На самом деле, я хочу их все, кроме полей City и Region .
И еще, я хочу вставить содержимое файла csv в базу данных ТОЛЬКО ЕСЛИсодержимое POPULATION не пусто.
Таким образом, в приведенном выше примере csv мы должны только вставить 3-ю строку в таблицу h2 WORLDCITIES, потому что указано ее поле "население".
Вот фрагмент кода, который я написал.Но, как видите, этого пока недостаточно:
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), ACCENTCITY VARCHAR (40), поплавок населения, поплавок роста, поплавок долготы
Заранее спасибо за помощь.