SQLite 智能家居数据库设计:用户表和状态表创建及数据插入
以下是用 SQLite 建立用户表和智能家居状态表的代码示例:
import sqlite3
# 建立数据库连接
conn = sqlite3.connect('smart_home.db')
c = conn.cursor()
# 创建用户表
c.execute('''CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT,
password TEXT)''')
# 创建智能家居状态表
c.execute('''CREATE TABLE IF NOT EXISTS smart_home_status
(id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER,
home_name TEXT,
home_status TEXT,
value REAL,
mode TEXT,
FOREIGN KEY (user_id) REFERENCES users(id))''')
# 插入用户数据
c.execute("INSERT INTO users (username, password) VALUES ('user1', 'password1')")
c.execute("INSERT INTO users (username, password) VALUES ('user2', 'password2')")
# 获取用户ID
user1_id = c.lastrowid
# 插入智能家居状态数据
c.execute("INSERT INTO smart_home_status (user_id, home_name, home_status, value, mode) VALUES (?, ?, ?, ?, ?)",
(user1_id, 'Living Room', 'On', 25, 'Auto'))
# 提交更改并关闭连接
conn.commit()
conn.close()
这段代码创建了两个表:'users' 和 'smart_home_status'。'users' 表包含 'id'、'username' 和 'password' 字段,'smart_home_status' 表包含 'id'、'user_id'、'home_name'、'home_status'、'value' 和 'mode' 字段。'user_id' 字段在 'smart_home_status' 表中用作外键,连接到 'users' 表的 'id' 字段。
代码中插入了两个用户的数据,并且为第一个用户插入了一条智能家居状态数据。你可以根据需要修改插入的数据。
原文地址: https://www.cveoy.top/t/topic/fAvE 著作权归作者所有。请勿转载和采集!