在Day 29中,我們安裝了SQLite,並練習建置資料庫、建立資料表(一個空的資料表叫tenniscourts),以及查詢table的欄位資訊。接下來一起試試SQLite上的CRUD吧。
試著INSERT
一筆資料進去DB。
INSERT INTO tenniscourts (_id, court_name, city, surface) VALUES (1, "Jenhai Tennis court", "Kaohsiung", "Clay");
再補上兩筆:
INSERT INTO tenniscourts (_id, court_name, city, surface) VALUES (1, "Minquan Tennis court", "Taipei", "Hard");
INSERT INTO tenniscourts (_id, court_name, city, surface) VALUES (1, "NCTU Tennis court", "Hsinchu", "Hard");
使用SELECT * FROM tenniscourts;
查詢表格資料並得到結果:
如果不喜歡預設的分隔符號|
,可以輸入.mode tabs
將輸出結果的分隔符號改成tab:
現在表格內容應該如下:
_id | court_name | city | surface |
---|---|---|---|
1 | Jenhai Tennis court | Kaohsiung | Clay |
2 | Minquan Tennis court | Taipei | Hard |
3 | NCTU Tennis court | Hsinchu | Hard |
由於現有table少了一些條件約束,在新增紀錄的時候可能會產生意想不到的結果(例如忘了輸入名稱),以下是依些常用的條件約束關鍵字:
DROP TABLE tenniscourts;
),再使用條件約束建立一次:CREATE TABLE tenniscourts(_id INTEGER PRIMARY KEY AUTOINCREMENT, court_name TEXT NOT NULL, city TEXT NOT NULL, surface NOT NULL DEFAULT 'Hard');
INSERT INTO tenniscourts (court_name, city, surface) VALUES ("Jenhai Tennis court", "Kaohsiung", "Clay");
。使用WHERE
來得到特定網球場資料,即根據ID來讀取單筆資料,例如搜尋id=2、或場地類型(Surface)為硬地(Hard)、或城市(city)為高雄(Kaohsiung)的網球場:
試著根據ID來UPDATE
資料,假設我們想要將_id為1的球場的城市由"Kaohsiung"改為"Kaohsiung City",則語法為UPDATE tenniscourts SET city = "Kaohsiung City" WHERE _id==1;
最後是DELETE
,使用DELETE關鍵字來刪除特定網球場資料:DELETE FROM tenniscourts WHERE city = "Kaohsiung City";
雖然對於Android的認識還有很長的路要走,
但這只是個開端,很慶幸自己選了一個沒接觸過的主題,過了充實的30天,
也謝謝所有訂閱、觀看我文章的邦友。