数据库入门:SQLite实战指南

数据库基础概念

数据库是用于存储和管理海量数据的系统,支持增删改查(CRUD)等操作。其层级结构为:数据库(DB)→ 表(行、列)→ 记录(行)→ 字段(列)。

数据库分类

关系型数据库

  • 大型:Oracle
  • 中型:MySQL、MSSQL
  • 小型:SQLite、DBII、PowDB

嵌入式数据库

以SQLite为例,特点如下:

  1. 开源,基于C语言开发,代码量约1万行,体积小于10MB。
  2. 无需安装,绿色软件,数据以文件形式存储,可移动。
  3. 单文件容量上限为2TB。

核心名词解释

  • DB :数据库,如执行SELECTUPDATE等操作的对象。
  • DBMS:数据库管理系统(如MySQL、SQLite)。
  • MIS:管理信息系统,整合数据支持决策。
  • OA:办公自动化系统,依赖数据库管理流程。

SQLite安装与编译

安装命令

bash 复制代码
sudo apt-get install sqlite3 libsqlite3-dev

编译代码

bash 复制代码
gcc test.c -lsqlite3

SQLite常用指令

  • .database:查看关联的数据库文件。
  • .table:列出所有表。
  • .schema:显示建表语句。
  • .header on:启用表头显示。
  • .quit.exit:退出交互环境。

SQL语句示例

创建表

sql 复制代码
CREATE TABLE user(id INT, name CHAR, age INT);

删除表

sql 复制代码
DROP TABLE user;

插入数据

sql 复制代码
INSERT INTO user VALUES(3, "wang", 11);

查询数据

sql 复制代码
SELECT * FROM user WHERE age > 20 OR age < 50;

更新数据

sql 复制代码
UPDATE user SET id = 1 WHERE name = 'li';

删除数据

sql 复制代码
DELETE FROM user WHERE id = 1 OR id = 2;

SQLite编程接口

核心函数

  1. sqlite3_open:打开数据库连接。
  2. sqlite3_exec:执行SQL语句。
  3. sqlite3_close:关闭连接。

示例代码

c 复制代码
#include <sqlite3.h>
#include <stdio.h>

int main(int argc, char** argv) {
    sqlite3* db = NULL;
    int ret = sqlite3_open("123.db", &db);
    if (ret != SQLITE_OK) {
        fprintf(stderr, "Error: %s\n", sqlite3_errmsg(db));
        sqlite3_close(db);
        return 1;
    }

    char* errmsg = NULL;
    char sql_cmd[512] = "INSERT INTO user VALUES(6, 'lvbu', 31);";
    ret = sqlite3_exec(db, sql_cmd, NULL, NULL, &errmsg);
    if (ret != SQLITE_OK) {
        fprintf(stderr, "SQL error: %s\n", errmsg);
        sqlite3_free(errmsg);
    }
    sqlite3_close(db);
    return 0;
}

关键注意事项

  • 错误处理:检查sqlite3_opensqlite3_exec的返回值,通过sqlite3_errmsg获取错误信息。
  • 资源释放:务必调用sqlite3_closesqlite3_free避免内存泄漏。

通过上述内容可快速掌握SQLite的基础操作与编程方法。

相关推荐
无足鸟ICT10 分钟前
【RHCA+】查看变量
linux·运维·服务器
Kina_C20 分钟前
Linux DNS 服务器-从高速缓存到辅助 DNS 部署指南
linux·运维·服务器·dns
suaizai_33 分钟前
TypeScript 7 正式发布!Vue 暂被 “拒之门外“ !!!
linux·运维·ubuntu
慕伏白2 小时前
【慕伏白】Linux 系统如何根据端口号关闭进程
linux·运维·服务器
letisgo52 小时前
VMware Workstation + Ubuntu 26.04 LTS 小白运维部署手册
linux·运维·ubuntu
IT探索2 小时前
Linux 查找文件指令总结
linux·算法
晚风吹长发2 小时前
Docker使用——Docker容器及相关命令
linux·运维·服务器·docker·容器·架构
sulikey2 小时前
个人Linux操作系统学习笔记11 - 环境变量
linux·笔记·学习
Kina_C2 小时前
NFS与Autofs快速讲解-从原理到实战配置
linux·nfs·autofs
皮卡狮2 小时前
文件系统:磁盘硬件寻址和系统软件寻址
linux