SQLite是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目標是嵌入 式的,而且目前已經在很多嵌入式產品中使用了它
SQLite的特點:
輕量級
SQLite和C/S模式的資料庫軟體不同,它是進程內的資料庫引擎,因此不存在資料庫的用戶端和伺服器。使用SQLite一般只需要帶上它的一個動態 庫,就可以享受它的全部功能。而且那個動態庫的尺寸也挺小,以版本3.6.11為例,Windows下487KB、Linux下347KB。
不需要"安裝"
SQLite的核心引擎本身不依賴第三方的軟體,使用它也不需要"安裝"。有點類似那種綠色軟體。
單一檔案
資料庫中所有的資訊(比如表、視圖等)都包含在一個檔案內。這個檔案可以自由複製到其它目錄或其它機器上。
跨平台/可移植性
除了主流作業系統 windows,linux之後,SQLite還支援其它一些不常用的作業系統。
弱類型的欄位
同一列中的資料可以是不同類型
開源
這個相信大家都懂的!
3.SQLite資料類型
一般資料採用的固定的待用資料類型,而SQLite採用的是動態資料類型,會根據存入值自動判斷。SQLite具有以下五種常用的資料類型:
NULL: 這個值為空白值
VARCHAR(n):長度不固定且其最大長度為 n 的字串,n不能超過 4000。
CHAR(n):長度固定為n的字串,n不能超過 254。
INTEGER: 值被標識為整數,依據值的大小可以依次被儲存為1,2,3,4,5,6,7,8.
REAL: 所有值都是浮動的數值,被儲存為8位元組的IEEE浮動標記序號.
TEXT: 值為文本字串,使用資料庫編碼儲存(TUTF-8, UTF-16BE or UTF-16-LE).
BLOB: 值是BLOB資料區塊,以輸入的資料格式進行儲存。如何輸入就如何儲存,不改 變格式。
DATA :包含了 年份、月份、日期。
TIME: 包含了 小時、分鐘、秒。
相信學過資料庫的童鞋對這些資料類型都不陌生的!!!!!!!!!!
一、建立/刪除表
| 代碼如下 |
複製代碼 |
String sql="Create table "+TABLE_NAME+"("+FIELD_ID+" integer primary key autoincrement," +FIELD_TITLE+" text );"; db.execSQL(sql); String sql=" DROP TABLE IF EXISTS "+TABLE_NAME; db.execSQL(sql); |
二、查詢
從表中查詢資料(in) SELECT * FROM meta where media_id in (1,2,9);
三、插入
| 代碼如下 |
複製代碼 |
SQLiteDatabase db=this.getWritableDatabase(); ContentValues cv=new ContentValues(); cv.put(FIELD_TITLE, Title); long row=db.insert(TABLE_NAME, null, cv); |
四、更新
| 代碼如下 |
複製代碼 |
SQLiteDatabase db=this.getWritableDatabase(); String where=FIELD_ID+"=?"; String[] whereValue={Integer.toString(id)}; ContentValues cv=new ContentValues(); cv.put(FIELD_TITLE, Title); db.update(TABLE_NAME, cv, where, whereValue); |
五、刪除
| 代碼如下 |
複製代碼 |
SQLiteDatabase db=this.getWritableDatabase(); String where=FIELD_ID+"=?"; String[] whereValue={Integer.toString(id)}; db.delete(TABLE_NAME, where, whereValue); |