WordPress和Typecho文章内容批量替换文字的方法

sql.webp

WordPress 存放文章的数据表名 wp_posts ,字段名称为 post_content

WordPress数据库替换SQL语句

UPDATE wp_posts SET post_content = replace(post_content,'旧词语','新词语');

UPDATE wp_posts SET post_content = replace(post_content,'https://lyvba.com','https://us.lyvba.com');
/* 受影响记录行数: 4  已找到记录行: 0  警告: 0  持续时间 1 查询: 0.015 秒. */

Typecho 存放文章的数据表名 typecho_contents ,字段名称为 text

Typecho数据库替换SQL语句

UPDATE typecho_contents SET text = replace(text,'旧词语','新词语');

UPDATE typecho_contents SET text = replace(text,'https://lyvba.com','https://us.lyvba.com');
/* 受影响记录行数: 584  已找到记录行: 0  警告: 0  持续时间 1 查询: 0.000 秒. (+ 0.031 秒. 网络) */

Python脚本 sqlite3_sql_replace.py 用来执行简单的SQL语句也很方便

import sqlite3
conn = sqlite3.connect('example.db')

# 创建一个 Cursor 游标对象,然后调用它的 execute() 方法来执行 SQL 语句:
c = conn.cursor()

# Typecho SQLite3 数据库替换SQL语句
c.execute("UPDATE typecho_contents SET text = replace(text,'https://lyvba.com','https://us.lyvba.com')")

# Save (commit) the changes  和 关闭数据库连接
conn.commit()
conn.close()
  • SELECT 查询文章信息

    # 查询文章指定类型post,按cid反序,限定5行
    for row in c.execute('SELECT * FROM typecho_contents where type="post" ORDER BY cid desc  LIMIT 5'):
      print(row)
    
    # 查询文章,按text序,限定20行
    for row in c.execute('SELECT * FROM typecho_contents ORDER BY text LIMIT 20'):
      print(row[0],row[1])
分类: 学习编程

0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注