一、内存数据库:

在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。最常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递":memory:",如:
    rc = sqlite3_open(":memory:", &db);
    在调用完以上函数后,不会有任何磁盘文件被生成,取而代之的是,一个新的数据库在纯内存中被成功创建了。由于没有持久化,该数据库在当前数据库连接被关闭后就会立刻消失。需要注意的是,尽管多个数据库连接都可以通过上面的方法创建内存数据库,然而它们却是不同的数据库,相互之间没有任何关系。事实上,我们也可以通过Attach命令将内存数据库像其他普通数据库一样,附加到当前的连接中,如:
     ATTACH DATABASE ':memory:' AS aux1;
   
二、临时数据库:

在调用sqlite3_open()函数或执行ATTACH命令时,如果数据库文件参数传的是空字符串,那么一个新的临时文件将被创建作为临时数据库的底层文件,如:
     rc = sqlite3_open("", &db);
    或
    ATTACH DATABASE '' AS aux2;
    和内存数据库非常相似,两个数据库连接创建的临时数据库也是各自独立的,在连接关闭后,临时数据库将自动消失,其底层文件也将被自动删除。
    尽管磁盘文件被创建用于存储临时数据库中的数据信息,但是实际上临时数据库也会和内存数据库一样通常驻留在内存中,唯一不同的是,当临时数据库中数据量过大时,SQLite为了保证有更多的内存可用于其它操作,因此会将临时数据库中的部分数据写到磁盘文件中,而内存数据库则始终会将数据存放在内存中。

SQLite学习手册(内存数据库)相关推荐

  1. SQLite学习手册(目录)

    在实际的应用中,SQLite作为目前最为流行的开源嵌入式关系型数据库,在系统的架构设计中正在扮演着越来越为重要的角色.和很多其它嵌入式NoSQL数据库不同的是,SQLite支持很多关系型数据库的基本特 ...

  2. 学习Stephen Liu的《SQLite学习手册(数据表和视图)》(一)

    好好学习,day day up.不能再玩了,学习要紧 以下内容主要基于对于Stephen Liu的博文SQLite学习手册(数据表和视图)的学习. 零.准备工作 先把sqlite3.exe的路径添加到 ...

  3. SQLite学习手册(命令行工具)

    工欲善其事,必先利其器.学好SQLite的命令行工具,对于我们学习SQLite本身而言是非常非常有帮助的.最基本的一条就是,它让我们学习SQLite的过程更加轻松愉快.言归正传吧,在SQLite的官方 ...

  4. SQLite学习手册(数据库和事务)

    一.Attach数据库: ATTACH DATABASE语句添加另外一个数据库文件到当前的连接中,如果文件名为":memory:",我们可以将其视为内存数据库,内存数据库无法持久化 ...

  5. SQLite学习手册(实例代码二)

    三.高效的批量数据插入: 在给出操作步骤之前先简单说明一下批量插入的概念,以帮助大家阅读其后的示例代码.事实上,批量插入并不是什么新的概念,在其它关系型数据库的C接口API中都提供了一定的支持,只是接 ...

  6. SQLite学习手册(实例代码一)

    一.获取表的Schema信息: 1). 动态创建表.     2). 根据sqlite3提供的API,获取表字段的信息,如字段数量以及每个字段的类型.     3). 删除该表.     见以下代码及 ...

  7. SQLite学习手册(锁和并发控制)

    一.概述: 在SQLite中,锁和并发控制机制都是由pager_module模块负责处理的,如ACID(Atomic, Consistent, Isolated, and Durable).在含有数据 ...

  8. SQLite学习手册(临时文件)

    一.简介: 尽管SQLite的数据库是由单一文件构成,然而事实上在SQLite运行时却存在着一些隐含的临时文件,这些临时文件是出于不同的目的而存在的,对于开发者而言,它们是透明的,因此在开发的过程中我 ...

  9. SQLite学习手册(在线备份)

    一.常用备份: 下面的方法是比较简单且常用的SQLite数据库备份方式,见如下步骤:     1). 使用SQLite API或Shell工具在源数据库文件上加共享锁.     2). 使用Shell ...

最新文章

  1. 中国储能电池行业经济效益评价与投资战略规划展望报告2022-2028年版
  2. python下载文件的11种方式_Python 中常见的几种下载文件方法
  3. android studio设置JDK路径
  4. batocera游戏整合包_星露谷物语绅士mod整合包
  5. Android中fragment之间和Activity的传值、切换
  6. 初学者必看的文章:在VM12中安装 RedHat RHEL7.2  系统的详细步骤:看我如何操纵RHEL系统...
  7. 160 - 34 Cruehead.3
  8. 单片机涡轮流量传感器_关于涡轮流量计传感器的维护保养
  9. Win CE下编译选项介绍
  10. java json 返回null,[] Spring4 MVC 返回json格式时候 设置不返回null值属性的有关问题...
  11. 游戏外挂是怎么炼成的
  12. pytorch搭建TextCNN与使用案例
  13. smartphone 创建快捷方式 shorcut(1)
  14. vdcode C语言不能弹出运行窗口_C语言编程常见问题分析,以及错误解决办法!
  15. securecrt delete键向后删除
  16. vs2005启动不了,手把手教你修复它
  17. 管理会计学复习题集 答案
  18. PyCharm小技巧分享—主菜单消失再显示
  19. 微信开发工具出现 [渲染层网络层错误]
  20. 简普科技Q3财报解读:业绩超过预期之后的更多确定性

热门文章

  1. java spring框架 注解_详解Java的Spring框架中的注解的用法
  2. Spring Security构建Rest服务-0100-前言
  3. PuTTY 设置Serial(ubuntu)
  4. 【JavaNIO的深入研究4】内存映射文件I/O,大文件读写操作,Java nio之MappedByteBuffer,高效文件/内存映射...
  5. 《算法导论》学习总结 — 2.第一章 第二章 第三章
  6. BZOJ.2707.[SDOI2012]走迷宫(期望 Tarjan 高斯消元)
  7. Mysql初始化root密码和允许远程访问
  8. 自学ng2 -生命周期钩子
  9. Shiro学习(15)单点登录
  10. 【转载】MySQL Show命令总结