数据库

SQLite教程(十二):锁和并发控制详解

一、概述: 在SQLite中,锁和并发控制机制都是由pager_module模块负责处理的,如ACID(Atomic, Consistent, Isolated, and Durable)。在含有数据修改的事务中,该模块将确保或者所有的数据

SQLite教程(十三):C语言编程实例代码(1)

一、获取表的Schema信息: 1). 动态创建表。 2). 根据sqlite3提供的API,获取表字段的信息,如字段数量以及每个字段的类型。 3). 删除该表。 见以下代码及关键性注释:复制代码 代码如下:#include <sqlite

SQLite教程(十):内存数据库和临时数据库

一、内存数据库: 在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。最常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递":memory:",如:复制代码 代码

SQLite教程(十一):临时文件

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

SQLite教程(八):命令行工具介绍

工欲善其事,必先利其器。学好SQLite的命令行工具,对于我们学习SQLite本身而言是非常非常有帮助的。最基本的一条就是,它让我们学习SQLite的过程更加轻松愉快。言归正传吧,在SQLite的官方下载网站,提供了支持多个平台的命令行工具

SQLite教程(九):在线备份

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

SQLite教程(五):数据库和事务

一、Attach数据库: ATTACH DATABASE语句添加另外一个数据库文件到当前的连接中,如果文件名为":memory:",我们可以将其视为内存数据库,内存数据库无法持久化到磁盘文件上。如果操作Attached数据库中的表,则需要在

SQLite教程(六):表达式详解

一、常用表达式: 和大多数关系型数据库一样,SQLite能够很好的支持SQL标准中提供的表达式,其函数也与SQL标准保持一致,如:复制代码 代码如下: || * / % + - << >> & | < <= > >= = == != <>

SQLite教程(二):C/C++接口简介

一、概述: 在SQLite提供的C/C++接口中,其中5个APIs属于核心接口。在这篇博客中我们将主要介绍它们的用法,以及它们所涉及到的核心SQLite对象,如database_connection和prepared_statement。相

SQLite教程(三):数据表和视图简介

一、创建数据表: 该命令的语法规则和使用方式与大多数关系型数据库基本相同,因此我们还是以示例的方式来演示SQLite中创建表的各种规则。但是对于一些SQLite特有的规则,我们会给予额外的说明。注:以下所有示例均是在sqlite自带命令行工

SQLite教程(四):内置函数

一、聚合函数: SQLite中支持的聚合函数在很多其他的关系型数据库中也同样支持,因此我们这里将只是给出每个聚集函数的简要说明,而不在给出更多的示例了。这里还需要进一步说明的是,对于所有聚合函数而言,distinct关键字可以作为函数参数字

SQLite教程(五):索引和数据分析/清理

一、创建索引: 在SQLite中,创建索引的SQL语法和其他大多数关系型数据库基本相同,因为这里也仅仅是给出示例用法:复制代码 代码如下: sqlite> CREATE TABLE testtable (first_col integer,

SQLite中的WAL机制详细介绍

一、什么是WAL?WAL的全称是Write Ahead Logging,它是很多数据库中用于实现原子事务的一种机制,SQLite在3.7.0版本引入了该特性。二、WAL如何工作?在引入WAL机制之前,SQLite使用rollback jou

SQLite中重置自动编号列的方法

目前流行的数据库都提供了自动编号类型,SQLite也不例外。当数据库中包含自动编号的字段时,SQLite会自动建立一个名为 sqlite_sequence 的表。这个表包含两个字段:name 和 seq 。name字段记录了自动编号字段所在

SQLite字符串比较时的大小写问题解决方法

大部分数据库在进行字符串比较的时候,对大小写是不敏感的。但是,最近使用SQLite的时候,却发现它的情况恰好相反。假设表User的结构和值如下: UserName 1

Sqlite数据库里插入数据的条数上限是500

今天在向Sqlite数据库里插入数据的时候,报了这样一个错:复制代码 代码如下:"too many terms in compound SELECT"去Stackoverflow上查了一下,发现有人回答这个问题:链接原来一次性向数据库里插入

SQLite教程(一):SQLite数据库介绍

一、简介: SQLite是目前最流行的开源嵌入式数据库,和很多其他嵌入式存储引擎相比(NoSQL),如BerkeleyDB、MemBASE等,SQLite可以很好的支持关系型数据库所具备的一些基本特征,如标准SQL语法、事务、数据表和索引等

SQLITE3 使用总结

前序:这里要注明,我是一个跨平台专注者,并不喜欢只用 windows 平台。我以前的工作就是为 unix 平台写代码。下面我所写的东西,虽然没有验证,但是我已尽量不使用任何 windows 的东西,只使用标准 C 或标准C++。但是,我没有

ubuntu下使用SQLite3的基本命令

系统平台:ubuntu10.04简介sqlite3一款主要用于嵌入式的轻量级数据库,本文旨在为熟悉sqlite3基本命令提供技术文档。 备注:本文所有操作均在root用户下进行。1、安装sqlite3ubuntu下安装sqlite3直接在终

初识SQLITE3数据库

数据库DataBase,我们都没有接触过数据库,那么数据库是什么? 它是一个有结构的、集成的、可共享的统一管理的数据集合!所谓有结构的,指的是数据是按一定的模型组织起来的。 简单的说,拿个箱子,用隔板把它隔开,如此箱子被分为许多格子,因而我