想着通过扫描 create table 语句,生成 insert 语句,有例子不? go 或者 python 有现成的包不?
1
sunnyadamm 2019-03-23 23:15:29 +08:00
没看懂你想说啥
|
2
sjmcefc2 OP @sunnyadamm 好吧,就是想着做一个通用的东西,比如读取 create table 的 sql 语句,然后可以生成 insert(v1,v2,v3)(^^^^^^)之类的批量插入语句。把 sql 中所有的 table 字段都能分别拿出来组 insert。
好像还是没说清楚。。。。。 |
3
sunnyadamm 2019-03-23 23:26:56 +08:00
@sjmcefc2 真的还是没看懂,,,
|
4
msg7086 2019-03-23 23:28:05 +08:00
@sunnyadamm 通过分析表结构,对某些数据生成 INSERT 语句吧,类似现在 ORM 在做的工作。
|
5
goophy 2019-03-23 23:29:14 +08:00 via iPhone
确定不用 dump ?
|
6
sunnyadamm 2019-03-23 23:37:30 +08:00
@msg7086 意思是假设十条数据插入表 a,但是不知道表结构,然后去读取表 a 结构,然后生成 insert 语句后,再插入表 a ?这样?
|
7
sjmcefc2 OP |
8
liprais 2019-03-24 00:16:49 +08:00 via iPhone
information_schema 里面有表定义,提问之前先看看文档
|
9
freedomSky 2019-03-24 00:27:29 +08:00 via iPhone
insert 的数据按什么来生成,随机生成不是全没意义的数据吗
|
10
sjmcefc2 OP @liprais 是的,谢谢提醒,我是不会自动读取啊,比如我怎么\d table 到拼出 insert 呢?
@freedomSky 实际上是有导入数据的哈。主要是不知道怎么分析 sql 中的 create table |
11
gaopu 2019-03-24 08:01:19 +08:00
随便用什么语言按得到的表结构字符串拼接一下不就 OK 了。
|
12
snappyone 2019-03-24 08:55:28 +08:00
sql 解析有很多工具包的,查一下就知道了,我之前用的是 druid
|
13
txy3000 2019-03-24 22:51:19 +08:00
没看懂你的意思 你是想写一个 ORM 还是写一个 SQL 的 parser
实现前者元编程 metaclass 重写__new__ 参考 Django 框架或者 SQLAlchemy 后者 visitor 模式 构建你需要的 token 也可以直接用语法树生成工具 可以自己 GOOGLE 下 |