当前位置: 首页 > news >正文

Linux:SQLite 数据库

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 JOINLEFT 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;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • #QT 笔记一
  • Linux实操笔记1 向服务器出发:连接和登录
  • 大模型LLM的Token相关问题:模型不同,token计算不同,gpt对token的计算,我们如何选择token及token评估模型
  • APP自动化测试思路整理,跟着步骤快速撸码...
  • 建筑企业数字信息化转型的建议
  • 第八周:机器学习
  • ArcGIS中怎么批量计算多个点到线最近距离,以及这些点到线的纬度差?
  • 大模型企业应用落地系列六》基于大模型的对话式推荐系统》推荐引擎层
  • 最大子段和
  • 高频面试题:SpringMVC的执行流程
  • 金9银10跳槽季,最新自动化测试面试题合集
  • MySQL死锁问题解决方案
  • 一本读懂数据库发展史的书
  • 如何在大三大四阶段,获得GIS开发能力和实习经验?
  • UI设计评审
  • 0x05 Python数据分析,Anaconda八斩刀
  • Android交互
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • Electron入门介绍
  • gulp 教程
  • mysql常用命令汇总
  • Sass Day-01
  • Sublime text 3 3103 注册码
  • 什么软件可以剪辑音乐?
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 思否第一天
  • 小李飞刀:SQL题目刷起来!
  • 阿里云重庆大学大数据训练营落地分享
  • 交换综合实验一
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (C语言)二分查找 超详细
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二)windows配置JDK环境
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (力扣)循环队列的实现与详解(C语言)
  • (六)vue-router+UI组件库
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (三)mysql_MYSQL(三)
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (十七)Flink 容错机制
  • (一)Linux+Windows下安装ffmpeg
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)大型网站的系统架构
  • ***利用Ms05002溢出找“肉鸡
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .net 简单实现MD5
  • .net 流——流的类型体系简单介绍
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET企业级应用架构设计系列之应用服务器