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 文件名