news 2026/9/30 15:59:06

数据库——基础概念与 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/9/27 14:49:37

PyTorch-CUDA-v2.8镜像发布:一键部署GPU加速深度学习

PyTorch-CUDA-v2.8镜像发布&#xff1a;一键部署GPU加速深度学习 在当今AI研发的日常中&#xff0c;一个常见的场景是&#xff1a;刚拿到一块新的RTX 4090显卡&#xff0c;满心期待地准备训练模型&#xff0c;结果却卡在了环境配置上——CUDA驱动版本不匹配、PyTorch与cuDNN冲突…

作者头像 李华
网站建设 2026/9/27 9:29:00

GPU云服务器选购指南:匹配你的大模型训练需求

GPU云服务器选购指南&#xff1a;匹配你的大模型训练需求 在深度学习的黄金时代&#xff0c;谁掌握了高效的算力&#xff0c;谁就握住了创新的钥匙。但现实往往是&#xff1a;你兴冲冲地租了一台顶配A100实例&#xff0c;上传了训练脚本&#xff0c;结果卡在ImportError: libcu…

作者头像 李华
网站建设 2026/9/29 5:09:15

PyTorch镜像中运行Semantic Segmentation语义分割任务

PyTorch镜像中运行Semantic Segmentation语义分割任务 在深度学习项目开发中&#xff0c;一个常见的痛点是&#xff1a;明明代码写得没问题&#xff0c;模型结构也正确&#xff0c;可一运行就报错——“CUDA not available”、“cuDNN version mismatch”……这类问题往往不是出…

作者头像 李华
网站建设 2026/9/28 21:25:57

PyTorch-CUDA-v2.7镜像中生成系统快照便于快速恢复

PyTorch-CUDA-v2.7 镜像中生成系统快照便于快速恢复 在深度学习项目开发过程中&#xff0c;最让人头疼的往往不是模型调参&#xff0c;而是环境“突然不行了”——昨天还能跑通的训练脚本&#xff0c;今天却因为某个包升级导致 CUDA 不可用&#xff1b;或者团队成员之间始终无法…

作者头像 李华
网站建设 2026/9/27 17:11:14

PyTorch-CUDA-v2.7镜像支持NCCL通信,多卡训练更稳定

PyTorch-CUDA-v2.7镜像支持NCCL通信&#xff0c;多卡训练更稳定 在深度学习模型日益庞大的今天&#xff0c;单张GPU已经远远无法满足训练需求。从百亿参数的语言模型到高分辨率图像生成系统&#xff0c;研究者和工程师们正不断挑战算力极限。而在这背后&#xff0c;真正决定训练…

作者头像 李华