sqlite3數據庫的使用

sqlite3相關知識

1.下載sqlite

下載地址:Sqlite3下載地址html

2.編譯sqlite3

在Linux下可用gcc編譯sqlite3,命令以下:sql

gcc -o sqlite3 shell.c sqlite3.c -lpthread -ldlshell

3.測試

創建如圖所示的數據庫,該庫中有student和person的數據表。 在這裏插入圖片描述 .dump ?TABLE? ...    Render all database content as SQL --查看錶結構 .quit                            Exit this program --退出 .show                         Show the current values for various settings --顯示 .tables ?TABLE?         List names of tables matching LIKE pattern TABLE --顯示全部的表數據庫

4.SQL語句

1.建立表格語句 create table name(字段1 類型1 , 字段2 類型2 ...); 字段1 ----數據表中的列名 (id, name, address) 類型1 -----每一列的數據類型(int, char, varchar, text, date...) name char(32) -- 無論用不用都是32字節 name varchar(32) -- 用多少佔用多少最大不能超過32編程

2.插入數據語句 insert into 表名 value(數據1, 數據2, 數據3) ; 若是(數據)是 字符串char/varchar或文本text 數據用引號好比 數據2爲’jack’函數

3.查詢表格數據 select (字段名--多個用逗號隔開,若是是全部就用*) from 表名; sqlite> select * from person; 0|Rose|gz sqlite> select * from student; 0|Jack|23|01 sqlite>測試

只查詢名字 sqlite> select name from person; Rose 查名字和年齡 sqlite> select name, age from student; Jack|23 sqlite>ui

4.條件查詢select (字段名--多個用逗號隔開,若是是全部就用*) from 表名 where 條件 條件: name==’jack’ ; 查詢出用戶名爲jack的數據 name like ja%; age > 10; 年齡大於10 age<10 or age >60; age>10 and age <60this

sqlite> select * from student where name=='Jack'; 0|Jack|23|01 sqlite> select * from student age>23; Error: near ">": syntax error sqlite> select * from student where age>23; 1|Rose|30|01lua

5.sqlite> select * from student; 0|Jack|23|01 1|Rose|30|01 sqlite> update student set age=20 where id=1; sqlite> select * from student; 0|Jack|23|01 1|Rose|20|01 sqlite>

6.刪除數據 delete from 表名; ---刪除整個表的數據 刪除數據 delete from 表名 where 條件;
sqlite> delete from person; sqlite> .tables person student sqlite> select * from person;

sqlite> select * from student; 0|Jack|23|01 1|Rose|20|01 sqlite> delete from student where age=23; sqlite> select * from student; 1|Rose|20|01

使用sqlite3接口編程

在這裏插入圖片描述 sqlite3---數據庫句柄(結構體)

操做流程: 1.打開數據庫 sqlite3_open int sqlite3_open( const char filename, / Database filename (UTF-8) */ sqlite3 *ppDb / OUT: SQLite db handle */ ); 參數:const char *filename --打開數據庫文件名稱好比demo.db sqlite3 **ppDb --存儲打開數據庫後的句柄 返回值: 成功返回SQLIET_OK

2.執行sql語句 sqlite3_exec int sqlite3_exec( sqlite3*, /* An open database / 句柄 const char sql, / SQL to be evaluated / 執行sql語句 int (callback)(void,int,char,char**), 查詢回調函數 void , / 1st argument to callback / 傳給回調函數第一個參數 char errmsg / Error msg written here / ); 存儲錯誤 返回值: 成功返回SQLIET_OK int (callback)(void,int,char,char*), 查詢回調函數 void * ---sqlite3_exec傳入 int ---數據列數 char**---數據內容 char**---數據名稱 int callback(void*arg, int col ,char** value, char** name) {

}

3.關閉數據庫sqlite3_close int sqlite3_close(sqlite3*); 返回值: 成功返回SQLIET_OK

相關文章
相關標籤/搜索