嵌入式软件开发培训笔记——Linux下SQLite3数据库编程

1、基本概念
    数据库&数据库管理系统(DBMS)
    关系型DBMS和SQL
    通用型DBMS&嵌入式DBMS
2、SQLite
    简介
    命令行操作
    库函数编程操作
3、数据库基本概念
    1)数据
        能够输入计算机并能被计算机程序识别和处理的信息集合。
    2)数据库
        数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合。
        注:数据库管理系统(DataBase Management System)------DBMS
4、数据库管理系统
    DBMS是数据库系统中对数据进行统一管理和控制的软件系统。
    1)数据库定义功能    Data Definition
    2)数据库操纵功能    Data Manipulation
    3)数据运行控制功能    Data Control
    4)数据通信功能    Data Communication
    5)支持存取海量数据    Mass Data
5、 数据库学习网    www.w3school.com.cn/sql    
6、常用数据库
    1)大型数据库
    Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。
    IBM的DB2是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。
    2)中 型数据库
    Server是微软开发的数据库产品,主要支持windows平台
    3)小型数据库
    mySQL是一个小型关系型数据库管理系统,开发者为瑞曲MySQL AB公司,2008年被SUN公司收购。开放源码
7、基于嵌入式linux的数据库
     基于嵌入式linux的数据库主要有SQLite,Firebird,Berkeley DB,eXtremeDB
    1)Firebird是关系型数据库,功能强大,支持存储过程、SQL兼容等
    2)SQLite关系型数据库,体积小,支持ACID事务
    3)Berkeley DB中并没有数据库服务器的概念,它的程序库直接链接到应用程序中
    4)eXtremeDB是内存数据库,运行效率高
8、SQLite基础
    SQLite的源代码是C,其源码完全开放。SQLite第一个Alpha版本诞生于2000年5月。是一个轻量级的嵌入式数据库。
     SQLite特性:
    1)零配置,无需安装和管理配置
    2)储存在单一磁盘文件中的一个完整的数据库
    3)数据库文件可以在不同字节顺序的机器间自由共享
    4)支持数据库大小至2TB
    5)足够小,全部源码大致3万行C代码,250KB
    6)比目前浒的大多数数据库对数据的操作要快。

9、SQLite3操作说明(相关网址: www.sqlite.org
    1)指令操作
sqlite3 my.db命令打开my.db文件
.database       显示my.db相关信息
.tables            查看数据库里面的表信息
.schema people查看定义表的信息,会显示一句创建表命令CREATE TABLE "people"(id,name,age);

    2)语句操作
创建数据库文件:sqlite3 test.db
创建表:create table people(id text, name text, age);    数据类型:Integer整、text字符串、real浮点数、blob二进制数据块,缺省为text类型。
删除表:drop table people;。
添加记录:insert into people values(1, "A", 10);。
                 insert into people values(2, "B", 13);。
                 insert into people values(3, "C", 9);
                 insert into people values(4, "C", 15);
                 insert into people values(5, NULL, NULL);        //name、age暂不填,为空值。
选择查看:select 选择列 from 表名  选择行
                  select * from people;选择所有行及所有表
                  select * from people where name='c';    姓名为C的人,所有列
                  select id from people where name='c';   只显示C的id
                  select id,age from people where name='c';    显示C的id与年龄
                  select id,age from people where name='c' and age>=10;
删除记录:delete from people where name='c';    删除name为以的记录
更新记录:update people set name='c' where id=1    将第一条记录的name改为c
修改表:(如添加字段)    alter table people add column address;   此时在表people中添加了一个address字段
删除列:通过创建新表的方法,将老表数据导进新表除要删除的列,再将老表删除        
        改表名:alter table people rename to temp;
        建新表:create table people(id, name, age);
        老表导新表:insert into people select id,name,age from temp;
        删除老表:drop table temp;

10、SQLite    C语言编程接口
typedef int(*sqlite3_callback)(void *para, int f_num, char **f_value, char **f_name);
功能:每找到一条记录自动执行一次回调函数
para:    传递给回调函数的参数
f_num:    记录中包含的字段数目(指的是查询结果中的字段数目)
f_value:    包含每个字段值的指针数组
f_name:    包含每个字段名称的指针数组
返回值:    成功返回0,失败返回-1
1)打开或创建一个数据库

2)数据库操作(查插删改)

3)关闭数据库close
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值