4.8 KiB
4.8 KiB
快速生成SQL说明(无需Python环境)
方法一:使用SQL模板(最简单)
-
打开模板文件
- 打开
courseware_import_template.sql文件
- 打开
-
获取文件信息
- 打开文件资源管理器,进入目录:
D:/wwwroot/study_web/web/profile/upload/upload/2025/11/18 - 查看每个文件的:
- 文件名(包括扩展名)
- 文件大小(右键 -> 属性 -> 查看字节数)
- 打开文件资源管理器,进入目录:
-
填写SQL
- 复制模板中的一行
- 根据实际文件信息修改:
title:课件标题(使用文件名,去掉扩展名)type:文件类型('video'/'document'/'image')file_path:文件路径(格式:/profile/upload/2025/11/18/文件名)file_size:文件大小(字节)file_name:原始文件名subject_id:学科ID(不知道填NULL)upload_user_id:上传人ID(管理员通常是1)
-
执行SQL
- 在数据库管理工具中执行修改后的SQL
方法二:使用Excel生成SQL(推荐,适合文件较多)
步骤1:在Excel中列出文件信息
创建一个Excel表格,包含以下列:
| 文件名 | 文件大小(字节) | 类型 | 标题 | 学科ID | 文件路径 |
|---|---|---|---|---|---|
| 微积分第一章.mp4 | 52428800 | video | 微积分第一章 | 2 | /profile/upload/2025/11/18/微积分第一章.mp4 |
| 数学公式.pdf | 2097152 | document | 数学公式 | 2 | /profile/upload/2025/11/18/数学公式.pdf |
步骤2:使用Excel公式生成SQL
在Excel中添加一列"SQL语句",使用以下公式(假设数据从第2行开始):
="('"&D2&"', '"&C2&"', '"&F2&"', "&B2&", '"&A2&"', "&IF(E2="","NULL",E2)&", NULL, NULL, NULL, 1, NULL, NULL, 'admin', NOW(), '', NULL, NULL),"
步骤3:复制SQL语句
- 复制所有生成的SQL语句
- 在SQL模板中替换VALUES部分
- 删除最后一行的逗号
- 执行SQL
方法三:使用在线工具
可以使用在线SQL生成工具,例如:
- 搜索"SQL INSERT语句生成器"
- 输入字段和值,自动生成SQL
快速参考
文件类型判断
- video(视频):mp4, avi, mov, wmv, flv, mkv, webm, m4v, 3gp
- document(文档):doc, docx, xls, xlsx, ppt, pptx, txt, pdf
- image(图片):jpg, jpeg, png, gif, bmp, webp
文件大小转换
- 1 KB = 1024 字节
- 1 MB = 1024 KB = 1048576 字节
- 1 GB = 1024 MB = 1073741824 字节
查看文件大小(字节)的方法:
- Windows:右键文件 -> 属性 -> 查看"大小"(字节)
- 或者:文件大小(MB)× 1048576 = 字节数
查询学科ID
SELECT id, subject_name FROM subject;
查询用户ID
SELECT user_id, user_name, nick_name FROM sys_user WHERE user_type = '00';
完整示例
假设您有以下文件:
微积分第一章.mp4(50MB)数学公式.pdf(2MB)课程封面.jpg(500KB)
生成的SQL如下:
INSERT INTO `courseware` (
`title`, `type`, `file_path`, `file_size`, `file_name`,
`subject_id`, `grade`, `course_id`, `class_id`, `upload_user_id`,
`description`, `duration`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`
) VALUES
('微积分第一章', 'video', '/profile/upload/2025/11/18/微积分第一章.mp4', 52428800, '微积分第一章.mp4', 2, NULL, NULL, NULL, 1, NULL, NULL, 'admin', NOW(), '', NULL, NULL),
('数学公式', 'document', '/profile/upload/2025/11/18/数学公式.pdf', 2097152, '数学公式.pdf', 2, NULL, NULL, NULL, 1, NULL, NULL, 'admin', NOW(), '', NULL, NULL),
('课程封面', 'image', '/profile/upload/2025/11/18/课程封面.jpg', 512000, '课程封面.jpg', 2, NULL, NULL, NULL, 1, NULL, NULL, 'admin', NOW(), '', NULL, NULL);
注意事项
-
文件路径格式:
/profile/upload/2025/11/18/文件名- 注意:路径中只有一个
upload,不是upload/upload - 如果您的实际web访问路径不同,请相应调整
- 注意:路径中只有一个
-
执行前备份:
CREATE TABLE courseware_backup AS SELECT * FROM courseware; -
验证结果:
SELECT id, title, type, file_path, file_name, create_time FROM courseware WHERE create_time >= '2025-11-18' ORDER BY create_time DESC;
如果文件很多怎么办?
如果文件很多(比如几十个),建议:
- 使用Excel方法:在Excel中列出所有文件,使用公式批量生成SQL
- 分批导入:每次导入10-20个文件,避免SQL语句过长
- 使用数据库管理工具:有些工具支持从CSV导入数据
需要帮助?
如果遇到问题,请检查:
- 文件路径是否正确
- 文件大小是否正确(字节数)
- 文件类型是否正确(video/document/image)
- SQL语法是否正确(注意引号、逗号等)