| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- # -*- coding: utf-8 -*-
- """初始化 MySQL 题库数据(与 FastAPI 后端共用)"""
- import sys
- import os
- _root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
- sys.path.insert(0, _root)
- from backend.database import SessionLocal
- from backend.models import Question
- DATA = [
- ("下列物质中,不属于电解质的是?", "NaCl", "CH₃COOH", "Cu (金属铜)", "NaOH", "C", "电解质"),
- ("下列关于化学反应速率的说法正确的是?", "反应速率是指反应物浓度的减少", "反应速率是指生成物浓度的增加",
- "反应速率可以用单位时间内反应物浓度的减少来表示", "反应速率与反应物的性质无关", "C", "化学反应速率"),
- ("下列属于氧化还原反应的是?", "CaCO₃ 高温分解", "NaOH + HCl = NaCl + H₂O",
- "2H₂ + O₂ 点燃 2H₂O", "AgNO₃ + NaCl = AgCl↓ + NaNO₃", "C", "氧化还原反应"),
- ("物质的量的单位是?", "g", "mol", "L", "m³", "B", "物质的量"),
- ("元素周期表中,同周期元素从左到右,原子半径变化规律是?", "逐渐增大", "逐渐减小",
- "先增大后减小", "不变", "B", "元素周期律"),
- ("下列物质能在氧气中燃烧并产生大量白烟的是?", "碳", "硫", "磷", "铁丝", "C", "氧气性质"),
- ("原子核由什么组成?", "质子和电子", "质子和中子", "中子和电子", "质子、中子和电子", "B", "原子结构"),
- ("酸溶液能使紫色石蕊试液变?", "红色", "蓝色", "无色", "紫色", "A", "酸碱指示剂"),
- ("催化剂在化学反应中的作用是?", "增加反应物", "减少生成物", "改变化学反应速率", "改变反应条件", "C", "催化剂"),
- ("离子反应发生的条件是?", "有沉淀、气体或水生成", "有催化剂", "加热", "加压", "A", "离子反应"),
- ]
- def main():
- db = SessionLocal()
- if db.query(Question).first():
- print("题库已有数据,跳过")
- db.close()
- return
- for content, a, b, c, d, correct, kp in DATA:
- db.add(Question(content=content, option_a=a, option_b=b, option_c=c, option_d=d, correct_option=correct, knowledge_point=kp))
- db.commit()
- db.close()
- print("已插入 %d 道题目" % len(DATA))
- if __name__ == "__main__":
- main()
|