一、概念:
1.1什麼是數據:在計算機科學中,數據是所有能輸入計算機并被計算機程序處理的符号的介質的總稱、是信息的集合
1.2什麼是數據庫:在某個管理系統下存儲的數據集合。
1.3數據庫的分類:大型數據庫、中型數據庫、小型數據庫
1.4SQLITE:是一種基于嵌入式linux的一種小型關系型數據庫,源代碼為C、體積小250KB、操作快、可以在不同字節序的機器上共享、數據庫最大2TB。
二、SQLITE數據庫的創建
2.1可以在ubuntu的操作系統下、使用sqlite3工具、通過命令行的方式創建數據庫
首先安裝sqlite3 在命令行輸入:sudo apt-get install sqlite3
創建數據庫 在命令行輸入:sqlite3 data1.db //這樣便創建了名為data1的數據庫,若是本來就存在該數據庫、就直接使用該數據庫
在sqlite3的工具界面可以輸入 .database來查看創建好的數據庫。
2.2可以通過C程序中對API函數的調用完成對數據庫的創建
調用sqlite3_open 函數
通過API函數創建了data1.db數據庫
要編譯 連接通過需要sudo apt-get install libsqlite3-dev
三、SQLITE常用命令
命令分為:系統命令、以“.”開頭,SQL語句、以“;”結尾
在linux終端輸入sqlite3後進入sqlite操作界面:
3.1退出命令 .exit .quit
3.2查看表 .table
查看了建立好的fruit1
3.3查看表的結構
下面是sql語句:
3.4創建表A:create table A(id integer , name text , age integer , score float);
3.5插入記錄:insert into fruit1 values (1 , 'sa' , 20 , 13);
insert into fruit1 (id , name , score) values(1 , 'sa' ,20 ,13);
3.6删除一條記錄:delete from fruit1 where name = 'sa' and score = 13;
3.7更新一條記錄:update fruit1 set age = 20 where id = 1;
update fruit1 set age = 20 ,score = 13 where id = 1;
3.8增加一列:alter table fruit1 add column level char;
3.9删除一列:create table fruit2 as select id , name from fruit1;
drop table fruit1;
alter table fruit2 rename to fruit1;
3.10查看數據庫記錄:
select * from fruit1 where score >=0 and score <=50;
select * from fruit1;
select * from fruit1 where id = 1;
select * from fruit1 where id = 1 and name = 'sa'; //and or
select name , score from fruit1; //查詢指定字段
3.11删除一張表:drop table fruit1;
四、sqlite3 數據庫的API函數
4.1打開數據庫
int sqlite3_open(
const char *filename; //數據庫的名字
sqlite3 **ppDb; //函數的回傳的句柄二級指針
);
返回值:成功為0 SQLITE_OK ,出錯為錯誤碼(const char sqlite3_errmsg(sqlite3 *db))裡面的參數為句柄一級指針。
4.2關閉數據庫
int sqlite3_close(sqlite3 *db); //參數為回傳句柄一級指針
返回值:成功為0 SQLITE_OK ,出錯為錯誤碼(const char sqlite3_errmsg(sqlite3 *db))裡面的參數為句柄一級指針。
4.3執行sql語句
int sqlite3_exec(
sqlite3 *db, //句柄的一級指針
const char *sql ,//sql語句的首地址
int (*callback)(void * arg ,int f_num,char ** f_value , char **f_name),
//callback 參數1:sqlite3_exec傳遞來的參數,參數2:列數,參數3:列的值的地址,參數4:列的名稱的地址
void *arg,//為回調函數傳遞參數
char **errmsg //錯誤消息
);
隻有在執行查詢語句時、才會傳參
返回值:成功時返回SQLITE_OK
4.4查詢函數
int sqlite3_get_table(
sqlite *db, const char *sql, char* **result ,int *nrow ,int *ncolumn ,char** errmsg
);
db:數據庫的句柄
sql:sql語句
**result:二維數組 存放查詢結果
nrow:表的行數
ncolumn:表的列數
errmsg:存放錯誤信息
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!