【基础】数据库基础:使用SQLite
发布时间: 2024-06-28 22:42:27 阅读量: 70 订阅数: 131
![【基础】数据库基础:使用SQLite](https://devopedia.org/images/article/97/8476.1547460380.png)
# 2.1 SQLite的数据类型
SQLite支持多种数据类型,包括:
- **整型:** INTEGER,用于存储整数,支持有符号和无符号类型。
- **实数:** REAL,用于存储浮点数。
- **文本:** TEXT,用于存储文本字符串。
- **二进制:** BLOB,用于存储二进制数据,如图像或文档。
- **日期和时间:** DATE、TIME 和 DATETIME,用于存储日期和时间信息。
- **NULL:** NULL,表示一个未知或不存在的值。
# 2. SQLite数据类型和表结构
### 2.1 SQLite的数据类型
SQLite支持多种数据类型,包括:
| 数据类型 | 描述 |
|---|---|
| INTEGER | 整数 |
| REAL | 浮点数 |
| TEXT | 文本字符串 |
| BLOB | 二进制数据 |
| NULL | 空值 |
### 2.2 SQLite的表结构
SQLite表由列组成,每列都有一个名称和一个数据类型。表结构使用`CREATE TABLE`语句定义,例如:
```sql
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT,
email TEXT,
age INTEGER
);
```
此语句创建一个名为`users`的表,其中包含以下列:
- `id`:主键,用于唯一标识每行
- `name`:文本字符串,存储用户的姓名
- `email`:文本字符串,存储用户的电子邮件地址
- `age`:整数,存储用户的年龄
**主键**
主键是表中唯一标识每行的列。SQLite支持以下主键类型:
- `INTEGER PRIMARY KEY`:自动递增的整数主键
- `UNIQUE`:确保列中的值是唯一的
- `PRIMARY KEY`:指定列为主键,但允许重复值
**外键**
外键用于在表之间建立关系。外键列引用另一个表中的主键列。例如,以下语句创建一个名为`orders`的表,其中包含一个外键列`user_id`,该列引用`users`表中的`id`列:
```sql
CREATE TABLE orders (
id INTEGER PRIMARY KEY,
user_id INTEGER REFERENCES users(id),
product_id INTEGER,
quantity INTEGER
);
```
### 代码块示例
```sql
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT,
price REAL,
quantity INTEGER
);
```
**代码逻辑分析:**
此语句创建一个名为`products`的表,其中包含以下列:
- `id`:主键,用于唯一标识每行
- `name`:文本字符串,存储产品的名称
- `price`:浮点数,存储产品的价格
- `quantity`:整数,存储产品的数量
**参数说明:**
- `INTEGER PRIMARY KEY`:指定`id`列为主键,并自动递增
- `TEXT`:指定`name`列为文本字符串
- `REAL`:指定`price`列为浮点数
- `INTEGER`:指定`quantity`列为整数
### 表格示例
| 列名 | 数据类型 | 主键 | 外键 |
|---|---|---|---|
| id | INTEGER | 是 | 无 |
| name | TEXT | 否 | 无 |
| email | TEXT | 否 | 无 |
| age | INTEGER | 否 | 无 |
### mermaid流程图示例
```mermaid
graph LR
subgraph users
id[INTEGER PRIMARY KEY]
name[TEXT]
email[TEXT]
age[INTEGER]
end
subgraph orders
id[INTEGER PRIMARY KEY]
user_id[INTEGER REFERENCES users(id)]
```
0
0