guoyu/_已清理文件备份_周六 22512/md/快速生成SQL说明.md

146 lines
4.8 KiB
Markdown
Raw Normal View History

2025-12-06 20:11:36 +08:00
# 快速生成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语法是否正确注意引号、逗号等