1. SQLite相关命令

.tables:查看数据库中的表

.headers on/off:开启或关闭表头显示

.mode column:设置输出模式为列对齐

.width 列宽1 列宽2:这个命令实际上是.width 列名1 列宽1 列名2 列宽2,用于设置特定列的宽度

.schema 表名:查看表的结构

2. SQLite的SQL语句

基本数据类型

INTEGER:整形

REAL:浮点型

TEXT:文本类型,字符串

NULL:空

SQL 操作

创建表:CREATE TABLE 表名 (列名1 数据类型, 列名2 数据类型, ...);

插入数据:INSERT INTO 表名 VALUES (值1, 值2, ...); 或 INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);

查询:

SELECT 列名1, 列名2 FROM 表名;

SELECT * FROM 表名;

条件查找:SELECT * FROM 表名 WHERE 列名 关系运算符 值;

模糊匹配:SELECT * FROM 表名 WHERE 列名 LIKE '内容%';

排序:

升序:SELECT * FROM 表名 ORDER BY 列名 ASC;

降序:SELECT * FROM 表名 ORDER BY 列名 DESC;

删除数据(注意这里是删除数据行,不是列):DELETE FROM 表名 WHERE 列名 关系运算符 值;

删除表:DROP TABLE 表名;

修改数据:UPDATE 表名 SET 列名 = 新值 WHERE 列名 = 条件值;

设置主键值自动增长:确保主键列是INTEGER PRIMARY KEY AUTOINCREMENT

多表联查:使用INNER JOIN、LEFT OUTER JOIN等

3. SQLite3提供的C/C++ API接口

sqlite3_open:打开(或创建)数据库

const char *filename,   /* Database filename (UTF-8) */

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

);

 

功能:打开数据库,如果不存在,则创建

   参数:

              filename : 数据库名称

              ppDb   :保存数据库句柄的地址  

   返回值:

              成功:SQLITE_OK

              失败:错误码  

sqlite3_exec:执行SQL语句

int sqlite3_exec(

 sqlite3*pdb,                                  /* 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语句

参数:

         pdb : 数据库句柄

        sql : 要执行的sql语句的首地址

       callback : 当执行select语句时,使用到

       arg:当执行select语句时,使用到,传递给回调函数的第一个参数

      errmsg :存储错误信息的地址                            

返回值:

             成功:SQLITE_OK

              失败:错误码  

callback函数

int (*callback)(void*,int column_cnt,char**column_value,char**column_name),


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

功能:在使用sqlite3_exec执行select语句时, 每查找到一条数据,则调用一次回调

参数:

        arg : sqlite3_exec传递的第4个参数

        column_cnt: 查找到的数据的列数

        column_value:  查找到的一行数据的每一列值的地址的集合

        column_name:查找到的一行数据的每一列列名的地址的集合

返回值:

         0


注意:1.每找到一行,回调被触发一次

          2. 回调函数必须返回0;

————————————————


                           版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

                       

原文链接:https://blog.csdn.net/niikkoo/article/details/141687129