SQLite 创建用户表和智能家居状态表教程
SQLite 创建用户表和智能家居状态表教程
本教程将引导您使用 SQLite 创建用户表和智能家居状态表,并通过外键建立一对一关系,实现一个用户对应一个智能家居状态表的结构。
1. 创建用户表
上述代码将创建一个名为 'users' 的表,包含以下字段:
- `uid`: 用户ID,整型,主键,自动递增。
- `username`: 用户名,可变长度字符串,最大长度为10个字符。
- `passwd`: 密码,可变长度字符串,最大长度为10个字符。
### 2. 插入用户数据
```sqlINSERT INTO users (username, passwd) VALUES ('AA', '123456');INSERT INTO users (username, passwd) VALUES ('B', '121212');
这两行代码将向 'users' 表中插入两条用户数据。
### 3. 创建智能家居状态表
```sqlCREATE TABLE IF NOT EXISTS Status ( sid INTEGER PRIMARY KEY AUTOINCREMENT, uid INTEGER, device_name varchar(10), device_state varchar(10), value REAL, mode varchar(10), FOREIGN KEY (uid) REFERENCES users (uid));
这段代码将创建一个名为 'Status' 的表,包含以下字段:
- `sid`: 状态ID,整型,主键,自动递增。
- `uid`: 用户ID,整型,外键,关联 'users' 表的 'uid' 字段。
- `device_name`: 设备名称,可变长度字符串,最大长度为10个字符。
- `device_state`: 设备状态,可变长度字符串,最大长度为10个字符。
- `value`: 值,浮点型。
- `mode`: 模式,可变长度字符串,最大长度为10个字符。
`FOREIGN KEY (uid) REFERENCES users (uid)` 语句定义了外键约束,确保 'Status' 表中的每个 'uid' 值都必须存在于 'users' 表的 'uid' 字段中,从而实现了一对一的关系。
### 4. 插入智能家居状态数据
```sqlINSERT INTO Status(uid, device_name, device_state, value, mode) VALUES (1, 'Curtains', 'On', 1.1, '睡眠模式');
这行代码将向 'Status' 表中插入一条数据,并将 'uid' 设置为 1,对应 'users' 表中的用户 'AA'。
### 总结
通过以上步骤,您已经成功创建了用户表和智能家居状态表,并通过外键建立了一对一关系。您可以根据实际需求修改表结构和数据,构建更复杂的数据库应用。
原文地址: https://www.cveoy.top/t/topic/fAv4 著作权归作者所有。请勿转载和采集!