sqlite3

发布于:2025-03-18 ⋅ 阅读:(18) ⋅ 点赞:(0)

sliqte3数据库:slqite3 xxx.db

sqlite3相关的命令:

.tables              查看数据库中的表
.headers on/off  打开或者关闭表头
.mode column   列按照左对齐
.schema 表名   查看表被创建时的语句

sqlite3的SQL语句:

      数据类型:
               NULL    值是一个 NULL 值。
               INTEGER:整形
               REAL : 浮点型
               TEXT: 文本类型
      1. 创建表:
          create table 表名(列名 数据类型, 列名 数据类型, ...);
      
      2. 插入数据
          insert into 表名 values(值1, 值2, ....);
      
      3.  查询表的内容:
            select * from 表名;
            select 列名1,列名2,...  from 表名;

            条件查找:
             slelect * from 表名 where 列 关系运算符 值;
             >
             >=
             <
             <=
             =
             !=   
             
             and         (&&)
             or           (||)
             
             模糊查找:
             select * from 表名 where 列名 like  xx%;
             % : 可以匹配一个或者多个字符。
             _ :   只能匹配一个字符
             
             按升序查询:
             select * from  表名 order by 列名 ASC;
             按照降序查询
             select * from  表名 order by 列名 DESC;
             
       4. 删除数据
            delete from 表名 where 条件;
       
       5. 修改数据
           update 表名 set 列名1=新值1,列名2=新值2  where 条件;
 
       6. 删除表
            drop table  表名;

       7. 时间函数
           datetime("now", "+8 hours");

       8. 自动增长列
           主键值自动增长
            INTEGER
             
            id INTEGER PRIMARY KEY AUTOINCREMENT,
           

sqlite3数据库可视化工具:
          sudo apt-get install sqlitebrowser
          
          sqlitebrowser stu.db

sqlite3提供的C API接口:

int sqlite3_open(
  const char *filename,   /* Database filename (UTF-8) */
  sqlite3 **ppDb          /* OUT: SQLite db handle */
);

功能:创建并打开数据库
参数:
     filename:数据库名称 
     ppDb : 数据库操作句柄
返回值:
           成功:SQLITE_OK
  
const char *sqlite3_errmsg(sqlite3*);
功能:获取数据库执行过程中的错误信息


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语句  
         当执行的sql语句是select时,用到回调函数
         callback :select查询时,每查到一条数据,该回调会被调用一次
         arg:被回调函数第一个参数接收
         errmsg   :保存错误信息                           

返回值:
 成功:SQLITE_OK

       
int (*callback)(void*arg,int n ,char**column_value,char**column_name):
功能:select查询时,每查到一条数据,该回调会被调用一次(select从数据库查找的数据都当字符串处理)
参数:
    arg:接收sqlite3_exec的第四个参数
    n:查询到的数据的列数
    column_value:保存查找到的一行数据各列的指针(指针数组)
    column_name:保存查找到的一行数据各列的列名的指针(指针数组)
    
注意:
         1. 回调函数一定要有返回值
         2. 每找到一条数据,回调会被触发一次