146 lines
4.8 KiB
Markdown
146 lines
4.8 KiB
Markdown
|
|
# 快速生成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语法是否正确(注意引号、逗号等)
|
|||
|
|
|