Files
python----/数据库/本地/视频平台添加课程.ipynb
T
admin aac9f5934d feat: 添加多个功能模块和工具脚本
- 新增websocket客户端和服务端实现
- 添加图片压缩工具和快速压缩脚本
- 实现学生信息处理相关API
- 添加MQTT客户端和消息处理功能
- 更新.gitignore忽略更多文件类型
- 添加数据库操作工具和示例
- 实现多个测试脚本和工具类
2026-04-13 14:47:50 +08:00

21 KiB

In [1]:
import pymysql
import snowflake
from faker import Faker
import random
import datetime
fake = Faker('zh_CN')
import random
# 创建数据库连接
connection = pymysql.connect(
host='192.168.0.244',
port=3306,
user='root',
password='Abcd@123456',
database='hongxx_video',
charset='utf8'
)
# 创建游标对象
cursor = connection.cursor()
In [2]:
def create_table(cursor,result):
    
    data = []
    for i in result:
        list_list = list(i)
        des=cursor.description  # 获取表详情,字段名,长度,属性等
        t = ",".join([item[0] for item in des])
        table_head = t.split(',')  # # 查询表列名 用,分割
    
        dict_result = dict(zip(table_head, list_list))  # 打包为元组的列表 再转换为字典
        data.append(dict_result)  # 将字典添加到list_result中
    return data
In [10]:
import datetime
for i in range(3):
    id = 301 + i
    grade_name = f'{i+1}'
    sort = i+1
    status = 1
    create_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    update_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    dept_id = 0
    stage_id = 1
    sql=f'INSERT INTO `hongxx_video`.`sys_grade` (`id`, `grade_name`, `sort`, `status`, `create_time`, `update_time`, `dept_id`, `stage_id`) VALUES ({id}, "{grade_name}", {sort}, {status}, "{create_time}", "{update_time}", {dept_id}, {stage_id})'
    cursor.execute(sql)
---------------------------------------------------------------------------
IntegrityError                            Traceback (most recent call last)
Cell In[10], line 12
     10 stage_id = 1
     11 sql=f'INSERT INTO `hongxx_video`.`sys_grade` (`id`, `grade_name`, `sort`, `status`, `create_time`, `update_time`, `dept_id`, `stage_id`) VALUES ({id}, "{grade_name}", {sort}, {status}, "{create_time}", "{update_time}", {dept_id}, {stage_id})'
---> 12 cursor.execute(sql)

File d:\Anaconda3\Lib\site-packages\pymysql\cursors.py:153, in Cursor.execute(self, query, args)
    149     pass
    151 query = self.mogrify(query, args)
--> 153 result = self._query(query)
    154 self._executed = query
    155 return result

File d:\Anaconda3\Lib\site-packages\pymysql\cursors.py:322, in Cursor._query(self, q)
    320 conn = self._get_db()
    321 self._clear_result()
--> 322 conn.query(q)
    323 self._do_get_result()
    324 return self.rowcount

File d:\Anaconda3\Lib\site-packages\pymysql\connections.py:563, in Connection.query(self, sql, unbuffered)
    561     sql = sql.encode(self.encoding, "surrogateescape")
    562 self._execute_command(COMMAND.COM_QUERY, sql)
--> 563 self._affected_rows = self._read_query_result(unbuffered=unbuffered)
    564 return self._affected_rows

File d:\Anaconda3\Lib\site-packages\pymysql\connections.py:825, in Connection._read_query_result(self, unbuffered)
    823 else:
    824     result = MySQLResult(self)
--> 825     result.read()
    826 self._result = result
    827 if result.server_status is not None:

File d:\Anaconda3\Lib\site-packages\pymysql\connections.py:1199, in MySQLResult.read(self)
   1197 def read(self):
   1198     try:
-> 1199         first_packet = self.connection._read_packet()
   1201         if first_packet.is_ok_packet():
   1202             self._read_ok_packet(first_packet)

File d:\Anaconda3\Lib\site-packages\pymysql\connections.py:775, in Connection._read_packet(self, packet_type)
    773     if self._result is not None and self._result.unbuffered_active is True:
    774         self._result.unbuffered_active = False
--> 775     packet.raise_for_error()
    776 return packet

File d:\Anaconda3\Lib\site-packages\pymysql\protocol.py:219, in MysqlPacket.raise_for_error(self)
    217 if DEBUG:
    218     print("errno =", errno)
