色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 學習筆記 > sqlite3數據庫詳細介紹,為sqlite3數據庫學習加速

sqlite3數據庫詳細介紹,為sqlite3數據庫學習加速 時間:2018-08-14      來源:未知

sqlite3數據庫從sqlite系統命令,sqlite3 的使用,sqlite3 API 函數接口等這些方面來詳細了解sqlite3數據庫

安裝數據庫:sudo apt-get install sqlite3

創建數據庫:sqlite3 stu.db必須實現指定數據庫名

【1】sqlite系統命令

系統命令以 "."開頭普通命令,以";"結束

.schema 查看表的結構

.quit 退出數據庫(ctrl + \ 強制退出)

.exit 退出數據庫

.help 查看幫助信息

.databases 查看數據庫

.table 顯示數據庫中所有的表的表名

【2】sqlite3 的使用

1)創建一張表create table 表名(字段名稱1 字段類型,字段名稱2 字段類型, ....);

create table stu(id int, name char[20], sex char , score int);

2)向表中插入一條記insert into 表名 values (字段值1,字段值2,...);

錄insert into stu values(1001, 'zhangsan', 'm', 89);

insert into stu (id, name, sex,score) values(1002, 'lisi', 'm', 99);

select * from stu;// 查找所有的記錄

select * from stu where id=1001;// 查找符號條件的記錄

3)查詢記錄select * from stu where name= 'zhangsan';

// 字符串需要加引號(單雙皆可,功能相同)

select * from stu where name = 'zhangsan' or score=92;

4)刪除記錄delete from stu where id=1004;

5)更新記錄update stu set score=98 where id=1003;

6)刪除一張表drop table stu;

7)添加一列 alter table stu add column score int;

sqlite3 不允許直接刪除一列

①先創建一張新表

create table stu1 as select id , name from stu;

8)刪除一列 ②刪除原來的舊表

drop table stu;

③對新表重命名

alter table stu1 rename to stu;

9)數據庫主鍵 (既設置的數據將會是唯一存在的)

create table usr(name text primary key , passwd text);

【3】sqlite3 API 函數接口

gcc 編譯時應該連接 sqlite3 庫(靜態庫)

gcc *.c -o *** -lsqlite3

所需頭文件 #include

int sqlite3_open(

函數原型 const char *filename,/* Database filename (UTF-8) */

sqlite3 **ppDb/* OUT: SQLite db handle */

);

功能 創建或者打開一個數據庫

filename 數據庫名字

參數

ppdb 操作數據庫的指針,句柄。

成功 SQLITE_OK

返回值

失敗 error_code

例 sqlite3 *db;

if(sqlite3_open("stu.db", &db) != SQLITE_OK)

{

printf("%s\n", sqlite3_errmsg(db));

}

所需頭文件 #include

int sqlite3_exec(

sqlite3* db,/* An open database */

const char *sql,/* SQL to be evaluated */

int (*callback)(void*,int,char**,char**), /* Callback function */

函數原型 void * arg,/* 1st argument to

callback */

char **errmsg/* Error msg written here

*/

);

功能執行一條sql語句

參數db 數據庫的句柄指針

sql 將要被執行sql語句

callback 回調函數, 只有在查詢語句時,才給回調函數傳參

int (*callback)(void* arg ,int ncolumn ,char** f_value,char**

f_name)

功能:得到查詢結果

參數:arg 為回調函數傳遞參數使用的

ncolumn 記錄中包含的字段的數目

f_value包含每個字段值的指針數組

f_name包含每個字段名稱的指針數組

返回值:成功 0,出錯非0

arg 為callback 傳參的

errmsg 錯誤信息的地址

成功 SQLITE_OK

返回值

失敗 error_code

char *errmsg;

if(sqlite3_exec(db, "create table stu(id int, name char, score int)",

例子NULL, NULL, &errmsg) != SQLITE_OK)

{

printf("%s\n", errmsg);

}

所需頭文件 #include

int sqlite3_get_table(

sqlite3 *db,/* An open database */

const char *zSql,/* SQL to be evaluated */

函數原型char ***pazResult, /* Results of the query */

int *pnRow,/* Number of result rows written here */

int *pnColumn,/* Number of result columns written here */

char **pzErrmsg/* Error msg written here */

);

功能查詢數據庫,它會創建一個新的內存區域來存放查詢的結果信息

db 數據庫操作句柄

sql 數據庫的sql語句

azResult 查詢的結果

行數,nrow的值為查詢到的符合條件的記錄數(不包括字段名)。

參數 注意:nrow的值不包括字段名,如果打印時用for (i = 0; i < nrow;

nRowi++)會打印出字段名,但是會少打印出一條符合條件的記錄。因此打

印時要用 for (i = 0; i

印出來。

nColumn列數,ncolumn的值為查詢到的符合條件的字段數。

errmsg錯誤消息

成功SQLITE_OK

返回值

失敗error_code

const char *sqlite3_errmsg(sqlite3* db);功能:獲取錯誤信息描述

int sqlite3_close(sqlite3* db);功能:關閉一個數據庫

void sqlite3_free_table(char **result);功能:釋放內存

推薦書籍:

UNIX高級環境編程

UNIX網絡編程 卷一 卷二

TCP/IP詳解 卷一 卷二 卷三

UNIX/LINUX系統編程手冊 上冊 下冊

上一篇:同步與異步的區別詳解

下一篇:Linux下網絡編程實現UDP,還有大量實例

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 日韩国产一区在线 | 最近免费中文字幕中文高清 | 狠狠婷 | 国产又爽又黄又无遮挡的激情视频 | 亚洲国产精品一区第二页 | 免费观看裸体美女网站 | 800AV凹凸视频免费观看 | 我的妺妺h伦浴室无码视频 久久66热人妻偷产精品9 | 国产日韩综合一区在线观看 | 久久免费影视 | 亚洲国产日韩在线视频 | 亚洲Av永久无码精品无码流畅 | 12孩岁女A处破娇小 亚洲AV无码片在线观看 | 国产精品V无码A片在线看 | 亚洲AV片不卡无码久久嫩模 | 一二三四在线视频观看社区 | 经典国产乱子伦精品视频 | 久久久精品人妻一区二区三区 | 欧k影视内射精品视频 | 国产麻豆91精品三级站 | 中文字幕av一区 | 日本无码V视频一区二区 | 欧美疯狂性xxxxxbbbbb | 免费一级片在线播放 | 综合成人亚洲偷自拍色 | 98在线视频噜噜噜国产 | 老头玩小嫩奶陈晴晴老刘 | 色妞av| 狠狠爱俺也去去就色 | 中文字幕欧美一区二区 | 亚洲国产日韩在线视频 | 中文字幕人妻系列人妻有码 | 久久久久亚洲AV成人片乱码 | 欧美精品久久96人妻无码 | 老司机免费福利在线观看 | 亚洲精品一区二区三区在线 | 欧美一区三区三区高中清蜜桃 | 欧美末成年video水多 | 国产国语熟妇视频在线观看 | 熟妇的奶头又大又粗视频 | m麻豆传媒映画 |