目录
一、数据库的核心概念
二、SQLite 概述
三、SQLite 的安装与编译
1.安装(Linux 系统)
2.编译(C 语言程序)
四、SQLite 操作指令与 SQL 语句
1.SQLite 终端指令
2.常用 SQL 语句
五、C 语言操作 SQLite
数据库是用于存储、统计与管理数据(增删改查)的系统,广泛应用于各类场景,包括嵌入式设备。本文将介绍数据库基础概念,并以 SQLite 为例展开实践说明。
一、数据库的核心概念
数据库的层级结构为:库→表(行)→记录(行)→字段(列)。
常用数据库按规模分类:
- 大型数据库:ORACLE
- 中型数据库:MySQL、MSSQL
- 小型数据库:SQLite、DBII、powdb
关键术语:
- DB:数据库
- DBMS:数据库管理系统
- MIS:管理信息系统
- OA:办公自动化
二、SQLite 概述
SQLite 是一款嵌入式数据库,具备以下特性:
- 开源,基于 C 语言开发
- 代码量约 1 万行,整体体积小于 10M
- 无需安装,为绿色软件
- 属于文件型数据库,可直接移动
- 最大数据存储容量为 2T
三、SQLite 的安装与编译
1.安装(Linux 系统)
执行以下命令完成安装:
sudo apt-get install sqlite3 # 安装SQLite工具 sudo apt-get install libsqlite3-dev # 安装开发依赖库2.编译(C 语言程序)
编写 C 语言代码后,通过以下命令编译(以 sqli.c 为例):
gcc sqli.c -lsqlite3四、SQLite 操作指令与 SQL 语句
1.SQLite 终端指令
进入 SQLite 环境(执行 sqlite3 数据库名 .db)后,常用指令:
- .database:查看数据库关联文件
- .table:查看数据库中的表
- .schema:查看表的创建语句
- .q/.quit/.exit:退出数据库
- .header on:查询结果显示表头
2.常用 SQL 语句
SQL 语句需以分号结尾,核心操作如下:
- 创建表:
create table user(id int, name char, age int);- 删除表:
drop table user;- 插入数据:
insert into user values(3,"wang",11);- 查询数据:
select * from user where age>20 or age<50;- 修改数据:
update user set id = 1 where name = 'li';- 删除数据:
delete from user where id = 1 or id = 2;五、C 语言操作 SQLite
通过 C 语言操作 SQLite 的核心流程为:
- 打开数据库(sqlite3_open)
- 执行 SQL 语句(sqlite3_exec)
- 关闭数据库(sqlite3_close)
示例代码如下(向 user 表插入数据):
#include <stdio.h> #include <sqlite3.h> int main(int argc, char** argv) { sqlite3* db = NULL; // 1. 打开数据库 int ret = sqlite3_open("123.db", &db); if (ret != SQLITE_OK) { fprintf(stderr, "sqlite3_open: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 1; } char* errmsg = NULL; // 2. 执行SQL语句 char sql_cmd[512] = "insert into user values(6,'zhangsan',21);"; ret = sqlite3_exec(db, sql_cmd, NULL, NULL, &errmsg); if (ret != SQLITE_OK) { fprintf(stderr, "sqlite3_exec: %s\n", errmsg); sqlite3_free(errmsg); sqlite3_close(db); return 1; } // 3. 关闭数据库 sqlite3_close(db); return 0; }