Canal监听常见DDL操作格式

1.新建库

复制代码
{
  "data": null,
  "database": "",
  "es": 1636948085000,
  "id": 1743,
  "isDdl": true,
  "mysqlType": null,
  "old": null,
  "pkNames": null,
  "sql": "CREATE DATABASE `ddl_test` CHARACTER SET \u0027utf8\u0027 COLLATE \u0027utf8_general_ci\u0027",
  "sqlType": null,
  "table": "",
  "ts": 1636948085373,
  "type": "QUERY"
}
复制代码

2.新建表

复制代码
{
  "data": null,
  "database": "test",
  "es": 1636952642000,
  "id": 2351,
  "isDdl": true,
  "mysqlType": null,
  "old": null,
  "pkNames": null,
  "sql": "CREATE TABLE `demo10` (\r\n  `pk` bigint(255) NOT NULL AUTO_INCREMENT,\r\n  `name` varchar(255) DEFAULT NULL,\r\n  `age` int(11) DEFAULT NULL,\r\n  PRIMARY KEY (`pk`)\r\n)",
  "sqlType": null,
  "table": "demo10",
  "ts": 1636952642630,
  "type": "CREATE"
}
复制代码

3.新增表字段

复制代码
{
  "data": null,
  "database": "test",
  "es": 1636952716000,
  "id": 2362,
  "isDdl": true,
  "mysqlType": null,
  "old": null,
  "pkNames": null,
  "sql": "ALTER TABLE `test`.`demo10` \r\nADD COLUMN `addr` varchar(255) NULL AFTER `age`",
  "sqlType": null,
  "table": "demo10",
  "ts": 1636952716251,
  "type": "ALTER"
}
复制代码

4.删除表字段

复制代码
{
  "data": null,
  "database": "test",
  "es": 1636952766000,
  "id": 2370,
  "isDdl": true,
  "mysqlType": null,
  "old": null,
  "pkNames": null,
  "sql": "ALTER TABLE `test`.`demo10` \r\nDROP COLUMN `addr`",
  "sqlType": null,
  "table": "demo10",
  "ts": 1636952766510,
  "type": "ALTER"
}
复制代码

5.修改表字段名称

复制代码
{
  "data": null,
  "database": "test",
  "es": 1636952896000,
  "id": 2389,
  "isDdl": true,
  "mysqlType": null,
  "old": null,
  "pkNames": null,
  "sql": "ALTER TABLE `test`.`demo10` \r\nCHANGE COLUMN `addr` `address` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL AFTER `age`",
  "sqlType": null,
  "table": "demo10",
  "ts": 1636952896772,
  "type": "ALTER"
}
复制代码

6.修改表字段类型

复制代码
{
  "data": null,
  "database": "test",
  "es": 1636953342000,
  "id": 2450,
  "isDdl": true,
  "mysqlType": null,
  "old": null,
  "pkNames": null,
  "sql": "ALTER TABLE `test`.`demo10` \r\nMODIFY COLUMN `tel` bigint(255) NULL DEFAULT NULL AFTER `address`",
  "sqlType": null,
  "table": "demo10",
  "ts": 1636953342486,
  "type": "ALTER"
}
复制代码

7.截断表 truncate

复制代码
{
  "data": null,
  "database": "test",
  "es": 1636953793000,
  "id": 2512,
  "isDdl": true,
  "mysqlType": null,
  "old": null,
  "pkNames": null,
  "sql": "truncate table demo10",
  "sqlType": null,
  "table": "demo10",
  "ts": 1636953793749,
  "type": "TRUNCATE"
}
复制代码

8.删除表

复制代码
{
  "data": null,
  "database": "test",
  "es": 1636954002000,
  "id": 2541,
  "isDdl": true,
  "mysqlType": null,
  "old": null,
  "pkNames": null,
  "sql": "DROP TABLE `demo10` /* generated by server */",
  "sqlType": null,
  "table": "demo10",
  "ts": 1636954002612,
  "type": "ERASE"
}
复制代码

 

posted @   民宿  阅读(1119)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示