目录:
一、SQLite 简介
- 轻量化,易用的嵌入式数据库,用于设备端的数据管理,可以理解成单点的数据库。传统服务器型数据库用于管理多端设备,更加复杂
SQLite
是一个无服务器的数据库,是自包含的。这也称为嵌入式数据库,这意味着数据库引擎作为应用程序的一部分运行MySQL
需要运行服务器,MySQL将需要客户端和服务器架构通过网络进行交互
SQLite 的优点 |
SQLite 的缺点 |
MySQL 的优点 |
MySQL 的缺点 |
---|---|---|---|
基于文件,易于设置和使用 适合基础开发和测试 轻松携带 使用标准 SQL 语法进行微小更改使用方便 |
缺乏用户管理和安全功能 不容易扩展 不适合大数据库 无法定制 |
使用方便 提供了许多与数据库相关的功能 良好的安全功能 易于扩展,适用于大型数据库 提供良好的速度和性能 提供良好的用户管理和多种访问控制 |
需要一些技术专业知识来设置 与传统 SQL 相比,语法略有不同 |
- 基于嵌入式的数据库主要有:
SQLite
,Firebird
,Berkeley DB
,eXtremeDB
Firebird
是关系型数据库,功能强大,支持存储过程,SQL
兼容等SQLite
关系型数据库,体积小,支持ACID
事务Berkeley DB
并没有数据库服务器的概念,他的程序直接链接到应用程序中eXtremeDB
是内存数据库,运行效率高
二、SQLite 数据库安装
1、安装方式一:
sudo apt-get -y install sqlite
安装的可能不是最新版本
2、安装方式二:
通过 SQLite 官方网址(https://www.sqlite.org/download.html)下载安装包
下载Source Code
的sqlite-autoconf.tar.gz
:
将压缩包上传到开发板上,解压并安装:
tar xvf sqlite-autoconf-3460000.tar.gz
cd sqlite-autoconf-3460000
// 配置安装路径在/usr/local
./configure --prefix=/usr/local
// 编译
make
// 安装
sudo make install
三、SQLite 的命令用法
1、创建、打开、退出数据库:
// 进入数据库指令交互页面
sqlite3
// 退出数据库
.quit
// 打开数据库 test.db(没有该数据库则创建该数据库)
.open test.db
// 创建并打开数据库 test.db(该指令直接在终端命令窗口运行)
qulite3 test.db
// 查看当前打开的数据库
.database
// 敲错指令进入 ...> 状态,通过 ctrl + z 退出
...>
2、编辑数据库:
// 创建一张表格,字段分别为:整型 id,字符型 name,整型 score
create table stu(id Integer,name char,score Integer);
// 列出数据库的所有表格
.tables
// 在 stu 表格插入一条数据,在 values() 编辑要插入内容
insert into stu values(001,'lcx',99);
// 在 stu 表格插入一条数据,只有 name 和 score 字段内容
insert into stu(name,score) values('licx',100);
// 查询 stu 表格的所有字段数据
select * from stu;
// 只查询 stu 表格中 name 和 score 字段的内容
select name,score from stu;
// 删除 stu 表格中 id = 1 的所有数据
delete from stu where id = 1;
// 删除 stu 表格
drop table stu;
// 更改表格 stu 的数据,将 id = 1 的所有数据的 name 改为 'li'
update stu set name = 'li' where id = 1;
// 增加 stu 表格一列数据分类:字符型 sex
alter table stu add column sex char;
四、SQLite 的编程操作
- 编译:
由于我的SQLite3
安装在/usr/local/
目录下,而相应的库在/usr/local/lib/
目录下:
编译时应该链接库:-lsqlite3
1、打开 / 创建数据库的 C 接口:
打开一个指向 SQLite 数据库文件的连接:
#include <sqlite3.h>
int sqlite3_open<