如何把只有insert语句的sql语句还原成数据库表?
1 现有数据情况
现在只有⼀张sql⽂件,这个sql中只有insert语句,⽽且insert语句并不规范,没有建表语句就意味着并不知道这张表的字段名都有什么此外,还有⽂件所对应的xls⽂件,在这个对应的xls中,可以通过第⼀⾏来确定sql⽂件的字段名
2 形成建表语句
要想插⼊数据库,就必须要先建表,鉴于sql中字段名⾼达66个,所以放弃⼈⼯建表,编写代码进⾏编写
读取xls⽂件的第⼀⾏获得字段名
代码如下
通过字段名来构建建表语句
代码如下
test.py⽂件内容
python⽂件写完之后,在本地运⾏
执⾏命令python ⽂件路径
这样就可以获得建表语句,在navicate中新建查询,粘贴进去,就可以新建表成功了
error:
输出建表语句的时候,报错:
3 处理sql语句
sql语句是⾮常不规范的,需要进⾏处理
对表名的处理
原有sql语句中,表名是带有引号的,不能带有双引号
对⽇期解析格式的处理
原有的sql语句中,⽇期格式是,要替换成
对TO_DATE 函数的处理
原有的sql语句中,TO_DATE是oracle⾥⾯的函数,mysql⾥⾯没有,需要替换成str_to_date
python怎么读取xls文件3 导⼊数据库
先进⼊数据库
mysql -u root -h 127.0.0.1 -p
输⼊密码,进⼊mysql终端
先确定要使⽤的数据库
use 数据库名
然后source命令执⾏插⼊即可
source ⽂件名

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。