SQLITE3 學習筆記

2021-09-01 01:40:41 字數 2456 閱讀 3637

今天要學習sqlite3的類,codeproject上的這個作者寫的c++類操作sqlie3,很實用的說。膜拜一下。omg

新增標頭檔案 #include "cppsqlite3.h" 這個檔案中,已經包含了#include "sqlite3.h"標頭檔案。

定義資料庫

cppsqlite3 db ;

獲取資料庫資訊

db.getversion();//資料庫版本資訊

sqliteheaderversion()

strmessage.format("sqliteheaderversion:%s sqlitelibraryversion:%s sqlitelibraryversionnumber:%d sqliteversion:%s", db.sqliteheaderversion(),db.sqlitelibraryversion(),db.sqlitelibraryversionnumber(),db.sqliteversion());輸出結果:sqliteheaderversion:3.6.21 sqlitelibraryversion:3.6.22 sqlitelibraryversionnumber:3006022 sqliteversion:3.6.21 

執行sql語言

db.execdml("create table");

插入sql記錄

int rows = db.execdml("insert into table ");

返回值為插入的記錄條數;

int id = db.lastrowid();

獲取最後一次的插入記錄id,適用於自動增長的主鍵。

刪除sql記錄

int irows = db.execdml("delete * from table ");

返回值是刪除的記錄條數;

更新sql記錄

int rows = db.execdml("update table set rowid = 1");

返回值是更新的記錄條數

使用事務控制

db.execdml("begin transaction;");

db.execdml("insert into table .......");

db.execdml("commit transaction;");

返回計算值

int icount = db.execscalar("select count(*) from table;");

查詢結果集

cppsqlite3query q = db.execquery("select * from table "); //查詢

取結果集的字段資訊

int ifiles = q.numfields() ;//總字段數

q.fieldname(1);//欄位名稱

q.fieldtype(1);//字段型別

遍歷結果集中的記錄

while( !q.eof())

格式化查詢

可以格式條件以及插入null值

cppsqlite3buff buffsql;

buffsql.format("insert into table(id,value) values(%q,%q)",null,"what's is it ?");

db.execdml(buffsql);

按表查詢

cppsqlite3table t = db.gettable("select * from table ");

取表字段資訊:

t.numfields();//總字段數

t.fieldname(0);//欄位名稱

t.fieldtype(0);//字段型別

遍歷**結果

for(int row = 0 ;i

Sqlite3學習筆記

1 觸發器 trigger 說明 a sqlite3觸發器只支援for each row,不支援for each statment,即只能對行的增刪改進行監聽,不能對單條sql語句進行監聽 b sqlite3觸發器觸發的執行結果只能執行dml操作,無法執行ddl操作 語法格式 create trig...

sqlite3學習筆記

配置的環境 python version 3.6 django version 1.11.5 1.建立sqlite3資料庫 執行python3 manage.py syncdb提示unknown command syncdb python3 manage.py syncdb unknown comm...

使用sqlite3 模組操作sqlite3資料庫

python內建了sqlite3模組,可以操作流行的嵌入式資料庫sqlite3。如果看了我前面的使用 pymysql 操作mysql資料庫這篇文章就更簡單了。因為它們都遵循pep 249,所以操作方法幾乎相同。廢話就不多說了,直接看 吧。都差不多,首先匯入模組,然後建立連線,然後獲取游標物件,之後利...