当前位置: 首页> 财经> 金融 > 数据库文件(嵌入式)

数据库文件(嵌入式)

时间:2025/7/11 18:54:02来源:https://blog.csdn.net/m0_63935612/article/details/141672477 浏览次数:0次

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

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*);

功能:关闭数据库句柄

关键字:数据库文件(嵌入式)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: