# 快速生成SQL说明(无需Python环境) ## 方法一:使用SQL模板(最简单) 1. **打开模板文件** - 打开 `courseware_import_template.sql` 文件 2. **获取文件信息** - 打开文件资源管理器,进入目录:`D:/wwwroot/study_web/web/profile/upload/upload/2025/11/18` - 查看每个文件的: - 文件名(包括扩展名) - 文件大小(右键 -> 属性 -> 查看字节数) 3. **填写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`) 4. **执行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行开始): ```excel ="('"&D2&"', '"&C2&"', '"&F2&"', "&B2&", '"&A2&"', "&IF(E2="","NULL",E2)&", NULL, NULL, NULL, 1, NULL, NULL, 'admin', NOW(), '', NULL, NULL)," ``` ### 步骤3:复制SQL语句 1. 复制所有生成的SQL语句 2. 在SQL模板中替换VALUES部分 3. 删除最后一行的逗号 4. 执行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 ```sql SELECT id, subject_name FROM subject; ``` ### 查询用户ID ```sql SELECT user_id, user_name, nick_name FROM sys_user WHERE user_type = '00'; ``` ## 完整示例 假设您有以下文件: - `微积分第一章.mp4` (50MB) - `数学公式.pdf` (2MB) - `课程封面.jpg` (500KB) 生成的SQL如下: ```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); ``` ## 注意事项 1. **文件路径格式**:`/profile/upload/2025/11/18/文件名` - 注意:路径中只有一个 `upload`,不是 `upload/upload` - 如果您的实际web访问路径不同,请相应调整 2. **执行前备份**: ```sql CREATE TABLE courseware_backup AS SELECT * FROM courseware; ``` 3. **验证结果**: ```sql SELECT id, title, type, file_path, file_name, create_time FROM courseware WHERE create_time >= '2025-11-18' ORDER BY create_time DESC; ``` ## 如果文件很多怎么办? 如果文件很多(比如几十个),建议: 1. **使用Excel方法**:在Excel中列出所有文件,使用公式批量生成SQL 2. **分批导入**:每次导入10-20个文件,避免SQL语句过长 3. **使用数据库管理工具**:有些工具支持从CSV导入数据 ## 需要帮助? 如果遇到问题,请检查: - 文件路径是否正确 - 文件大小是否正确(字节数) - 文件类型是否正确(video/document/image) - SQL语法是否正确(注意引号、逗号等)