数据库文件(嵌入式)

一、数据库文件与普通文件区别

1、普通文件对数据管理(增删改查)效率低

2、数据库对数据管理效率高,使用方便

二、常用数据库

1、关系型数据库:

        将复杂的数据结构简化为二维表格形式

        大型:Oracle、DB2

        中型:MySql、SQLServer

        小型;Sqlite

2、非关系型数据库

        以键值对存储,且结构不稳定

        Redis

        MonqoDB

三、嵌入式数据库

        sqlite3:

        1、开源免费,C语言开发

        2、代码量小,一万行左右,总大小10M以内

        3、文件型数据库,可以移动

        4、数据容量最大2T

1、sqlite 相关命令

        .tables 查看数据库中的表

        .headers on/off                       开启/关闭表头

        .mode column                        列对齐

        .width   列宽1   列宽2             设置每一列列宽

        .schema  表名                        查看表的结构

2、sqlite的SQL语句

        语句后需加 ;号

        1、创建表

                create table 表名(列名1 数据类型,列名2 数据类型,列名3 数据类型);

         2、插入数据

                insert into 表名 values(值1,值2,值3);

CREATE table class1(id INTEGER,name TEXT,age INTEGER,score REAL);
INSERT into class1 VALUES (1,"zhangsan",20,99);

         3、查询

                select   列名1,列名2  from  表名;

                select   *   from    表名;    *  指(所有列)

SELECT score FROM class1 ;

SELECT * FROM class1 ;

                条件查找:

                        select *  from  表名   where   列   关系运算符   值;

                模糊查找:

                        select *  from  表名   where   列名   like  “ % 查找内容”;

                升序排列

                        select  *  from  表名  order by 列名  ASC

                 降序排序

                        select  *  from  表名  order by 列名  DESC

        4、删除一行

                        delete from 表名 where 列名  关系运算符 值;

 delete from class1 where name = "xialuo";

        5、删除一张表

                        drop  表名;

        6、修改

                        update  from 表名  set  列名 = 新值  where  列名 = 名字

UPDATE class1 set score=100 WHERE name = "xialuo";

        7、设置主键值自动增长列

                1、主键值自动增长列的数据类型必须是INTEGER

                2、THTEGER   PRIMARY  KEY  AUTOINCREMENT

3、函数接口

        1、sqlite3_open (  ) 

int sqlite3_open(const char *filename,  sqlite3 **ppDb);

功能:打开一个数据库文件获得操作数据库文件的句柄,如果数据库存在,则打开;不存在,则创建

参数:     filename:数据库文件路径 
            ppDb:存放句柄指针空间的首地址

返回值: 成功返回SQLITE_OK,失败:错误码

        2、sqlite3_exec (  ) 

int sqlite3_exec(sqlite3* pDb,const char *sql,nt (*callback)(void*,int,char**,char**), void *arg,         char **errmsg;

功能:在数据库中执行SQL语句

参数:     sqlite3*:数据库句柄 
            sql     :SQL语句字符串首地址
            callback:回调函数(只有select时使用)
            void *  :回调函数的传参(只有select时使用)
            char **errmsg:出错信息存放空间首地址

返回值: 成功返回SQLITE_OK 0,失败:错误码

        3、sqlite3_close (  )

int sqlite3_close(sqlite3*);

功能:关闭数据库句柄

  • 32
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值