0 DB SQLite的增刪改查

2021-05-24 15:25:38 字數 1450 閱讀 5778

sqlite3 *db; 

sqlite3_stmt * stmt;

const char *ztail;

建立table

sqlite3_prepare(db, "create....", -1, &stmt, &ztail); 

sqlite3_step();

sqlite3_finalize(stmt);

插入資料: 注意繫結時候的索引從0開始; 最好加入事務處理

sqlite3_transaction trans(db); 

sqlite3_prepare(db, "insert into players (name,num) values(?,?);", -1, &stmt, &ztail);

sqlite3_bind_text(stmt, 1, str, -1, sqlite_static);

sqlite3_bind_int(stmt, 2, n);

sqlite3_step(stmt);

sqlite3_reset(stmt); // 重置後可繼續插入第二行記錄

sqlite3_bind_text(stmt,1,str2,-1,sqlite_static);

sqlite3_bind_int(stmt,2,n2);

sqltie3_step(stmt);

sqlite3_finalize(stmt);

trans.commit();

查詢所有資料:列的下標是從0開始

sqlite3_prepare(db,"select id, name, num from players order by num;", -1,&stmt,&ztail); 

sqlite3_step(stmt);

while( r == sqlite_row )

sqlite3_finalize(stmt);

說明

1. 呼叫sqlite3_prepare()將sql語句編譯為sqlite內部乙個結構體(sqlite3_stmt).該結構體中包含了將要執行的的sql語句的資訊.

2. 如果需要傳入引數,在sql語句中用'?'作為佔位符, 再呼叫bind_傳入引數

sqlite3_bind_***()函式將對應的引數傳入

sqlite3_reset()來清楚已經繫結的引數

3.呼叫sqlite3_step()這時候sql語句才真正執行;注意它只返回一行資料!!

4.呼叫sqlite3_finalize()來釋放stmt占用的記憶體,該記憶體是在sqlite3_prepare()時分配的.

mysql增刪改查效果 mysql增刪改查

檢視所有資料庫 mysql show databases 建立乙個庫ghd並指定字符集為utp8 mysql create database ghd charset utf8 檢視mysql支援的字符集 mysql show char set 建立乙個表,並設定id為主鍵 create table ...

mysql增刪改查擴充套件 MySQL增刪改查

1 插入 insert 1 insert into 表名 values 值1 值2 例子 insert into t1 values zengsf 23 fengshao 22 2 insert into 表名 欄位1,values 值1 例子 insert into t1 name values ...

增刪改查 JS陣列增刪改查這點事兒

1 length屬性 length屬性是陣列最重要的屬性,沒有之一,length屬性告訴我們這個陣列內有多少個資料元素,當length 0時說明陣列時乙個空陣列。我們想要遍歷陣列時可以直接將遍歷的終點設為 length 1。這是本文的重點,我們從增刪改查方面入手,梳理方法的作用和用法,有利於記憶和使...