guoyu/Study-Vue-redis/快速生成SQL说明.md
2025-12-03 18:58:36 +08:00

4.8 KiB
Raw Blame History

快速生成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行开始

="('"&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

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);

注意事项

  1. 文件路径格式/profile/upload/2025/11/18/文件名

    • 注意:路径中只有一个 upload,不是 upload/upload
    • 如果您的实际web访问路径不同请相应调整
  2. 执行前备份

    CREATE TABLE courseware_backup AS SELECT * FROM courseware;
    
  3. 验证结果

    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语法是否正确注意引号、逗号等