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
3 导入数据库
先进入数据库
mysql -u root -h 127.0.0.1 -p
输入密码,进入mysql终端
先确定要使用的数据库
use 数据库名
然后source命令执行插入即可
source 文件名