C语言数据库编程实战100例

📚 共计 100 章节
01
C语言数据库编程概述
数据库基础概念 · 嵌入式数据库与C语言 · SQLite简介与环境搭建
SQLite入门
02
SQLite核心API
sqlite3_open · sqlite3_close · sqlite3_exec · sqlite3_prepare_v2 · sqlite3_step · sqlite3_finalize
API核心
03
数据库的创建与连接
创建SQLite数据库文件 · 打开与关闭数据库 · 错误处理机制
连接错误处理
04
表的创建与管理
CREATE TABLE · 数据类型 · 约束条件 (PRIMARY KEY, NOT NULL, UNIQUE) · 表的删除与修改
DDL约束
05
数据插入操作
INSERT INTO · 参数绑定 (sqlite3_bind_*) · 批量插入优化
插入绑定
06
数据查询基础
SELECT · 查询所有列与指定列 · WHERE子句 · ORDER BY排序
查询基础
07
数据更新与删除
UPDATE · DELETE · 条件更新与删除 · 事务保护
更新删除
08
高级查询技巧
JOIN (INNER/LEFT) · 子查询 · 聚合函数 (COUNT, SUM, AVG, MAX, MIN)
JOIN聚合
09
事务处理
BEGIN TRANSACTION · COMMIT · ROLLBACK · ACID特性 · C语言事务实现
事务ACID
10
预处理语句与参数绑定
sqlite3_prepare_v2详解 · sqlite3_bind_* · sqlite3_column_* · 防止SQL注入
预处理安全
11
BLOB数据处理
存储与读取二进制数据 · 图片文件存储 · sqlite3_bind_blob / sqlite3_column_blob
BLOB二进制
12
数据库元数据查询
sqlite_master表 · PRAGMA命令 · 获取表结构 · 数据库版本
元数据PRAGMA
13
索引的创建与使用
CREATE INDEX · B-tree / Hash · 查询性能优化 · EXPLAIN QUERY PLAN
索引性能
14
视图(View)操作
CREATE VIEW · DROP VIEW · 视图查询 · 视图局限性
视图
15
触发器(Trigger)实现
CREATE TRIGGER · BEFORE/AFTER · INSERT/UPDATE/DELETE · 应用场景
触发器
16
用户自定义函数(UDF)
sqlite3_create_function · 标量函数 · 聚合函数 · C语言注册UDF
UDF扩展
17
数据库加密基础
SQLite加密扩展(SEE) · 自定义加密 · AES加密实战
加密安全
18
内存数据库
:memory:模式 · 性能优势 · 临时数据存储 · 与文件数据库切换
内存高性能
19
多线程与数据库
SQLite线程模式 · 连接池设计 · 线程安全 · 互斥锁使用
多线程并发
20
数据库备份与恢复
sqlite3_backup_init系列 · 在线备份 · 增量备份策略
备份恢复
21
错误处理与日志
sqlite3_errmsg · sqlite3_errcode · 自定义错误回调 · 日志系统集成
错误日志
22
SQLite性能调优
PRAGMA优化 (cache_size, page_size, synchronous) · 批量操作 · 查询计划
调优PRAGMA
23
C语言与MySQL基础
MySQL C API简介 · mysql_real_connect · mysql_query · mysql_store_result
MySQLC API
24
MySQL数据库连接管理
连接参数配置 · 连接池实现 · 超时设置 · SSL连接
连接池SSL
25
MySQL数据操作
INSERT / SELECT / UPDATE / DELETE的C API实现 · 预处理语句
DML预处理
26
MySQL事务处理
mysql_autocommit · mysql_commit · mysql_rollback · 保存点(SAVEPOINT)
事务保存点
27
MySQL存储过程调用
CALL语句 · 参数传递 · 结果集处理 · 错误处理
存储过程
28
MySQL BLOB数据处理
二进制数据存储 · 图片/文件存取 · 流式读写
BLOB文件
29
MySQL索引优化
索引类型选择 · 复合索引 · 统计信息 · 慢查询日志分析
索引慢查询
30
MySQL分区表
RANGE分区 · LIST分区 · HASH分区 · 分区管理
分区
31
MySQL复制机制
主从复制原理 · 二进制日志 · GTID复制 · C语言监控复制状态
复制GTID
32
MySQL性能监控
SHOW STATUS · SHOW PROCESSLIST · information_schema · 性能模式
监控性能
33
C语言与PostgreSQL基础
libpq库介绍 · PQconnectdb · PQexec · PQgetvalue
PostgreSQLlibpq
34
PostgreSQL连接管理
连接字符串配置 · SSL连接 · 连接池(PgBouncer) · 故障转移
连接池SSL
35
PostgreSQL数据操作
INSERT / SELECT / UPDATE / DELETE · COPY命令批量导入
DMLCOPY
36
PostgreSQL事务与隔离级别
BEGIN/COMMIT/ROLLBACK · READ COMMITTED · REPEATABLE READ · SERIALIZABLE
事务隔离级别
37
PostgreSQL高级查询
窗口函数 · CTE · 递归查询 · JSONB操作
窗口函数CTE
38
PostgreSQL存储过程与函数
PL/pgSQL · C语言调用存储过程 · 参数模式 (IN/OUT/INOUT)
存储过程PL/pgSQL
39
PostgreSQL触发器
行级触发器 · 语句级触发器 · 事件触发器 · 审计日志实现
触发器审计
40
PostgreSQL全文检索
tsvector/tsquery · GIN索引 · 中文分词 · 排名算法
全文检索GIN
41
PostgreSQL扩展开发
C语言编写扩展 · CREATE EXTENSION · 自定义数据类型 · 自定义操作符
扩展C扩展
42
PostgreSQL性能调优
EXPLAIN ANALYZE · 索引优化 · VACUUM · ANALYZE · 配置参数调优
调优VACUUM
43
C语言与Redis基础
hiredis库介绍 · redisConnect · redisCommand · redisReply处理
Redishiredis
44
Redis字符串操作
SET/GET · MSET/MGET · INCR/DECR · APPEND · GETRANGE/SETRANGE
字符串
45
Redis列表操作
LPUSH/RPUSH · LPOP/RPOP · LRANGE · LLEN · BLPOP/BRPOP阻塞操作
列表阻塞
46
Redis集合操作
SADD/SREM · SMEMBERS · SINTER/SUNION/SDIFF · SCARD · SPOP
集合
47
Redis有序集合
ZADD/ZREM · ZRANGE/ZREVRANGE · ZSCORE · ZRANK · ZINCRBY
有序集合
48
Redis哈希操作
HSET/HGET · HMSET/HMGET · HGETALL · HDEL · HINCRBY
哈希
49
Redis事务与管道
MULTI/EXEC/DISCARD · WATCH乐观锁 · 管道(pipeline)批量操作
事务管道
50
Redis发布订阅
PUBLISH · SUBSCRIBE · PSUBSCRIBE · UNSUBSCRIBE · 模式匹配
发布订阅
51
Redis持久化
RDB快照 · AOF日志 · 混合持久化 · C语言配置持久化策略
持久化RDBAOF
52
Redis集群操作
Redis Cluster · 哈希槽 · 节点通信 · C语言客户端集群支持
集群分片
53
Redis Lua脚本
EVAL/EVALSHA · 脚本缓存 · 原子性操作 · C语言调用Lua脚本
Lua原子性
54
C语言与MongoDB基础
MongoDB C Driver · mongoc_client_new · mongoc_collection_find_with_opts
MongoDB