請記住,這是一個相當新手的問題,所以請耐心等待我。德比,SQL和CSV
因此,作爲一個對數據庫知之甚少的人,不良的條件已經導致我進入一個我不知道如何去做的任務的情況。
在我需要的時候,我來找你們/加爾斯。
首先,我的任務需要我使用Apache Derby與Eclipse一起實現所需的目標。
我給了一個位於res/myCSVFile.csv
的單個數據庫。
與CSV
擴展名的文本文件看起來像這樣:
letter,name
A,alpha-static
B,beta-static
C,charlie-static
不顯得太危險了吧?
我知道我可以建立一個很好的HashMap
我的CSV
文件是這樣的:
Map<String, myFileType> myHashMap = new HashMap<>();
try(CSVReader rdr = new CSVReader(new FileReader("res/myCSVFile.csv"), ',','"',1)){
for(String[] row : rdr.readAll()){
File imagefile = new File(row[1]);
myHashMap.put(row[0], new myFileType(imagefile, Integer.parseInt(row[2])));
}
}
我知道CSV
用逗號分隔欄,所以我想我在這個文件中看到兩列,一個標記字母「下面的值爲」A「,」B「和」C「,另一個標籤爲」名稱「,下面是」alpha-static「,」beta-static「和」charlie-static「。
我的情況要求我使用Derby來操縱上述數據作爲SQL
數據庫。知道一個CSV
文件看起來沒有像SQL
文件,我知道有一些轉換涉及。
我不知道Java是否可以(或應該)以某種方式爲我做到這一點,但我認爲不是。
現在,我推測SQL
變種我CSV
文件看起來是這樣的:
DROP TABLE possibleSqlTable;
CREATE TABLE possibleSqlTable(
letter VARCHAR(1) NOT NULL PRIMARY KEY
, name VARCHAR(14)
);
INSERT INTO possibleSqlTable(letter,name) VALUES ('A','alpha-static');
INSERT INTO possibleSqlTable(letter,name) VALUES ('B','beta-static');
INSERT INTO possibleSqlTable(letter,name) VALUES ('C','charlie-static');
這只是我在黑暗中在此SQL
數據庫是什麼樣子(糾正我,如果我錯了猜測)。假設保存爲res/possibleSqlDatabase.sql
。
現在,我該如何在動作中獲得德比?
假設我的SQL
數據庫是正確的,因爲我上面已經猜到了,我該如何查詢語句?
例如,我會如何將「A」映射到「alpha-static」?我可以用簡單的HashMap
來做到這一點嗎?我很想看看,如果可能的話。
我對SQL
-指令的工作原理有一個基本的,非常基本的理解,但我會喜歡使用我的數據庫的一些示例。
回答時,只要把我當成一個學齡前兒童來學習這些東西。我真的很新。
不會質疑相關的,你沒有把這些'EDIT's在問題機構 - 還有他們的一個地方叫編輯總結。 –
哦。一定忽略了這一點。赦免。 – ViRALiC