日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库Sqlite3

發布時間:2023/11/30 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库Sqlite3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???????????????????????????????????????????????????????? sqlite3 數據庫安裝

1. 本地安裝

sudo dpkg -i *.deb

2.在線安裝

sudo apt-get install sqlite3

?

?

????????????????????????????????????????????????????? SQLITE3 基本命令

?

兩種命令

1.以 . 開頭的稱之為系統命令

.help 幫助

.quit 退出

.exit 退出

.databases 查看打開的數據庫(顯示數據庫的名字和路徑)

.table 查看當前數據庫的表格

?

2. 以 , 結尾的 sql命令

創建一張數據庫表 stu :

creat table stu(Id Integer, name char, score Integer );

?

查看表的結構圖:

.schema

?

在數據表中插入數據(完全插入 所有參數必須都有)

insert into +數據表名 values(相應數據)

?

在數據表中插入數據(部分插入 部分參數就行)

insert into +數據表名((參數名一,。。。。。, 參數名N)values(參數值一, 。。。。,參數值N))

?

查看數據表中的內容(查詢全部內容)

select * from +數據表名

?

查詢數據表中的內容 (查詢部分內容)

select name, sroce from +數據表名

?

查詢數據表內容 (查詢特定內容)

select * from +數據表名 where 參數=?;(一個限定條件)

select * from +數據表名 where 參數1=? and 參數2=?;(兩個限定條件必須同時滿足)

select * from +數據表名 where 參數1=? or 參數2=?;(兩個限定條件滿足一個就行)

刪數據表中的內容

delete frm +數據表名 ;(刪除整個數據表)

delete from +數據表名 where 參數=?;(刪除特定內容)

其他和查詢內容都一樣 依然可以使用and 和or

?

設置數據表中的內容

update +數據表名 set 參數1=?where 參數2=?;

update +數據表名 set 參數1=?, 參數2=?where 參數3=? ;

?

刪除數據表

drop table 數據表名

?

給數據表重命名

alter table +原的數據表名 rename to 要改成的數據表名

給數據庫添加一列統計信息

alter table +數據表名 add column 要添加的統計信息 要添加的信息的類型;

?

sqlite不支持刪除一列信息

所以只能間接刪除 步驟如下:

1.創建一張新表

2.刪除原有的表

3.將新表的名字改成原來的表的名字

這樣舊表的內容會自動寫入到新表中

?

?

????????????????????????????????????????????????????????? API()

?

頭文件:#include <stdlib.h>

編譯指令·: gcc 文件名.c -lsqlite3

?

int sqlite3_open(const char *filename, sqlite3 **ppDb);

作用:打開一個數據庫

參數:filename 數據庫路徑

ppDb 代表數據庫的操作句柄(指針)

返回值: 成功返回 SQLITE_OK 失敗返回錯誤碼

?

int sqlite3_close(sqlite3 *db);

作用:關閉數據庫

參數: db操作數據庫的指針

返回值:成功返回SQLITE_OK 失敗返回錯誤碼

?

const char *sqlite3_errmsg(sqlite3 *db)

功能 :通過db句柄 得到數據庫操作的錯誤信息

?

int sqlite3_exec{

sqlite3 *db;

const char *sql;

int (*callback)(void *, int char **, char **);

void *arg;

char **errmsg;

};

功能:執行一條sql語句

參數: db 數據庫操作句柄

sql:一條sql語句(末尾的分號可省略)

callback:回調函數 是一個函數指針類型 傳遞的參數是函數名(只有sql為查詢語句時 才會執行回調函數)

arg:表示給回調函數傳遞的參數

errmsg 錯誤信息

?

返回值 成功SQLITE_OK

?

typedef int (*sqlite3_callback)(void *para, int f_num, char **f_value, char **f_name)

功能:每找到一條記錄自動執行一次回調函數

para:傳遞給回調函數的參數

f_num: 記錄中包含的字段數目

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

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

成功返回0 失敗返回-1

int sqlite3_get_table(sqlite3 *db, const char *sql, char ***resultp, int nrow, int *ncolum, char **errmsg)

?

db:數據庫句柄

resultp: 用來指向sql執行結果的指針

nrow:滿足條件的記錄的數目

ncolumn: 每條記錄包含的字段數

errmsg:錯誤信息指針的地址

返回值: 成功返回0 失敗返回錯誤碼

?

?

代碼示例

?

功能: 建立一個數據庫 對其能進行刪減改查的操作

?

?

總結

以上是生活随笔為你收集整理的数据库Sqlite3的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。