1 下载源代码

采用C语言操作SQLite数据库时需要引入sqlite3库,我们可以在官网下载源代码后编译。

2 C代码-不用回调函数执行SQL语句

#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>int main(void){sqlite3 *db; //数据库sqlite3_open("test.db", &db); //打开数据库char **pazResult, *pzErrmsg;int pnRow, pnColumn;if (sqlite3_get_table(db, "select * from test;", &pazResult, &pnRow, &pnColumn,             &pzErrmsg) != 0){printf(stderr, "error: %s\n", pzErrmsg);sqlite3_free(pzErrmsg);}else{int i;for (i=0; i<pnRow * pnColumn; i += pnColumn){printf("%s\t%s\n", pazResult[i], pazResult[i+1]);}}sqlite3_close(db); //关闭数据库return EXIT_SUCCESS;
}

3 C代码-使用回调函数执行SQL语句

#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>//每找到一条记录自动执行一次回调函数
int callback(void *para, int f_num, char **f_value, char **f_name){int i;for (i=0; i<f_num; ++i){printf("%s\t", f_value[i]);}return 0;
}int main(void){sqlite3 *db; //数据库sqlite3_open("test.db", &db); //打开数据库char *error;sqlite3_exec(db, "select * from test", callback, NULL, &error);sqlite3_close(db); //关闭数据库return EXIT_SUCCESS;
}

4 C代码-创建表

#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>int main(int argc, char *argv[]){sqlite3 *db; //数据库char *errormsg;char **result;int row, column;int ret;ret = sqlite3_open("NBA.db", &db); //打开数据库if (ret != SQLITE_OK){printf("open failed!\n");return -1;}ret = sqlite3_exec(db, "CREATE TABLE Lakers(Name TEXT NOT NULL UNIQUE, \Height REAL NOT NULL, PointsPerGames REAL NOT NULL);",\NULL, NULL, &errormsg);if (ret != SQLITE_OK){printf("%s\n", errormsg);sqlite3_free(errormsg);}ret = sqlite3_exec(db, "INSERT INTO Lakers (Name, Height, PointsPerGames)\VALUES('James', 2.03, 27.8);", NULL, NULL, &errormsg);if (ret != SQLITE_OK){printf("%s\n", errormsg);sqlite3_free(errormsg);}ret = sqlite3_get_table(db, "SELECT * FROM Lakers;", &result, &row, &column,             &errormsg); if (ret != SQLITE_OK){printf("%s\n", errormsg);sqlite3_free(errormsg);}else{printf("row:%d, column:%d", row, column);int i = 0;for (i=0; i<(row+1)*column; i++){printf("%s ", result[i]);if ((i+1)%column == 0)printf("\n");}}sqlite3_close(db); //关闭数据库return 0;
}

5 编译

gcc filename.c -o filename -lsqlite3

C语言操作SQLite相关推荐

  1. Linux C语言操作SQLite数据库

    1. SQLite数据库特点 (1)SQLite数据库是开源的嵌入式数据库,无需独立的数据库引擎,直接嵌入到应用程序进程中,因此,通过API,应用程序可以直接操作它. (2)事务的处理是原子的,一致的 ...

  2. go sqlite mysql_Go实战--go语言操作sqlite数据库(The way to go)

    生命不止,继续 go go go !!! 继续与大家分享,go语言的实战,今天介绍的是如何操作sqlite数据库. 何为sqlite3? SQLite is a self-contained, hig ...

  3. C语言操作SQLite数据库

    SQLite头文件和源文件下载地址http://www.sqlite.org/download.html 以下是示例代码 #include <stdio.h> #include " ...

  4. Android学习笔记---Android利用Sqlite,并且用sql语言操作SQLite数据库

    6.对数据库进行操作:   一下是对数据库的操作代码,包括添加,删除,更新,查询,和分页,统计 ---------------------------------------------------- ...

  5. PC软件开发技术之三:C#操作SQLite数据库

    我们在开发应用是经常会需要用到一些数据的存储,存储的方式有多种,使用数据库是一种比较受大家欢迎的方式.但是对于一些小型的应用,如一些移动APP,通常的数据库过于庞大,而轻便的SQLite则能解决这一问 ...

  6. C#操作SQLite数据库

    我们在开发应用是经常会需要用到一些数据的存储,存储的方式有多种,使用数据库是一种比较受大家欢迎的方式.但是对于一些小型的应用,如一些移动APP,通常的数据库过于庞大,而轻便的SQLite则能解决这一问 ...

  7. php高性能sqllite,简洁的PHP操作SQLite类

    原标题:简洁的PHP操作SQLite类 如果有文章推荐,或者你们要看什么的技术文章,请在留言处留言,感谢支持 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式 ...

  8. C++操作SQLite简明教程

    这篇文章主要介绍了C++操作SQLite简明教程,包含创建表.插入数据.查询数据等常用操作,需要的朋友可以参考下 SQLite是一款轻型的本地文件数据库,是遵守ACID的关联式数据库管理系统.它的设计 ...

  9. QT操作sqlite概念

    SQLite数据库 '增.删.改.查' 1. 数据库简介  数据库指的是以一定方式存储在一起,能为多个用户共享,具有尽可能小的冗余度的特点,是与应用程序彼此独立的数据集合.  // 一定方式:可以理解 ...

最新文章

  1. C++开源跨平台类库集
  2. Pyserial 实现串口 base on python3
  3. (转载)Nutch2 WebPage 字段解释
  4. 使用Notepad++工具查看文件的十六进制
  5. 【Jmeter】参数Parameters和Body Data
  6. 导出oracle sequences,CSS_oracle导出序列方法分析,方法一:SELECT ' CREATE SEQUEN - phpStudy...
  7. 两个或者多个图片上下之间有空隙
  8. string 转化 xml,并找到指定节点及节点值
  9. 国外html游戏发展历史,17个国外游戏行业的网页设计欣赏
  10. vivo9.0以上系统如何无需Root激活XPOSED框架的流程
  11. Cisco防火墙基础介绍及配置
  12. 微信支付开发(1)--普通商户申请、账户验证、签约、公众号授权流程详解
  13. java设计模式之单例模式详解
  14. Linux for嵌套if的格式,Shell篇(2)-条件语句if及循环语句 for , while , unti
  15. textarea字数实时统计方案
  16. 左手鼠标指针——Windows11Aeroleft
  17. python 入门篇 之 正则表达式re.findall的使用
  18. golang中椭圆曲线密码
  19. 注册Netgear DDNS账号的操作
  20. 刘道成 mysql 课件_燕十八公益讲堂mysql.ppt

热门文章

  1. new与malloc比较与底层实现
  2. 【知识积累】腾讯云CentOS 7服务器安装蚂蚁笔记Leanote
  3. arm64汇编sp fp寄存器叶子函数非叶子函数的栈平衡
  4. 打开邮箱发现很久以前面试的公司竟然给我再次发面试邀请
  5. 转载 web缓存技术
  6. 手工计算机视频教程,diy手工制作_DIY视频教程大全
  7. CentOS7下安装 OTRS 工单管理系统
  8. github 如何下载仓库 repositories 里的部分文件?
  9. grep 跨行搜索(匹配)
  10. php前端工程师岗位职责,【前端软件工程师工作内容|工作职责|前端软件工程师做什么】-看准网...