Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 339

Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 392

Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 394
Joyber 的博客

一、MySQL 重命名表

语法

-- 方式1(通用)
ALTER TABLE 旧表名 RENAME TO 新表名;

-- 方式2(跨库也可用,推荐)
RENAME TABLE 旧表名 TO 新表名;

示例

原表 user,改名为 user_old

ALTER TABLE `user` RENAME TO `user_old`;

二、复制原表结构(空表,仅结构、索引、字段,不复制数据

-- 语法
CREATE TABLE 新表名 LIKE 源表名;

-- 示例:创建和 user_old 结构完全一致的新表 user
CREATE TABLE `user` LIKE `user_old`;

三、如果需要连数据一起复制(结构+数据全量克隆)

-- 结构 + 数据 一起复制
CREATE TABLE 新表名 SELECT * FROM 源表名;

完整流程示例(常用场景:旧表改名 + 新建同结构空表)

-- 1. 把原有业务表改名备份
ALTER TABLE `test_table` RENAME TO `test_table_bak`;

-- 2. 创建一张和原表结构完全相同的新空表
CREATE TABLE `test_table` LIKE `test_table_bak`;

补充说明

  1. LIKE 方式会完整复制字段、数据类型、主键、索引、默认值、注释,不会复制数据;
  2. 执行前建议先锁表/停业务,避免数据写入导致不一致;
  3. 表名建议用反引号 ` 包裹,防止和关键字冲突。

关于 ALTER TABLE 和 RENAME TABLE 这两种语法的区别,速度和原理是否一样:

-- 方式1(通用)
ALTER TABLE 旧表名 RENAME TO 新表名;

-- 方式2(跨库也可用,推荐)

两种表改名语法:区别、原理、速度

一、核心结论

底层原理、执行速度基本一致,都是元数据级操作(瞬间完成,不改动表数据),主要差异在语法能力、使用场景、语法规范


二、详细区别

1. 语法与标准归属

  1. ALTER TABLE 旧名 RENAME TO 新名

    • 属于 ALTER TABLE 子语法,是 SQL 标准衍生写法。
    • 仅支持单表改名不能跨数据库
    • 语法语义:修改表的名称属性。
  2. RENAME TABLE 旧名 TO 新名

    • MySQL 专属扩展语法,功能更强。
    • 支持单表 / 多表批量改名跨数据库迁移表
    • 多表示例:

      RENAME TABLE t1 TO t1_bak, t2 TO t2_bak;
    • 跨库示例(把 db1.tbl 移到 db2 并重命名):

      RENAME TABLE db1.tbl TO db2.tbl_new;

2. 权限要求

  • 两者都需要原表的 ALTER 权限。
  • 跨库使用 RENAME TABLE 时,需要目标库的 CREATE 权限

3. 锁机制 & 并发(InnoDB)

两者在 InnoDB 下行为一致:

  • 均为元数据操作,仅修改数据字典、文件映射,不拷贝行数据
  • 执行时会加 MDL 元数据锁,短时间阻塞 DDL/DML,锁持有时间极短。
  • 不存在 IO 读写,速度完全相同,都是毫秒级。

4. 兼容性

  • ALTER TABLE ... RENAME:兼容更多数据库(MariaDB、部分其他SQL库),通用性更好。
  • RENAME TABLE纯 MySQL 专用,其他数据库不识别。

三、原理(完全一致)

MySQL 表名本质只是数据字典里的标识,同时对应磁盘上 .frm.ibd 等文件名称:

  1. 两种语法都不遍历、不迁移表内数据
  2. 仅修改:数据字典记录 + 磁盘上表相关文件名称;
  3. InnoDB 共享表空间/独立表空间,行为无区别。

四、使用场景建议

  1. 同库、单表、追求通用兼容 → 用 ALTER TABLE ... RENAME TO
  2. 跨库、批量改表名、MySQL 专属环境 → 优先 RENAME TABLE
  3. 速度不用纠结:二者性能无差异
    RENAME TABLE 旧表名 TO 新表名;

实战:备份日志表并创建新的日志表,用到变量、动态SQL执行

-- 定义变量:拼接 表名_年月日
SET @old_tb = 'sp_log';
SET @suffix = DATE_FORMAT(CURDATE(), '%Y%m%d');
SET @bak_tb = CONCAT(@old_tb, '_', @suffix);

-- 2. 第一条:重命名旧表
SET @sql1 = CONCAT('RENAME TABLE `', @old_tb, '` TO `', @bak_tb, '`;');
PREPARE stmt1 FROM @sql1;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;

-- 3. 第二条:新建同结构空表
SET @sql2 = CONCAT('CREATE TABLE `', @old_tb, '` LIKE `', @bak_tb, '`;');
PREPARE stmt2 FROM @sql2;
EXECUTE stmt2;
DEALLOCATE PREPARE stmt2;

如果你尝试将两条SQL放到一个预定义语句中执行,将喜提一个报错:
报错原因
MySQL 一条预处理语句里不能同时放两条独立 SQL(RENAME + CREATE 写在同一个字符串里),解析时直接语法报错。
预处理 PREPARE 单次只支持单条 SQL 语句。

  SET @sql = CONCAT(
    'RENAME TABLE `', @old_tb, '` TO `', @bak_tb, '`;',
    'CREATE TABLE `', @old_tb, '` LIKE `', @bak_tb, '`;'
  );

  PREPARE stmt FROM @sql;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;

先把结论说清楚:
Edge 149+(2026 最新版)已经把“关闭圆角”的官方开关和 flags 都删掉了。下面给你目前能用的几种办法,从简单到进阶。


一、先看你有没有“外观 → 圆角”开关(旧版有效)

  1. 打开 Edge → 右上角「⋯」→ 设置
  2. 左侧 外观
  3. 找找有没有 圆角 / 全新外观 开关,有的话直接关掉、重启即可。

新版(149.x)这里已经没有了。


二、edge://flags 关闭圆角(149 以前有效,新版已移除)

  1. 地址栏输入:

    edge://flags
  2. 搜索:

    rounded
  3. 找到 Microsoft Edge rounded corners,设为 Disabled
  4. 点右下角 Restart 重启浏览器。

⚠️ 149.0.4022.52+ 这个 flag 已经被微软删掉,找不到了


三、最新版临时方案:用启动参数关闭新外观(有效

  1. 关闭所有 Edge 窗口
  2. 找到桌面/开始菜单的 Edge 图标 → 右键 → 属性
  3. 在「目标」框最后,加一个空格,再粘贴:

    --disable-features=msFeatureGroupNewLookAndFeelHoldout

    示例:

    "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --disable-features=msFeatureGroupNewLookAndFeelHoldout
  4. 确定,重新打开 Edge。

这个能把新的圆角/白边外观关掉,恢复接近直角的样式。


四、终极方案(长期)

微软从 149 开始强制圆角设计,后续可能连启动参数也会失效。
你可以:

  • 用上面的启动参数临时解决
  • 或者改用 Chrome / 国产浏览器(没有这个强制圆角)
  • 在 Edge 里按 Alt+Shift+I 反馈,要求加回开关

Scrapling(d4vinci/Scrapling)项目详解

一句话:一体化智能Python爬虫库,主打【自适应防改版+内置反爬+JS渲染三合一】,替代 requests+bs4+playwright+反爬工具组合

一、项目是做什么的

核心定位

原生整合请求、反爬绕过、JS渲染、DOM解析、自适应选择器、分布式爬虫全套能力,不用手动拼装多类第三方库,解决两大爬虫痛点:

  1. 网站改版选择器失效:独有自适应算法,首次抓取记录元素特征,后续页面改class/HTML结构,开启adaptive=True自动重新定位数据,不用改爬虫代码;
  2. Cloudflare、人机验证、指纹封禁:内置三层请求引擎,开箱绕过主流反爬,不用额外配置代理指纹、无头浏览器隐藏特征。

三层抓取引擎(按需切换)

引擎底层能力适用场景
Fetchercurl_cffiTLS指纹伪装、普通http静态页面、无反爬站点(最快)
StealthyFetcherCamoufox魔改火狐原生过Cloudflare Turnstile、浏览器指纹带CF防护、轻量动态页面
DynamicFetcherPlaywright-Chromium完整JS渲染、SPA异步加载前端渲染、大量AJAX网站

附加能力

  1. 解析兼容:同时支持CSS/XPath/bs4语法,写法贴近BeautifulSoup、Scrapy Parsel,迁移成本极低;解析速度约bs4的800倍,对标lxml/Scrapy性能;
  2. 类Scrapy爬虫骨架:Spider爬虫类、异步并发、断点续爬、自动代理轮换、分页调度,可快速做全站爬虫;
  3. CLI命令行:不用写Python代码,终端直接scrapling extract 网址 输出.md导出数据;自带scrapling shell交互式调试;
  4. MCP协议接入AI:可对接Cursor/Claude等AI Agent,和你前面看的agency-agents-zh智能体项目联动,AI自动调用爬虫抓网页数据。

二、使用门槛(分3档,新手友好度高)

环境底线:Python≥3.10,Windows/Mac/Linux全平台可用

1、零代码/命令行使用(门槛★☆☆☆☆,零基础)

只用终端命令,不用写Python:

# 最简安装
pip install scrapling
# 全功能安装(含浏览器、反爬全套)
pip install "scrapling[all]"
# 自动下载依赖浏览器
scrapling install
# 终端直接爬取导出
scrapling extract https://xxx.com save.md

适合:非开发,临时抓页面内容、导出表格

2、单行代码简易爬虫(门槛★★☆☆☆,会基础Python即可)

几行代码完成带反爬+自适应抓取,兼容老bs4写法:

from scrapling.fetchers import StealthyFetcher
# 开启自适应,网站改版自动找元素
page = StealthyFetcher.fetch("目标网址",adaptive=True)
# css选择器提取,就算页面改样式也能抓到
titles = page.css(".title",auto_save=True)

适合:爬虫新手、日常零散数据抓取,替代requests+bs4

3、大型全站爬虫/二次开发(门槛★★★☆☆,有爬虫基础)

用内置Spider写批量并发爬虫、配置代理池、自定义自适应规则、对接私有代理服务,需要懂异步、爬虫调度,对标Scrapy学习成本,但配置更简单。

三、优缺点&适用人群

优点

  1. 不用折腾环境:一键装好浏览器与反爬依赖,告别Playwright驱动、cf-bypass环境配置难题;
  2. 维护成本极低:自适应选择器大幅减少因前端改版反复改代码;
  3. 全场景通吃:静态/动态/高反爬网站一套库搞定。

    缺点

  4. 全量安装会自动下载Chromium/Firefox二进制包,国内网络偶尔下载缓慢;
  5. 内存开销:DynamicFetcher启动真实浏览器,批量爬取占用高于纯http库。

适用人群

  1. 爬虫新手:不想折腾多库组合,一套代码抓各类网站;
  2. 数据运营:用CLI快速抓取电商、资讯数据;
  3. AI开发者:搭配agency-agents智能体,让AI自动联网爬取实时网页;
  4. 爬虫工程师:替换老旧requests+selenium项目,降低维护成本。

补充:和你上一个项目联动

agency-agents-zh里的爬虫工程师Agent可以直接调用Scrapling,AI自动生成爬虫代码、执行网页抓取,是当下AI+爬虫主流搭配方案。

jnMetaCode/agency-agents-zh 项目说明

一、项目是做什么的

agency-agents-zh 是原版英文 Agency-Agents 的中文本地化开源项目(中文AI专家智能体角色库),由国内社区jnMetaCode维护,核心是211个行业专属AI智能体角色配置,打造一站式AI专家团队,替代零散通用提示词:

  1. 角色构成:165个原版英文角色完整汉化 + 46个国内本土定制角色,覆盖18大领域部门:软件开发(前后端、测试、安全、DBA)、产品设计、市场营销、新媒体、金融、跨境电商、政务、医疗合规等;本土角色包含小红书/抖音/B站/微信/飞书/钉钉运营、国内电商操盘等独有角色。
  2. 角色设计区别于普通提示词:每个智能体自带人设定位、标准化工作流程、固定交付格式、成果验收指标,不是简单一句“你是XX专家”,AI被激活后会严格按行业规范输出内容(如前端Agent输出规范工程代码、小红书运营Agent输出完整选题+文案+投放方案)。
  3. 工具兼容:原生适配16款主流AI代码/对话工具:Cursor、Claude Code、GitHub Copilot、Aider、OpenClaw、Qwen Code等AI编程软件,一键安装即可在对应软件里随时切换专家角色。
  4. 两大使用模式

    • 简易用法:直接复制项目内md格式角色文案,粘贴到大模型(GPT/文心/通义千问/Ollama本地大模型)提示词框使用;
    • 深度集成:运行项目自带shell脚本,自动把全部角色批量部署到本地AI工具,自然语言指令激活XX专家即可切换身份,多智能体还能组队分工协作完成复杂任务(如产品→开发→测试流水线)。

二、使用门槛(分两种使用场景,整体门槛偏低)

1. 极简使用(纯复制提示词,零基础可用|门槛★☆☆☆☆)

不用安装环境、不用代码,打开项目角色文档,挑需要的角色md全文复制,粘贴到任意大模型对话框即可使用。普通人、文案/运营/产品无编程基础也能上手,适合临时写方案、文案、需求文档。

2. 一键集成安装(部署到Cursor/Claude等AI工具|门槛★★☆☆☆)

基础安装步骤(仅2-3行命令)

git clone https://github.com/jnMetaCode/agency-agents-zh
cd agency-agents-zh
# 自动检测本地已装AI工具,交互式安装角色
./scripts/install.sh
  • Windows/Mac/Linux全平台通用,仅需基础电脑操作、会打开终端输命令即可,脚本自动识别本地已安装的Cursor/Claude等软件,不用手动找目录;也可指定单工具安装:./scripts/install.sh --tool cursor
  • 前置条件:提前装好目标AI软件(如Cursor),不需要Python、开发知识

3. 高阶开发(自定义角色、搭建多Agent协作系统|门槛★★★☆☆)

如需新增自定义行业智能体、对接私有大模型API、用多智能体自动跑业务流水线:需要基础Python知识、了解大模型API调用规则,适合程序员、AI二次开发人员。

补充成本

项目代码、角色资源完全免费开源,唯一自费项:使用云端大模型(GPT/Claude等)需自备对应API Key;用Ollama本地开源大模型(Llama/Qwen)可零成本全功能使用。

三、适用人群

  • 普通从业者:运营、产品、文案、设计师(复制提示词即用);
  • 程序员:前端/后端/测试,搭配Cursor/Copilot提升编码、评审效率;
  • AI爱好者:本地部署Ollama+本项目,自建专属AI工作团队。