LV07-01-SQLite-基础知识
本文主要是SQLite基础知识相关笔记,若笔记中有错误或者不合适的地方,欢迎批评指正😃。
点击查看使用工具及版本
Windows | windows11 |
Ubuntu | Ubuntu16.04的64位版本 |
VMware® Workstation 16 Pro | 16.2.3 build-19376536 |
SecureCRT | Version 8.7.2 (x64 build 2214) - 正式版-2020年5月14日 |
开发板 | 正点原子 i.MX6ULL Linux阿尔法开发板 |
uboot | NXP官方提供的uboot,NXP提供的版本为uboot-imx-rel_imx_4.1.15_2.1.0_ga(使用的uboot版本为U-Boot 2016.03) |
linux内核 | linux-4.15(NXP官方提供) |
STM32开发板 | 正点原子战舰V3(STM32F103ZET6) |
点击查看本文参考资料
参考方向 | 参考原文 |
--- | --- |
一、SQLite
简介
1. 数据和数据库
- 数据(
Data
)
能够输入计算机并能被计算机程序识别和处理的信息集合。
- 数据库 (
Database
)
数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合。
2. 基于嵌入式的数据库
基于嵌入式Linux
的数据库主要有SQLite
, Firebird
, Berkeley DB
, eXtremeDB
:
SQLite | 关系型数据库,体积小,支持ACID事务 |
Firebird | 关系型数据库,功能强大,支持存储过程、SQL兼容等 |
Berkeley DB | 它里边并没有数据库服务器的概念,它的程序库直接链接到应用程序中 |
eXtremeDB | 内存数据库,运行效率高 |
3. 什么是SQLite
SQLite
是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL
数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,我们不需要在系统中配置。并且SQLite
可以直接访问其存储文件。
SQLite
的源代码是C
,其源代码完全开放。SQLite
第一个Alpha
版本诞生于2000
年5
月,它是一个轻量级的嵌入式数据库。
3.1 Excel
?
其实怎么说呢,它大概就像是Windows
下的Excel
一样,对于Windows
下的Excel
,我们首先会创建一个工作簿,就像这样:
创建完工作簿后,我们就进入了这个工作簿,在Excel
中,会提前创建好一个默认的工作表:
然后我们就可以开始输入表头,然后,每一行记录一条数据。
3.2 SQLite
?
SQLite
呢?我没有用过可视化的工看过SQLite
,但是后续的操作让我觉得,它与上边介绍的Excel
是很类似的
首先,我们需要创建一个数据库,这就类似于Excel
中的工作簿。
然后我们需要再创建数据表,创建数据表的时候是需要有一个数据表的表头的,就是每一列的数据大概是什么类型的数据,每一列的标识是怎样的。这其实就很像Excel
中的工作表,只不过Excel
会自动帮我们创建一张工作表,而SQLite
不会,创建了数据库之后,它里边什么都没有,甚至于我们不创建数据表的情况下,这个数据库根本不会在硬盘上保存。
接着就是向工作表添加数据,查询数据,删除数据,修改数据等等一系列的操作。
所以这样一想,其实跟我们平时使用的Excel
是很类似的,后边会具体学习如何使用SQLite
数据库。
4.SQLite
有哪些特点
- 不需要一个单独的服务器进程或操作的系统(无服务器的)。
- 不需要配置,这意味着不需要安装或管理。
- 一个完整的
SQLite
数据库是存储在一个单一的跨平台的磁盘文件。 - 占用空间非常小的,是轻量级的,完全配置时小于
400KB
,省略可选功能配置时小于250KB
,支持数据库大小至2TB
。 - 数据库文件可以在不同字节顺序的机器间自由共享。
SQLite
是自给自足的,这意味着不需要任何外部的依赖。SQLite
事务是完全兼容ACID
的,允许从多个进程或线程安全访问。SQLite
支持SQL92(SQL2)
标准的大多数查询语言的功能。SQLite
使用ANSI-C
编写的,全部源码大致3
万行C
代码,并提供了简单和易于使用的API
。SQLite
可在UNIX
(Linux
,Mac OS-X
,Android
,iOS
)和Windows
(Win32
,WinCE
,WinRT
)中运行。
二、SQLite
安装与启动
这里只说明在Ubuntu
系统中SQLite
的安装。其为了后续操作的顺畅,所以这里添加了三个SQLite
最最基本的操作。
1. 在线安装
首先查看系统中是否已经安装了SQLite3
,可以在命令行中输入以下命令:
1 | sqlite3 |
若未安装过,则会有以下提示:
1 | Command 'sqlite3' not found, but can be installed with: |
然后我们输入以下命令,等待安装完成即可:
1 | sudo apt install sqlite3 |
然后我们重新输入以下命令:
1 | sqlite3 |
若安装成功,则会显示以下信息:
1 | SQLite version 3.34.1 2021-01-20 14:10:07 |
sqlite>
表示此处可以开始输入数据库的命令啦。
2. 编译安装
- 下载编译安装的源码
我们可以在官网找到可以编译安装的源码包:
1 | https://www.sqlite.org/download.html |
打开这个网址后,我们会看到有很多的安装包,但是我们选择这个sqlite-autoconf-xxx.tar.gz
的包下载就可以啦。
- 解压
1 | tar -xvf sqlite-autoconf-3380500.tar.gz |
- 配置
1 | cd sqlite-autoconf-3380500/ |
- 编译安装
1 | make # 编译源码 |
注意加上sudo
,否则可能会有以下报错:
1 | make[1]: 进入目录“/home/hk/1Software/sqlite-autoconf-3380500” |
- 检测是否安装完成
1 | sqlite3 |
若安装成功,则会显示以下信息:
1 | SQLite version 3.38.5 2022-05-06 15:25:27 |
从这里可以看出,我们编译安装的版本比在线安装的要更新一些。
3. SQLite
的三个基本操作
3.1 进入SQLite
其实前边安装的时候都已经启动过了,就是我们直接在终端中输入以下命令:
1 | sqlite3 |
然后便会进入SQLite
数据库命令提示符下:
1 | SQLite version 3.38.5 2022-05-06 15:25:27 |
3.2 创建SQLite
数据库
后续的操作都需要首先有一个数据库才行,所以这里就先了解一下如何创建一个数据库吧,我们在终端中执行以下命令:
1 | sqlite3 DatabaseName.db |
这样便会在当前目录下创建一个名为DatabaseName.db
的数据库,创建的数据库就类似于我们在Windows
下的Execl
中创建了一个工作簿一样。我们现在只是有了数据库,却还没有创建数据表,这个数据表不会自动创建,需要我们后边使用相关的一些语句进行创建。需要注意的是当我们没有创建数据表的时候,磁盘中不会有该数据库文件的存在。
3.3 退出SQLite
命令
进入SQLite
进行一系列操作后,如何退出呢?我们可以在SQLite
命令提示符后边输入以下命令:
1 | sqlite>.quit |
这样便可以退出SQLite
啦。