SQLite3下载与安装

SQLite3下载与安装一 SQLite 概述 1 简介 SQLite 是一款开源的 嵌入式关系型数据库 它在便携性 易用性 紧凑型 高效性和可靠性有突出的表现 它是一款嵌入式数据库 所以在大多数嵌入式开发中都会使用 SQLite 它没有独立的进程 与所在的应用服务共同生存 代码也与应用程序代码在一起 对于内部程序有一个独立的数据库服务器 对于外部而言无法看到程序有一个关系型数据库在运行 程序也不需要关系数据库是如何运作的 只需要管理自己的数据即可 2 体系结构 SQLite 拥有简洁 模块化的体系结构 可以划分为 3 个子系统和 8 个独立

一、SQLite概述:

1.简介:SQLite是一款开源的、嵌入式关系型数据库,它在便携性、易用性、紧凑型、高效性和可靠性有突出的表现。它是一款嵌入式数据库,所以在大多数嵌入式开发中都会使用SQLite,它没有独立的进程,与所在的应用服务共同生存,代码也与应用程序代码在一起。对于内部程序有一个独立的数据库服务器,对于外部而言无法看到程序有一个关系型数据库在运行,程序也不需要关系数据库是如何运作的,只需要管理自己的数据即可。

2.体系结构:SQLite拥有简洁、模块化的体系结构,可以划分为3个子系统和8个独立模块组成。这些模块将查询划分为几个独立的任务,体系几个顶部编译查询语句、中部执行、底部处理存储并于操作系统交互
如图
在这里插入图片描述




-接口:接口处于栈的顶端,由SQLite C API组成,开发人员通过此接口与数据库通信。

  • 编译器:编译过程从语法分析器和词法分析其开始,他们协同处理sql查询语句,分析语法有效性,然后转化为底层能够处理的数据结构,最后代码生成器生成sqlite专用的汇编代码。
  • 虚拟机:虚拟数据库引擎。它是专为处理数据设计的虚拟机,独立于上层的操作系统、CPU等。例如创建一个表这些操作都是先编译成虚拟机语言,然后才形成一个指令集。
  • 后端:由B-tree、页缓存以及操作系统接口组成。B-tree负责排序。页负责存储信息如:字段、索引、记录。pager(sqlite一种数据结构)负责管理页面,根据B-tree请求从磁盘读写数据。

3.SQLite优点:

  • 零配置:不需要做任何配置
  • 移植性:可以运行在Windows、Linux、BSD、MACOS、UNIX等系统上。无缝工作在32位和64位操作系统上。同时适应大小字节。
  • 紧凑型:只需要包含一个头文件和一个库。
  • 简单性:SQLite的API简单易用。
  • 灵活性:直接放到应用程序中就可以获得SQL支持
  • 自由授权:免费开源
  • 可靠性:代码肯定可靠
  • 易用性:

4. SQLite缺点:
并发:SQLite的锁机制是粗粒度的,它允许多个读但是只允许一个写。写期间不允许其他访问数据库,如果应用程序需要很高的并发性,则不适合。
网络:SQLite数据库可以通过网络文件共享,但是当多个客户端修改数据库文件时,会导致出错。




5. 获取SQLite:www.sqlite.org

6. 安装SQLite

  1. 离线安装:dpkg -i sqlite3_3.7.2-1ubuntu0.1_i386.deb
  2. 在线安装:
    apt-get update
    apt-get install sqlite3 //sqlite3数据库软件
    apt-get install libsqlite3-dev //sqlite3数据库开发支持库
    apt-get install sqlite3-doc //sqlite3数据库说明文档
    apt-get install sqlitebrowser //sqlite3数据库操作软件










7.编译源码:
1.解压源码:# tar xvf sqlite-autoconf-.tar.gz

2、进到源码目录并定制Makefile

# cd sqlite-autoconf- # ./configure --prefix=$PWD/build --host=arm-linux CC=/opt/arm-linux-gcc-4.6.4/bin/arm-linux-gcc # ./configure --prefix=$PWD/build --host=i386-linux 说明 --prefix: 指定安装路径 --host:指定主机编译环境 arm-linux是指ARM交叉编译 i386-linux是指x86系统 CC:指定编译器 如果--host是arm-linux则需要交叉编译工具链 如果--host是i386-linux则不需要指定编译器,而使用系统默认的gcc 

3、编译:# make

