ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

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

数据库——基础概念与 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; }
返回列表