--> 219 err.raise_mysql_exception(self._data)

File d:\Anaconda3\Lib\site-packages\pymysql\err.py:150, in raise_mysql_exception(data)
    148 if errorclass is None:
    149     errorclass = InternalError if errno < 1000 else OperationalError
--> 150 raise errorclass(errno, errval)

IntegrityError: (1062, "Duplicate entry '301' for key 'sys_grade.PRIMARY'")
In [5]:
result = cursor.fetchall()
In [5]:
connection.commit()
In [6]:
import random
subject =  [ "语文", "数学", "英语", "物理", "化学", "生物", 
    "历史", "地理", "政治", "道德与法治", "科学", 
    "音乐", "美术", "体育", "信息技术", "通用技术",
    "劳动技术", "综合实践活动", "心理健康", "书法"]
grades = [101,102,103,104,105,106,201,202,203,301,302,303]
for i in range(20):
    grade_id = random.choice(grades)
    subject_name = random.choice(subject)
    sql = f'INSERT INTO `hongxx_video`.`sys_subject` ( `subject_name`, `sort`, `status`, `create_time`, `update_time`, `dept_id`, `grade_id`) VALUES ( "{subject_name}", {i}, 1, "2025-12-23 11:24:38", "2025-12-23 11:24:41", 0, {grade_id});'   
    cursor.execute(sql)
