news 2026/5/13 22:46:31

数据库——基础概念与 SQLite 实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据库——基础概念与 SQLite 实践

目录

一、数据库的核心概念

二、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 是一款嵌入式数据库,具备以下特性:

  1. 开源,基于 C 语言开发
  2. 代码量约 1 万行,整体体积小于 10M
  3. 无需安装,为绿色软件
  4. 属于文件型数据库,可直接移动
  5. 最大数据存储容量为 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 的核心流程为:

  1. 打开数据库(sqlite3_open)
  2. 执行 SQL 语句(sqlite3_exec)
  3. 关闭数据库(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; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/4 15:56:49

计算机视觉项目实战:基于PyTorch-CUDA的CNN模型训练

计算机视觉项目实战&#xff1a;基于PyTorch-CUDA的CNN模型训练 在当今AI驱动的研发节奏下&#xff0c;一个新算法从论文到落地的时间窗口正变得越来越短。对于计算机视觉团队而言&#xff0c;最令人沮丧的往往不是模型调参失败&#xff0c;而是花了整整两天时间才把环境配通—…

作者头像 李华
网站建设 2026/5/5 20:32:45

PMBus差分信号应用:通俗解释高速场景下的改进方案

PMBus差分信号实战指南&#xff1a;如何在高噪声环境中实现稳定高速通信你有没有遇到过这样的问题&#xff1f;一个精心设计的电源管理系统&#xff0c;在实验室里运行完美&#xff0c;可一旦装进整机机柜&#xff0c;就开始频繁丢包、误码&#xff0c;甚至总线锁死。反复检查代…

作者头像 李华
网站建设 2026/5/4 18:36:51

SSH免密码登录PyTorch容器提升工作效率

SSH免密码登录PyTorch容器提升工作效率 在深度学习项目的日常开发中&#xff0c;一个常见的场景是&#xff1a;你刚刚提交了一个训练任务到远程GPU服务器上的PyTorch容器里&#xff0c;几分钟后想进去查看日志。于是打开终端&#xff0c;输入ssh userxxx.xxx.xxx.xxx&#xff0…

作者头像 李华
网站建设 2026/5/5 8:16:37

PyTorch优化器选择指南:SGD、Adam等对比分析

PyTorch优化器选择指南&#xff1a;SGD、Adam等对比分析 在训练一个深度神经网络时&#xff0c;你有没有遇到过这样的情况&#xff1a;模型结构设计得看似合理&#xff0c;数据也准备充分&#xff0c;但训练过程却像“坐过山车”——损失忽高忽低&#xff0c;收敛缓慢&#xff…

作者头像 李华
网站建设 2026/5/13 17:13:57

企业级AI开发环境建设:基于PyTorch-CUDA镜像的CI/CD集成

企业级AI开发环境建设&#xff1a;基于PyTorch-CUDA镜像的CI/CD集成 在现代人工智能研发中&#xff0c;一个常见的场景是&#xff1a;算法工程师在本地训练模型一切正常&#xff0c;提交代码后CI流水线却频繁报错——“CUDA not available”、“cuDNN version mismatch”。这类…

作者头像 李华
网站建设 2026/5/12 9:38:39

PyTorch镜像中运行Machine Translation机器翻译任务

PyTorch镜像中运行Machine Translation机器翻译任务 在自然语言处理&#xff08;NLP&#xff09;的前沿战场上&#xff0c;机器翻译早已从实验室走向全球应用。无论是跨国企业的实时沟通系统&#xff0c;还是开源社区中的多语言知识共享平台&#xff0c;高质量的自动翻译能力正…

作者头像 李华