Sqlite3 資料庫操作

2021-07-15 14:50:47 字數 3808 閱讀 3148

一、

sqlite3長用於 輕量級的 資料儲存,象微控制器這一類,但是現在的sqlite3,已經很先進,不能小看

二、sqlite3

常用命令

當前目錄下建立或開啟test.db

資料庫檔案,並進入

sqlite

命令終端,以

sqlite>

字首標識:

#sqlite3 test.db

檢視資料庫檔案資訊命令(

注意命令前帶字元

'.')

:sqlite>.database

檢視所有表的建立語句:

sqlite>.schema

檢視指定表的建立語句:

sqlite>.schema table_name

以sql

語句的形式列出表內容:

sqlite>.dump table_name

設定顯示資訊的分隔符:

sqlite>.separator symble

example:設定顯示資訊以『:』分隔

sqlite>.separator :

設定顯示模式:

sqlite>.mode mode_name

example:預設為

list

,設定為

column

,其他模式可通過

.help

檢視mode

sqlite>.mode column

輸出幫助資訊:

sqlite>.help

設定每一列的顯示寬度:

sqlite>.width width_value

example:設定寬度為

2sqlite>.width 2

列出當前顯示格式的配置:

sqlite>.show

退出sqlite

終端命令:

sqlite>.quit

或sqlite>.exit

3、sqlite3

指令sql的指令格式:所有

sql指令都是以分號

(;)結尾,兩個減號

(--)

則表示注釋。

如:sqlite>create studen_table(stu_no interger primary key, name text not null, id interger unique, age interger check(age>6), school text default 'xx小學

);該語句建立乙個記錄學生資訊的資料表。

3.1 sqlite3儲存資料的型別

null:標識乙個

null

值interger:整數型別

real:浮點數

text:字串

blob:二進位制數

3.2 sqlite3儲存資料的約束條件

sqlite常用約束條件如下:

primary key - 主鍵:

1)主鍵的值必須唯一,用於標識每一條記錄,如學生的學號

2)主鍵同時也是乙個索引,通過主鍵查詢記錄速度較快

3)主鍵如果是整數型別,該列的值可以自動增長

not null - 非空:

約束列記錄不能為空,否則報錯

unique - 唯一:

除主鍵外,約束其他列的資料的值唯一

check - 條件檢查:

約束該列的值必須符合條件才可存入

default - 預設值:

列資料中的值基本都是一樣的,這樣的字段列可設為預設值

3.3 sqlite3常用指令

1)建立資料表

create table table_name(field1 type1, field2 type1, ...);

table_name是要建立資料表名稱,

fieldx

是資料表內欄位名稱,

typex

則是字段型別。

例,建立乙個簡單的學生資訊表,它包含學號與姓名等學生資訊:

create table student_info(stu_no interger primary key, name text);

create table if not exists 表名(欄位名1,欄位名2...);   

2)新增資料記錄

insert into table_name(field1, field2, ...) values(val1, val2, ...);

valx為需要存入欄位的值。

例,往學生資訊表新增資料:

insert into student_info(stu_no, name) values(0001, alex);

3)修改資料記錄

update table_name set field1=val1, field2=val2 where expression;

where是

sql語句中用於條件判斷的命令,

expression

為判斷表示式

例,修改學生資訊表學號為0001

的資料記錄:

update student_info set stu_no=0001, name=hence where stu_no=0001;

4)刪除資料記錄

delete from table_name [where expression];

不加判斷條件則清空表所有資料記錄。

例,刪除學生資訊表學號為0001

的資料記錄:

delete from student_info where stu_no=0001;

5)查詢資料記錄

select指令基本格式:

select columns from table_name [where expression];

a查詢輸出所有資料記錄

select * from table_name;

b限制輸出資料記錄數量

select * from table_name limit val;

c公升序輸出資料記錄

select * from table_name order by field asc;

d降序輸出資料記錄

select * from table_name order by field desc;

e條件查詢

select * from table_name where expression;

select * from table_name where field in ('val1', 'val2', 'val3');

select * from table_name where field between val1 and val2;

f查詢記錄數目

select count (*) from table_name;

g區分列資料

select distinct field from table_name;

有一些欄位的值可能會重複出現,distinct

去掉重複項,將列中各字段值單個列出。

6)建立索引

當說資料表存在大量記錄,索引有助於加快查詢資料表速度。

create index index_name on table_name(field);

例,針對學生表stu_no

字段,建立乙個索引:

create index student_index on student_table(stu_no);

建立完成後,sqlite3

在對該字段查詢時,會自動使用該索引。

7)刪除資料表或索引

drop table table_name;

drop index index_name;

sqlite3資料庫操作

1 開啟資料庫 1 需要制定資料庫的路徑 nsstring filepath nshomedirectory documents data.sqlite 2 建立資料庫的物件 sqlite3 qingyundb null 3 開啟命令 sqlite3 open dbfilepath utf8stri...

SQLite3資料庫操作

簡單的sqlite3語句,通過字串拼接執行資料庫操作。1.建立資料庫格式 db.execsql create table if not exists sharp id integer primary key,name varchar,level integer,high integer 其真正的有效...

sqlite3資料庫操作

查詢介面 sqlite api int sqlite3 get table sqlite3 db,an open database,資料庫控制代碼 const char zsql,sql to be evaluated,sql語句 char pazresult,results of the quer...