SQLite 是一個open的輕型資料庫
Android有提供相關的API可以操作和使用
也可以用下Command的方式去操作
不過直接從code和非圖型化介面會比較難入門
以下就由第三方軟體的方式先介紹SQLite的基本使用
然後再切到相對應的Android API部分
1. 首先先到SQLite的官網 https://sqlite.org/. 有興趣的可以爬一下Documentation
2. 但由於要方便里解, 推薦另一個中文的學習網站, 已經整理好了介紹和語法, 並且都有例子
http://webdesign.kerthis.com/sql/
先點進入 SQL * 關於 的頁面
這邊提到
SQL語言分為4個部分
(a) DDL (Date Definition Language)
負責資料庫和資料表的 Create(新增), Alter(修改), Drop(刪除)
(b) DML (Data Manipulation Language)
負責 資料的 Insert(新增), Update(修改), Delete(刪除)
(c) DQL (Data Query Language)
負責 資料的 SELECT(查詢)
有些分類會把他併在DML中, 就變成耳熟能詳的 新增, 修改, 查詢, 刪除
(d) DCL (Data Control Language)
設定資料庫和資料表的權限
3. 接著介紹一個第三方的Open Source軟體, 然後可以從其下載該軟體
網址: http://sqliteman.yarpen.cz/
4. 為了方便, 直接連結下載頁, http://sourceforge.net/projects/sqliteman/files/sqliteman/1.2.2/
5. 下載解壓縮完成後, 點選 sqliteman執行
6. 開啟之後, 先建立一個新的資料庫, 點選 File -> New
7. 然後輸入資料庫的名稱, 可依據自己的喜好, 這邊以mySQL為例, 然後按下確定
8. 然後整個版面就出來了,
左邊是資料庫
右上是以命令列的方式下指令
右中是處裡資料表內資料的地方
右下是訊息視窗, 也就是做了哪些動作的回應
9. 開始介紹DDL的語法
首先介紹如何創建資料表 DDL的Create
在Tables上點選 滑鼠右鍵, 然後滑鼠左鍵點選 Create Table...
10. 介紹一下創建表單的功能
最上方Table Name 是指表單的名稱, 必填
Name 是指欄位的名稱
Type 是指該欄位的類型
Text 是文字, 對應Java的String, char
PK Integer 是唯一整數, 簡單來說就是該欄位需是整數且不能重複
PK Autoincrement, 是唯一的並且會自動增加
Integer 是整數, 對應Java就是byte, short, int 和 long
Real 是實數, 所有的數字都是實數, 對應Java就是float和double
Blob 是指圖片, 這個欄位可以放圖片上去
Null 是空值
Not Null 勾選的話則代表該欄位不能為空值
Add是新增一個欄位
Remove 是刪除該欄位
Create是創建表格
11. 然後就先建立一個表格
這邊以table1命名, 然後分別建立name (Text且Not Null), id (PK Integer), age (Integer) 為例
創建成功後, 左下角會有提示訊息
12. 回到主畫面, 在table1上按右鍵點選Describe Table
就可以在右邊看見該表格的語法
13. 選取table1的創建語法按右鍵複製
貼到右上方的命令框, 然後把table1改成table2, 按下綠色箭頭執行
語法介紹如下
CREATE TABLE "Table的名稱"
(
"欄位名稱" 資料型態 條件 ,
"欄位名稱" 資料型態 條件
)
的型式, 基本上可以用工具創好表格,
如果需要指令在複製就好了
14. 然後可以看見右下方出現創建成功的訊息
15. 回到主畫面就會看到多了一個table2, 就代表創建成功了
接著介紹表格更新 DDL的Alter
在table2上點選滑鼠右鍵, 然後選擇Alter Table...
16. 就可以按下Add開始新增欄位, 新增完之後按下Alter就更新了
17. 然後用語法來新增欄位
ALTER TABLE table2
ADD add3 TEXT;
語法解式如下
ALTER TABLE table名稱
ADD 欄位名 資料型態 屬性;
如果要更詳細的細節可以參考步驟2的網頁
18. 最後介紹刪除表格 DDL的Drop
滑鼠右鍵點選目標表格, 然後按下 Drop Table
或是在命令框輸入
DROP TABLE 表格名稱
以上介紹完sqliteman的DDL基本語法
下一篇[Android] 3-5 SQLite基礎 - 基本DML&DQL就會介紹DML和DQL