In [4]:
sql = "select id from sys_subject"
cursor.execute(sql)
rows = cursor.fetchall()
print(rows)
((1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,), (10,), (11,), (12,), (13,), (14,), (15,), (16,), (17,), (18,), (19,), (20,), (21,))
In [2]:
courses = [
    # 编程与计算机科学
    "Python编程入门", "Python高级编程", "Python数据分析", "Python爬虫开发", "Python机器学习",
    "Python深度学习", "Python自动化办公", "Python网络编程", "Python游戏开发", "Python图像处理",
    "Python自然语言处理", "Python金融分析", "Python量化交易", "Python测试开发", "Python Web开发",
    "Java基础课程", "Java企业级开发", "Java并发编程", "Java微服务架构", "Java性能优化",
    "C++从入门到精通", "C++游戏开发", "C++高性能计算", "Go语言编程", "Go微服务开发",
    "Rust系统编程", "Swift移动开发", "Kotlin安卓开发", "JavaScript基础", "TypeScript进阶",
    "Vue.js前端开发", "React全栈开发", "Node.js后端开发", "Angular企业级应用", "微信小程序开发",
    
    # 数据科学与人工智能
    "数据分析基础", "数据可视化", "数据挖掘", "大数据技术", "Hadoop生态圈",
    "Spark实时计算", "SQL与数据库", "NoSQL数据库", "数据仓库设计", "数据治理",
    "机器学习基础", "深度学习原理", "计算机视觉", "语音识别技术", "推荐系统",
    "强化学习", "生成式AI", "大语言模型应用", "AIGC创作", "AI绘画",
    "统计学基础", "概率论应用", "线性代数与AI", "微积分在AI中的应用", "优化算法",
    
    # 前端与移动开发
    "HTML5与CSS3", "响应式网页设计", "前端工程化", "Webpack配置", "前端性能优化",
    "React Native开发", "Flutter跨平台开发", "iOS原生开发", "Android原生开发", "鸿蒙应用开发",
    "Electron桌面应用", "小程序云开发", "前端安全", "PWA渐进式Web应用", "Three.js 3D开发",
    
    # 后端与云计算
    "Linux系统管理", "Shell脚本编程", "Docker容器技术", "Kubernetes编排", "DevOps实践",
    "CI/CD流水线", "微服务架构", "分布式系统", "高并发系统设计", "系统架构师",
    "AWS云计算", "Azure云服务", "阿里云实战", "腾讯云应用", "云原生架构",
    "Nginx配置优化", "Redis缓存技术", "消息队列", "Elasticsearch搜索", "MySQL优化",
    
    # 网络安全
    "网络安全基础", "渗透测试入门", "Web安全攻防", "漏洞挖掘与利用", "逆向工程",
    "密码学原理", "安全开发规范", "应急响应", "安全合规", "红蓝对抗",
    
    # 学术与教育
    "高等数学", "线性代数", "概率论与数理统计", "离散数学", "复变函数",
    "大学物理", "理论力学", "电动力学", "量子力学", "热力学与统计物理",
    "普通化学", "有机化学", "分析化学", "物理化学", "结构化学",
    "细胞生物学", "分子生物学", "遗传学", "生物化学", "生态学",
    "中国文学史", "外国文学", "比较文学", "古代汉语", "现代汉语",
    "世界历史", "中国通史", "考古学概论", "文物鉴赏", "博物馆学",
    
    # 语言学习
    "大学英语四级", "大学英语六级", "托福备考", "雅思冲刺", "GRE强化",
    "日语入门", "日语N1", "韩语基础", "法语初级", "德语入门",
    "西班牙语A1", "俄语基础", "阿拉伯语入门", "葡萄牙语", "意大利语",
    "商务英语", "学术英语写作", "英语口语强化", "英语演讲与辩论", "翻译技巧",
    
    # 艺术与设计
    "素描基础", "色彩构成", "油画技法", "国画山水", "书法艺术",
    "平面设计", "UI设计基础", "UX用户体验", "交互设计", "动效设计",
    "摄影基础", "人像摄影", "风光摄影", "影视后期", "视频剪辑",
    "音乐理论", "钢琴入门", "吉他弹唱", "声乐训练", "作曲基础",
    "舞蹈基础", "芭蕾舞", "现代舞", "街舞", "民族舞",
    
    # 商业与金融
    "经济学原理", "微观经济学", "宏观经济学", "计量经济学", "产业经济学",
    "金融学基础", "投资学", "公司金融", "金融市场", "行为金融学",
    "会计学原理", "财务管理", "审计学", "税务筹划", "成本会计",
    "管理学原理", "市场营销", "人力资源管理", "战略管理", "组织行为学",
    "创业基础", "商业计划书撰写", "风险投资", "商业模式创新", "企业融资",
    
    # 职业技能
    "Office办公软件", "Excel高级应用", "PPT设计技巧", "Word排版艺术", "项目管理",
    "时间管理", "有效沟通", "团队协作", "领导力培养", "演讲与表达",
    "商务礼仪", "职场英语", "简历制作", "面试技巧", "职业规划",
    
    # 生活技能与兴趣爱好
    "烹饪基础", "中式烹饪", "西点制作", "咖啡拉花", "茶艺品鉴",
    "葡萄酒鉴赏", "调酒艺术", "花艺设计", "园艺种植", "宠物饲养",
    "健身训练", "瑜伽入门", "普拉提", "拳击训练", "游泳技巧",
    "篮球基础", "足球训练", "网球入门", "羽毛球", "乒乓球",
    "围棋入门", "国际象棋", "桥牌", "德州扑克", "魔术技巧",
    
    # 考试与认证
    "公务员考试行测", "公务员考试申论", "事业单位考试", "教师资格证考试", "司法考试",
    "注册会计师CPA", "特许金融分析师CFA", "金融风险管理师FRM", "项目管理PMP", "信息系统项目管理师",
    
    # 新兴技术
    "区块链技术", "智能合约开发", "Web3.0应用", "元宇宙概念", "数字藏品",
    "物联网技术", "嵌入式开发", "机器人编程", "无人机控制", "3D打印技术",
    "自动驾驶技术", "新能源汽车", "虚拟现实VR", "增强现实AR", "混合现实MR",
    
    # 其他
    "逻辑思维训练", "批判性思维", "创意写作", "公共演讲", "辩论技巧",
    "儿童编程启蒙", "青少年机器人", "老年智能手机", "家庭教育", "心理学基础",
    "营养学基础", "中医养生", "急救知识", "防灾减灾", "野外生存"
]
In [5]:
for i in range(200):
    course = random.choice(courses)
    subject_id = random.choice(range(1,21))
    now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    sql = f'INSERT INTO `hongxx_video`.`video_chapter` ( `chapter_name`, `parent_id`, `teacher_id`, `sort`, `status`, `create_time`, `update_time`, `dept_id`, `subject_id`) VALUES ( "{course}", 0, 0, 0, 1, "{now}", "{now}", 0, {subject_id});'
    cursor.execute(sql)
In [ ]:
connection.commit()
在当前单元格或上一个单元格中执行代码时 Kernel 崩溃。

请查看单元格中的代码,以确定故障的可能原因。

单击<a href='https://aka.ms/vscodeJupyterKernelCrash'>此处</a>了解详细信息。

有关更多详细信息,请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。
In [ ]: