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

sqlite3---维护命令、回调函数

一、维护命令

1.数据的导出

1.1用法

sqlite3 xxx.db .dump > xxx.sql
//将数据库名称为xxx的数据库整体导出到脚本中。

1.2代码示例

2.数据的导入

2.1用法

sqlite3 xxx.db < xxx.sql

2.2代码示例

3.可视化工具安装

sudo apt-get install sqlitebrowser 

二、回调函数

1.输出一次标题输出一次内容

#include <sqlite3.h>
#include <stdio.h>//此时为输出一次标题输出一次内容
int show(void *arg, int clo, char **result, char **title)
{for (int i = 0; i < clo; i++){printf("%s\t", title[i]);}printf("\n");
for (int i = 0; i < clo; i++){printf("%s\t", result[i]);}printf("\n");return 0;
}int main(int argc, char **argv)
{// int sqlite3_open( const char *filename, sqlite3 **ppDb);sqlite3 *db = NULL;char *errmsg;int ret = sqlite3_open("./aaa.db", &db);if (SQLITE_OK != ret){//不能使用perrorfprintf(stderr, "open db error:%s\n", sqlite3_errstr(ret));// 或者使用fprintf(stderr,"open db error:%s\n",sqlite3_errmsg(db));sqlite3_close(db);return 1;}char sql_cmd[512] = "select * from user1";//此处show为回调函数ret = sqlite3_exec(db, sql_cmd, show, NULL, &errmsg);if (SQLITE_OK != ret){//不能使用perrorfprintf(stderr, "exec db:%s error:%s\n", sql_cmd, errmsg);sqlite3_free(errmsg);sqlite3_close(db);return 1;}sqlite3_close(db);// system("pause");return 0;
}

2.只输出一次标题

#include <sqlite3.h>
#include <stdio.h>//只输出一次标题
int show(void *arg, int clo, char **result, char **title)
{static int flag = 0;if (0 == flag){flag = 1;for (int i = 0; i < clo; i++){printf("%s\t", title[i]);}printf("\n");}for (int i = 0; i < clo; i++){printf("%s\t", result[i]);}printf("\n");return 0;
}int main(int argc, char **argv)
{// int sqlite3_open( const char *filename, sqlite3 **ppDb);sqlite3 *db = NULL;char *errmsg;int ret = sqlite3_open("./aaa.db", &db);if (SQLITE_OK != ret){//不能使用perrorfprintf(stderr, "open db error:%s\n", sqlite3_errstr(ret));// 或者使用fprintf(stderr,"open db error:%s\n",sqlite3_errmsg(db));sqlite3_close(db);return 1;}char sql_cmd[512] = "select * from user1";//此处show为回调函数ret = sqlite3_exec(db, sql_cmd, show, NULL, &errmsg);if (SQLITE_OK != ret){//不能使用perrorfprintf(stderr, "exec db:%s error:%s\n", sql_cmd, errmsg);sqlite3_free(errmsg);sqlite3_close(db);return 1;}sqlite3_close(db);// system("pause");return 0;
}

http://www.dtcms.com/a/305168.html

相关文章:

  • 用命令查看Android设备的 Linux 内核版本,了解其对应的硬件支持各种特性
  • gRPC性能陷阱:低延迟网络下的客户端瓶颈揭秘
  • k8s搭建nfs共享存储
  • 前端代码打包与压缩完全指南
  • div 封装日历
  • 使用echarts绘制立体柱状图
  • Export useForm doesn‘t exist in target module
  • 深度解读|美创科技参编国家标准《数字水印技术实现指南》
  • docker的安装和配置流程
  • Python在人工智能与科学计算领域的统治地位:语言、生态与未来
  • 云原生MySQL Operator开发实战(四):测试策略与生产部署
  • Qt 移动应用推送通知实现
  • 多线程--关于锁的一些知识考点
  • 系统优化与性能调教
  • C++基础语法与面向对象特性
  • Blender入门笔记——建模篇(二)
  • 电商平台商品模块数据库设计
  • WEPollSelectorImpl
  • AI工作流赋能,业务的超级加速器
  • mybatis-plus代码生成器
  • 主数据管理系统能代替数据中台吗?
  • ESP32学习-1.第一个程序helloworld
  • OTA | xmodem ymodem文件传输协议收发的C语言实现
  • FlowLong工作流
  • OI 杂讲
  • ASDIP Concrete(混凝土结构设计软件) v6.0.0.2 免费版
  • 光环云 × 零一万物在上海WAIC联合发布“法律智算综合云服务”,以专业Agent助力法律普惠发展
  • debug redis里面的lua脚本
  • JSON在java中的使用
  • c++之链表