Linux软件编程学习笔记(十三)——数据库
2026/9/8 16:54:28 网站建设 项目流程

一、什么是数据库

数据库是一种能够对大量数据进行增、删、改、查管理的软件。

简单理解:

程序 ↓ 数据库 ↓ 保存大量数据 ↓ 增、删、改、查

例如学生信息:

学号 姓名 年龄 1001 张三 20 1002 李四 21 1003 王五 22

程序可以通过 SQL 语句对这些数据进行操作。


二、数据库的分类

课程中主要介绍两种数据库。

1. 关系型数据库

关系型数据库的数据通常按照表格的形式进行组织。

常见的关系型数据库:

Oracle MySQL SQLite

课程文档中将关系型数据库列为一类,并列出了 Oracle、MySQL、SQLite。

例如:

学生表 +------+--------+------+ | id | name | age | +------+--------+------+ | 1 | 张三 | 20 | | 2 | 李四 | 21 | +------+--------+------+

2. 非关系型数据库

非关系型数据库一般不采用传统的关系表结构。

课程文档中列举:

Redis NoSQL

并将 Redis 作为内存数据库进行介绍。


三、SQLite数据库

本次课程重点学习的是:

SQLite

SQLite 是一种轻量级关系型数据库。

它的特点是使用简单,不需要单独启动数据库服务器,数据库通常就是一个文件。

例如:

student.db

里面可以保存我们的数据表。


四、SQLite基本操作

进入 SQLite:

sqlite3 test.db

进入以后可以使用 SQLite 命令。


1. 查看数据库

.databases

功能:

查看当前数据库以及相关文件。


2. 查看数据表

.tables

功能:

查看当前数据库中的表名称。


3. 查看表结构

.schema

也可以指定表:

.schema student

功能:

查看表的创建结构。


4. 设置表头

.headers on

打开列名称显示。

关闭:

.headers off

5. 设置数据显示格式

.mode column

可以让查询结果按照列的形式显示。

课程文档中列出了:

.tables .databases .headers on/off .mode .schema

这些 SQLite 常用命令。


五、SQLite数据类型

课程中主要介绍4种数据类型:

INTEGER REAL TEXT BLOB

1. INTEGER

表示整数。

例如:

20 100 -5

2. REAL

表示实数、小数。

例如:

3.14 99.5

3. TEXT

表示文本、字符串。

例如:

'张三' 'hello'

4. BLOB

用于保存二进制数据。

例如:

图片 音频 文件

等二进制内容。


六、创建数据表

使用:

CREATE TABLE

例如创建学生表:

CREATE TABLE student ( id INTEGER, name TEXT, age INTEGER );

表示创建一个student表:

student ├── id ├── name └── age

七、插入数据

使用:

INSERT INTO

例如:

INSERT INTO student VALUES (1, '张三', 20);

再插入一条:

INSERT INTO student VALUES (2, '李四', 21);

现在表中有:

id name age 1 张三 20 2 李四 21

课程文档将insert into作为基本 SQL 语句之一。


八、查询数据

使用:

SELECT

查询所有数据:

SELECT * FROM student;

结果:

1|张三|20 2|李四|21

也可以只查询指定字段:

SELECT name FROM student;

结果:

张三 李四

九、WHERE条件查询

WHERE用来设置查询条件。

例如:

SELECT * FROM student WHERE age = 20;

表示:

查询年龄等于20岁的学生。

查询结果:

1|张三|20

例如:

SELECT * FROM student WHERE id = 2;

表示查询id为2的数据。

课程文档中也将where子句和匹配条件作为基本内容。


十、基本SQL操作总结

数据库最重要的就是:

增 ↓ INSERT 删 ↓ DELETE 改 ↓ UPDATE 查 ↓ SELECT

本节课程重点学习的基本 SQL 包括:

CREATE TABLE INSERT INTO SELECT WHERE

十一、一个完整的SQLite操作示例

首先创建数据库:

sqlite3 student.db

创建表:

CREATE TABLE student ( id INTEGER, name TEXT, age INTEGER );

插入数据:

INSERT INTO student VALUES (1, '张三', 20); INSERT INTO student VALUES (2, '李四', 21); INSERT INTO student VALUES (3, '王五', 22);

查询全部:

SELECT * FROM student;

查询指定条件:

SELECT * FROM student WHERE age = 21;

查看表:

.tables

查看表结构:

.schema student

十二、数据库和C语言程序

在 Linux C 程序中,可以使用 SQLite 提供的接口操作数据库。

基本流程:

C程序 ↓ 打开SQLite数据库 ↓ 执行SQL语句 ↓ 获取查询结果 ↓ 处理数据 ↓ 关闭数据库

例如:

sqlite3 *db = NULL; sqlite3_open("student.db", &db); /* 执行SQL语句 */ sqlite3_close(db);

这样就可以让 C 程序和 SQLite 数据库进行交互。


十三、本节重点

1. 数据库

用来对大量数据进行增、删、改、查管理。

2. 两种数据库

关系型数据库 ↓ Oracle、MySQL、SQLite 非关系型数据库 ↓ Redis、NoSQL

3. SQLite

轻量级 关系型数据库 数据库文件

4. SQLite常用命令

.tables .databases .headers on .mode column .schema

5. 常见数据类型

INTEGER REAL TEXT BLOB

6. 基本SQL

CREATE TABLE INSERT INTO SELECT WHERE

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询