4、安装:# make install

8.打开数据库:在命令行输入命令:sqlite3 + *.db(数据库名)

9.数据库管理:

  • 创建数据库:sqlite test.db。如果仅仅是这样的话创建的是一个假数据库,当退出数据库后,该数据库就不存在了,除非在里面创建一张表或者一个视图,才能在磁盘创建一个永久数据库。
  • 退出数据库:.exit
  • 获取数据库scheam信息
  •  .tables : 查看所有的表 .schema 
        
          :查看表结构 .database: 显示当前打开的数据库 .indices test 显示test表的索引 
        
  • 导出数据:将数据库对象导出成SQL格式
  •  1. .output file.sql (前提 file.sql 已经存在这个文件) .dump 2. sqlite3 test.db .dump > file.sql 
  • 导入数据:导入数据有两种方法,如果数据文件是由SQL语句构成,则使用.read命令导入,如果数据文件是由符合分割的值组成,则使用.import命令导入。
  •  1. .read file.sql .import file.csv test:将带有分隔符的csv数据导入到test表中 2. sqlite3 test.db < file.sql 
  • 数据库备份:sqlite3 test.db .dump > file.sql
  • 将数据库导出为表格:sqlite3 -header -csv infomation.db “select *from Brother;” > Brother.csv

10.图形界面工具推荐:DB Browser for SQLite(轻巧、简洁)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228570.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午6:43
下一篇 2026年3月16日 下午6:43


相关推荐

  • PG数据库事务隔离级别「建议收藏」

    PG数据库事务隔离级别「建议收藏」Postgres数据库事务隔离级别介绍

    2022年10月11日
    6
  • python怎么表示取余_python如何实现取余操作[通俗易懂]

    python怎么表示取余_python如何实现取余操作[通俗易懂]python实现取余操作的方法:可以利用求模运算符(%)来实现。求模运算符可以将两个数相除得到其余数。我们还可以使用divmod()函数来实现取余操作,具体方法如:【divmod(10,3)】。在python中要实现取余操作可以使用求模运算符(%),该运算符可以将两个数相除得到其余数。(推荐教程:Python入门教程)如果一个数恰好能被另外一个数据整除,则余数为0,%运算后返回结果为0。可利用余数…

    2022年4月25日
    78
  • JS数组对象排序

    JS数组对象排序利用数组api——>sort来进行排序varperson=[{name:”Rom”,age:12},{name:”Bob”,age:22},{name:”Ma”,age:5},{name:”Tony”,age:25}]person.sort((a,b)=>{returna.age-b.age})//升序person.sort((a,b)=>{retu…

    2022年4月27日
    41
  • mac电脑永久激活pycharm

    mac电脑永久激活pycharm基本步骤 1 pycharm 下载地址 2 根据上面的步骤下载好 pycharm 直接下一步下一步来安装 3 网盘中下载激活成功教程补丁 4 将下载好的激活成功教程补丁包复制到 Applications PyCharm app Contents bin5 用编辑器打开 Applications PyCharm app Contents bin pycharm vmoptions 并修改 在最后面加上

    2026年3月27日
    2
  • 第k短路径_利用标幺值进行短路计算

    第k短路径_利用标幺值进行短路计算给定一张 N 个点(编号 1,2…N),M 条边的有向图,求从起点 S 到终点 T 的第 K 短路的长度,路径允许重复经过点或边。注意: 每条最短路中至少要包含一条边。输入格式第一行包含两个整数 N 和 M。接下来 M 行,每行包含三个整数 A,B 和 L,表示点 A 与点 B 之间存在有向边,且边长为 L。最后一行包含三个整数 S,T 和 K,分别表示起点 S,终点 T 和第 K 短路。输出格式输出占一行,包含一个整数,表示第 K 短路的长度,如果第 K 短路不存在,则输出 −1。数据范围

    2022年8月9日
    8
  • Int类型变量的取值范围为何是2的31次方?

    Int类型变量的取值范围为何是2的31次方?Int 类型变量的取值范围解释 Int 类型数据的取值范围为 即 231 231 1 首先 在 C 中一个 Int 类型变量占 4 个字节 即 32 位 而二进制的最高位是用来表示正负的 故能表示的最高位正数为 0 由 2 进制转换为 10 进制 230 229 21 20 由数列求和公式可得结果为 231 1 也即 表示负数时 最高位为符号

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号