请教如何扫描 create table 语句生成 insert 语句呢? - V2EX
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
This topic created in 2610 days ago, the information mentioned may be changed or developed.

想着通过扫描 create table 语句,生成 insert 语句,有例子不? go 或者 python 有现成的包不?

14 replies    2019-03-25 07:50:11 +08:00
sunnyadamm
    1
sunnyadamm  
   Mar 23, 2019
没看懂你想说啥
sjmcefc2
    2
sjmcefc2  
OP
   Mar 23, 2019
@sunnyadamm 好吧,就是想着做一个通用的东西,比如读取 create table 的 sql 语句,然后可以生成 insert(v1,v2,v3)(^^^^^^)之类的批量插入语句。把 sql 中所有的 table 字段都能分别拿出来组 insert。
好像还是没说清楚。。。。。
sunnyadamm
    3
sunnyadamm  
   Mar 23, 2019
@sjmcefc2 真的还是没看懂,,,
msg7086
    4
msg7086  
   Mar 23, 2019
@sunnyadamm 通过分析表结构,对某些数据生成 INSERT 语句吧,类似现在 ORM 在做的工作。
goophy
    5
goophy  
   Mar 23, 2019 via iPhone
确定不用 dump ?
sunnyadamm
    6
sunnyadamm  
   Mar 23, 2019
@msg7086 意思是假设十条数据插入表 a,但是不知道表结构,然后去读取表 a 结构,然后生成 insert 语句后,再插入表 a ?这样?
sjmcefc2
    7
sjmcefc2  
OP
   Mar 23, 2019
@msg7086 是的。是这样想

@sunnyadamm 嗯,你这个思路会更加智能。我还是停留在知道建表语句,知道插入数据 ,拼接 insert 上。

@goophy dump 表出来?
F281M6Dh8DXpD1g2
    8
F281M6Dh8DXpD1g2  
   Mar 24, 2019 via iPhone
information_schema 里面有表定义,提问之前先看看文档
freedomSky
    9
freedomSky  
   Mar 24, 2019 via iPhone
insert 的数据按什么来生成,随机生成不是全没意义的数据吗
sjmcefc2
    10
sjmcefc2  
OP
   Mar 24, 2019
@liprais 是的,谢谢提醒,我是不会自动读取啊,比如我怎么\d table 到拼出 insert 呢?

@freedomSky 实际上是有导入数据的哈。主要是不知道怎么分析 sql 中的 create table
gaopu
    11
gaopu  
   Mar 24, 2019
随便用什么语言按得到的表结构字符串拼接一下不就 OK 了。
snappyone
    12
snappyone  
   Mar 24, 2019
sql 解析有很多工具包的,查一下就知道了,我之前用的是 druid
txy3000
    13
txy3000  
   Mar 24, 2019
没看懂你的意思 你是想写一个 ORM 还是写一个 SQL 的 parser
实现前者元编程 metaclass 重写__new__ 参考 Django 框架或者 SQLAlchemy
后者 visitor 模式 构建你需要的 token 也可以直接用语法树生成工具 可以自己 GOOGLE 下
sjmcefc2
    14
sjmcefc2  
OP
   Mar 25, 2019
@txy3000 其实就是想做一个批量导入的工具而已。
About     Help     Advertise     Blog     API     FAQ     Solana     2957 Online   Highest 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 50ms UTC 01:58 PVG 09:58 LAX 18:58 JFK 21:58
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86