數據庫基礎概念
數據庫是用于存儲和管理海量數據的應用程序,提供數據增刪改查及統計功能(如最大值、最小值、平均數等)。通過SQL語句操作數據,以表格形式管理存儲。
數據庫分類
- 關系型數據庫
Oracle(大型)、MySQL/MSSQL(中型)、SQLite/DBIl(小型) - 非關系型數據庫
MongoDB
SQL語言分類
- DDL (Data Definition Language)
建表語句,如CREATE TABLE
- DML (Data Modification Language)
數據操作語句,如INSERT
、UPDATE
、DELETE
- DQL (Data Query Language)
查詢語句,如SELECT
嵌入式數據庫 SQLite3
特點
- 開源,C語言開發
- 代碼量約1萬行,體積小于10MB
- 綠色軟件,無需安裝
- 文件型數據庫,可移動
- 最大支持2TB數據容量
- 需定期維護
安裝與驗證
sudo apt-get install sqlite3 libsqlite3-dev
gcc test.c -lsqlite3 -lpthread
sqlite3 --version # 驗證安裝
SQLite3 基本操作
啟動與退出
sqlite3 test.db # 啟動并打開數據庫
.quit # 退出
常用指令
.database # 查看關聯文件
.headers on # 顯示表頭
.schema # 顯示建表語句
.table # 列出所有表
數據操作示例
-- 創建表
CREATE TABLE 表名(字段1 類型, 字段2 類型);
-- 插入數據
INSERT INTO 表名 VALUES(值1, 值2);
-- 查詢數據
SELECT 列名 FROM 表名 WHERE 條件;
-- 修改數據
UPDATE 表名 SET 列名=值 WHERE 條件;
-- 刪除數據
DELETE FROM 表名 WHERE 條件;
條件語法
- 數字類型:
WHERE id > 20
- 字符串模糊匹配:
WHERE name LIKE 'zhang%'
(%
匹配任意字符)WHERE name LIKE 'zhang_'
(_
匹配單個字符)
C 語言編程接口
參考 SQLite 官方文檔:
sqlite.org/capi3ref
核心函數
sqlite3_open(); // 打開數據庫
sqlite3_exec(); // 執行SQL語句
sqlite3_close(); // 關閉數據庫