SQLite3數據庫

#SQLite可視化管理工具(SQLite Expert Pro)前端

SQLite特色:

1. 遵照ACID(原子性、一致性、隔離性和持久性)的關係型數據庫管理系統;
2. 不是一個C/S結構的數據庫引擎,而是被集成在用戶程序中;不是一個應用程序與之通訊的進程;
3. 是一種嵌入式數據庫,它的數據庫就是一個文件。
4. Android、iOS等移動操做系統中的數據庫實現就使用的SQLite3;它可以支持Windows/Linux/Unix等等主流的操做系統,同時可以跟不少程序語言相結合,好比 Tcl、C#、PHP、Java等,還有ODBC接口;
5. 比目前流行的大多數數據庫對數據的操做要快;
6. SQLite3支持數據庫大小至2TB,包含在一個C程序庫中大小250KB;sql

7. 零裝配,無需安裝和配置;數據庫

 

基本結構:

簡單來講兩部分——前端解析系統--後端引擎後端

SQLite的表和索引用B/B+樹來組織安全

SQL語句

1. 建立表多線程

create table 表名 (字段1  數據類型約束1,  ...  , 字段n  數據類型約束n )函數

create table students ( id integer primary key autoincrement,
name vachar(20) check (length(name) > 3),
tel_no vachar(11) not null,
cls_id integer not noll,
unique (name, tel_no),
FOREIGN KEY(cls_id) REFERENCES classes(id)
);

SQLite數據類型工具

聲明類型 親緣類型 應用規則
INT
INTEGER
TINYINT
SMALLINT
MEDIUMINT
BIGINT
UNSIGNED BIG INT
INT2
INT8
INTEGER 1
CHARACTER(20)
VARCHAR(255)
VARYING CHARACTER(255)
NCHAR(55)
NATIVE CHARACTER(70)
NVARCHAR(100)
TEXT
CLOB
TEXT 2
BLOB NONE 3
REAL
DOUBLE
DOUBLE PRECISION
FLOAT
REAL 4
NUMERIC
DECIMAL(10,5)
BOOLEAN
DATE
DATETIME
NUMERIC 5

主鍵約束:操作系統

SQLite表中含有一個內置主鍵row_id線程

外鍵約束:

外鍵可以確保表中的關鍵值必須從另外一個表中引用,且該數據必須在另外一個表中存在,不然會操做失敗或引起其餘的連鎖反應。 

 

2. 插入數據

insert into 表名 (字段列表) values (與字段列表中對應的字段值)

舉例,

insert into classes values(1, 'software', 2010);

批量插入

insert into stu select * from students;

 

3. select語句——使用數據庫

3部分組成:基本操做,附加操做,擴展操做

select [distinct] columns from tables

    where predictate

    group by columes

    having predicate

    order by columns

    limit count, offset;

 

4. update語句——更新表中數據

update table set update_list where predicate;

 

5. delete語句——刪除數據

delete from table where predicate

 

6. 修改表

alter table tableName { rename to newName | add column 新的字段}

 

SQLite API

基本操做:增、刪、查、改

insert,delete, query, update

 

Cursor

當執行查詢語句時,返回的數據類型爲Curor。它是一個提供了隨機讀寫訪問數據庫查詢結果集的接口,Cursor並非線程安全的,所以,當在多線程中訪問Cursor對象時要手動進行同步,避免出現線程安全問題。

Cursor中定義了一個光標位置,該光標默認指向第一個數據。

用戶能夠經過moveToNext函數不斷地移動光標獲取下一個函數,不斷地重複這個過程就能夠獲取到全部數據。

相關文章
相關標籤/搜索