Sqlite嵌入式数据库讲解

在计算机系统中,保存数据的方式一般有两种:
1. 普通文件方式
2. 数据库方式

相比于普通文件方式,使用数据库来管理大批量数据具有更高的效率与安全性。

数据库系统一般由3个部分构成
1. 数据库
2. 数据库管理系统
3. 数据库访问应用

在数据库中,数据都是以表的形式存在。表与表之间,可能存在关联关系

SQL(结构化查询语言),是一种特殊的编程语言,用于访问数据库中的数据。

1. 创建一张表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [notnull],..)

2. 向表中插入数据
insert into table1(field1,field2) values(value1,value2)

3. 从表中查询需要的数据
select * from table1 where field1 like ’%value1%’

4. 删除表中的数据
delete from table1 where 范围

Sqlite数据库访问应用程序

#include <stdio.h>
#include <sqlite3.h> 

static int callback(void *NotUsed, int argc, char **argv, char **azColName)
{
      int i;
     for(i=0; i<argc; i++)
     {
         printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
     }
     printf("\n");
    return 0;

} 

int main(int argc, char **argv)
{
     sqlite3 *db;
     char *zErrMsg = 0;
     int rc; 

     if( argc!=3 )
     {
         fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
     } 

     /*打开数据库*/
     rc = sqlite3_open(argv[1], &db); 

     if( rc )
     {
        fprintf(stderr, "Can‘t open database: %s\n", sqlite3_errmsg(db));
        sqlite3_close(db);
     } 

     /*执行sql语言*/
     rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg); 

     if( rc!=SQLITE_OK )
     {
         fprintf(stderr, "SQL error: %s\n", zErrMsg);
     } 

     /*关闭数据库*/
     sqlite3_close(db);
     return 0;
}
时间: 2024-09-30 19:25:36

Sqlite嵌入式数据库讲解的相关文章

ASP.NET web 程序中使用Sqlite嵌入式数据库(相对路径)

string sqliteFilePath = Server.MapPath("~/App_Data/SQLite数据库名"); //这个文件是预先生成的数据库文件 SQLiteConnection conn = new SQLiteConnection("Data Source=" + sqliteFilePath);//声明一个SQLite数据库的链接 conn.Open();//打开数据库 当然,在这之前要先添加引用 System.Data.SQLite.dl

sqlite嵌入式数据库C语言基本操作(2)

:first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:3px}iframe{border:0}figure{-webkit-margin-before:0;-webkit-margin-after:0;-webkit-margin-start:0;-webkit-margin-end:0}kbd{border:1px solid #aaa;-moz-bord

Sqlite嵌入式数据库的安装、建库、建表、更新表结构以及数据导入导出等等详细过程记录

简介: SQLite 是实现了SQL 92标准的一个大子集的嵌入式数据库.其以在一个库中组合了数据库引擎和接口,能将所有数据存储于单个文件中而著名.我觉得SQLite的功能一定程度上居于MySQL 和PostgreSQL之间.尽管如此,在性能上面,SQLite常常快2-3倍 (甚至更多).这利益于其高度调整了的内部架构,因为它除去了服务器端到客户端和客户端到服务器端的通信. 而令人印象深刻的特点是你可将你的整个数据库系统放在其中.利用非常高效的内存组织,SQLite只需在很小的内存中维护其很小的

SQLite/嵌入式数据库

的项目要么不使用数据库(一两个文配置文件就可以搞定),要么就会有很多的数据,用到 postgresql,操练sqlite的还没有.现在我有个自己的小测试例子,写个数据库对比的小项目例子,我就准备把数据存储在sqlite上,第一 数据不是很大,百位级别:为桌面应用软件,嵌入式的.sqlite 很适合. 安装: 1> os:ubuntu. 由于是使用代理上的网,估计没有配置好,apt-get intall sqlite3自动安装没有成功,就采用了源码安装. 2> package from : ht

[Sqlite]--&gt;嵌入式数据库事务理解以及实例操作

SQLite 事务(Transaction) 事务(Transaction)是一个对数据库执行工作单元.事务(Transaction)是以逻辑顺序完成的工作单位或序列,可以是由用户手动操作完成,也可以是由某种数据库程序自动完成. 事务(Transaction)是指一个或多个更改数据库的扩展.例如,如果您正在创建一个记录或者更新一个记录或者从表中删除一个记录,那么您正在该表上执行事务.重要的是要控制事务以确保数据的完整性和处理数据库错误. 实际上,您可以把许多的 SQLite 查询联合成一组,把所

Unity3D在Android平台使用嵌入式数据库Sqlite,解决无法找到数据库文件的问题

做一个需要嵌入式数据库Sqlite 的unity3d项目,在pc机上运行良好,需要发布到Android平台上,于是,各种坑爹...会遇到找不到数据库文件的问题.当在pc机上使用sqlite时,当执行SqliteConnection dbConnection = new SqliteConnection("data source = test.db");语句时,如果有这个数据库文件则建立连接,如果没有则创建出这个文件,然后建立连接.当在Android平台上时,扯淡的事情就开始了,总之便不

[Sqlite] 移动嵌入式数据库Sqlite的日常SQL操作语句汇总

序言:     嵌入式数据库Sqlite的基本sql使用汇总,使用测试起来,与关系型数据库mysql在语法上有很多的相似之处,先准备测试数据: CREATE TABLE COMPANY(ID INT NOT NULL, NAME VARCHAR(20),AGE INT,ADDRESS VARCHAR(20),SALARY DECIMAL(7,2)); INSERT INTO "COMPANY" VALUES(1,'Paul',32,'California',20000); INSERT

[Sqlite] 移动嵌入式数据库Sqlite日报SQL操作语句汇总

前言:     嵌入式数据库Sqlite基本sql使用摘要.使用测试,与关系数据库mysql在语法上有非常多的类似之处,先准备測试数据: CREATE TABLE COMPANY(ID INT NOT NULL, NAME VARCHAR(20),AGE INT,ADDRESS VARCHAR(20),SALARY DECIMAL(7,2)); INSERT INTO "COMPANY" VALUES(1,'Paul',32,'California',20000); INSERT IN

SQLite -- 嵌入式关系型数据库

SQLite -- 嵌入式关系型数据库 1.SQLite的数据类型:Typelessness(无类型) 1,能够保存不论什么类型的数据到表的随意列中 2.支持常见的类型如: NULL, VARCHAR, TEXT, INTEGER, BLOB, CLOB等 3,唯一的例外:integer primary key 此字段仅仅能存储64位整数,即当主键被定义为integer时仅仅能存储64位整数 注意:SQLite数据库中列一旦创建不能改动,假设一定要改动,须要又一次创建表,拷贝数据 2,Andro