# 生成批量更新封面SQL脚本的步骤 ## 方法一:手动生成(推荐) ### 步骤1:查询所有书籍 执行以下SQL查询所有书籍: ```sql SELECT content_id, title, author, cover_url FROM content ORDER BY content_id; ``` ### 步骤2:为每本书找封面 1. 打开浏览器,访问 https://book.douban.com/ 2. 搜索每本书的书名 3. 右键点击封面图片 → "复制图片地址" 4. 或者直接搜索"书名 封面 图片",找到合适的图片URL ### 步骤3:生成更新SQL 根据查询结果,为每本书生成UPDATE语句: ```sql -- 示例:假设查询结果如下 -- content_id | title | author -- 1 | 活着 | 余华 -- 2 | 三体 | 刘慈欣 -- 生成的更新SQL: UPDATE `content` SET `cover_url` = 'https://img3.doubanio.com/view/subject/l/public/s1070959.jpg' WHERE `content_id` = 1; UPDATE `content` SET `cover_url` = 'https://img3.doubanio.com/view/subject/l/public/s2768378.jpg' WHERE `content_id` = 2; ``` ## 方法二:使用Python脚本自动生成(需要Python环境) 创建一个Python脚本来自动生成SQL: ```python # generate_cover_update.py books = [ {"id": 1, "title": "活着", "cover_url": "https://img3.doubanio.com/view/subject/l/public/s1070959.jpg"}, {"id": 2, "title": "三体", "cover_url": "https://img3.doubanio.com/view/subject/l/public/s2768378.jpg"}, # 添加更多书籍... ] sql_statements = [] for book in books: sql = f"UPDATE `content` SET `cover_url` = '{book['cover_url']}' WHERE `content_id` = {book['id']};" sql_statements.append(sql) print("\n".join(sql_statements)) ``` ## 方法三:使用Excel生成 1. 执行查询SQL,导出结果为Excel 2. 在Excel中添加"封面URL"列 3. 填写每本书的封面URL 4. 使用公式生成UPDATE语句: ``` ="UPDATE `content` SET `cover_url` = '"&C2&"' WHERE `content_id` = "&A2&";" ``` 其中A列是content_id,C列是cover_url ## 快速获取封面URL的方法 ### 豆瓣API(如果可用) ``` https://frodo.douban.com/api/v2/search/movie?q=书名 ``` 然后从返回的JSON中找到封面URL ### 常用书籍封面URL格式 - 豆瓣:`https://img3.doubanio.com/view/subject/l/public/图片ID.jpg` - Google Books:`https://books.google.com/books/content?id=书籍ID&printsec=frontcover&img=1` ## 批量更新模板 复制下面的模板,根据你的书籍信息修改: ```sql -- 批量更新封面SQL -- 请根据实际查询结果修改下面的内容 UPDATE `content` SET `cover_url` = 'https://example.com/cover1.jpg' WHERE `content_id` = 1; UPDATE `content` SET `cover_url` = 'https://example.com/cover2.jpg' WHERE `content_id` = 2; UPDATE `content` SET `cover_url` = 'https://example.com/cover3.jpg' WHERE `content_id` = 3; -- ... 继续添加更多书籍 -- 或者使用CASE语句(适用于少量书籍) UPDATE `content` SET `cover_url` = CASE WHEN `content_id` = 1 THEN 'https://example.com/cover1.jpg' WHEN `content_id` = 2 THEN 'https://example.com/cover2.jpg' WHEN `content_id` = 3 THEN 'https://example.com/cover3.jpg' ELSE `cover_url` END WHERE `content_id` IN (1, 2, 3); ```