国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

手動將excel表中的數據通過sql語句填入數據庫

2019-11-08 20:31:28
字體:
來源:轉載
供稿:網友
     此次過程為將實際數據導入管理系統,由于實際數據資料的格式與字段在表中的分布不盡相同,所以需要進行一些處理。通過數據庫表中字段與Excel表中列對應,在excel表中構建sql語句來導入數據,主要方式為組裝模板語句。     步驟如下:     1.導出數據庫中表已存在的一條數據的insert格式,為插入數據做鋪墊。     2.通過對比excel表中有的字段,刪除insert格式中沒有的字段,但要保留表的非空字段和基本公共字段(如果有的話)。     3.刪除insert格式中values()中的值,根據需要的對應字段一步步填充。     4.將已組裝好的語句sql應用到每一行,并直接拷貝到數據庫中進行操作。     通過以上步驟,可以將excel表中的數據與數據庫中表的字段對應起來,然后進行填入。     其間可能遇到數據格式不正確,數據不在一張表中,數據字典的轉化等多種情況,可以通過excel自帶函數進行處理,也可以用sql函數進行處理,也可以再導入后通過update人工進行處理。推薦順序excle函數>sql函數>人工。詳細過程     1.導出insert格式的sql語句。(以下數據均為虛擬)        以tb_person_base_info表為例         %20      2.剔除不需要的字段     excel中的數據為第6行,列從“編號”到“退休返聘”為A-M。 %20 %20 %20 %20       假設在excel表中有姓名,性別,出生年月,學歷,黨派,五列對應tb_person_base_info表中的XM,XB,CSRQ,XL,ZZMM,非空和公共字段有PERSON_BASEINFO_ID,IS_DELETED, CREATED_BY_USER, CREATED_DTM_LOC, CREATED_OFFICE, UPDATED_BY_USER, UPDATED_DTM_LOC, UPDATED_OFFICE, RECORD_VERSION。          剔除完不需要字段和values后的值          3.填充需要的數據     3.1字段對應填充          因為PERSON_BASEINFO_ID為主鍵,為需要添加項,值為uuid();          XM字段對應excel表中 B6(以下用 A:B表示 數據庫表字段A對應Excel表位置B)          XB: D6          CSRQ : E6          XL: F6          ZZMM:G6          公共字段(8個)可根據實際填寫,這里暫用之前的數據          0, admin,2016-12-28, ADMIN, admin, 2017-02-07, ADMIN, 0     3.2字段處理          sql中日期格式為"yyyy-mm-dd",這里的CSRQ(出生年月)為1958.2,所以用excel函數進行處理,在excel表N6中,=SUBSTITUTE(E6,".","-")&"-1",,后處理后為 “1958-2-1”可以正確填入。(如果本身就是excel日期格式,用=TEXT(E6,"yyyy-MM-dd"))。          XL(學歷)是使用數據字典存入數據庫的,假設大學本科畢業對應的字典值為'1',在excel表 O6中,=IF(F6="大學本科畢業 ",1,null)。多個選擇可以寫IF嵌套,=IF(F6="大學本科畢業 ",1,IF(F6="大學專科畢業",null))。數據較多的話我是用手動更新的。          實際的問題根據Excel函數或sql函數或手動解決。     4.拼接數據并應用     4.1拼接數據          excel中的拼接字符為&,常量字符串放在""中。          在excel表P6中填入拼接好的sql語句="INSERT INTO tb_person_base_info (PERSON_BASEINFO_ID,XM,XB,CSRQ,XL,ZZMM,IS_DELETED,CREATED_BY_USER,CREATED_DTM_LOC,CREATED_OFFICE,UPDATED_BY_USER,UPDATED_DTM_LOC,UPDATED_OFFICE,RECORD_VERSION) VALUES (replace(uuid(),'-',''), '"&B6&"','"&D6&"','"&N6&"','"&M6&"','"&G6&"',0, '"&B6&"', '2016-12-28', 'ADMIN', 'admin', '2017-02-07', 'ADMIN', 0);" //這里CREATED_BY_USER,用B6(姓名)存入,作為唯一標識,進行增刪改查或與其它表連接有個唯一標識比較方便。      4.2應用語句模板           鼠標移到P6,點擊右下角實+號,向下拉,每一行的sql都產生了,然后按ctrl+c復制,就生成了每一行數據的插入,可以復制到txt中查看語句是否正確,再導入到數據庫中。  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马关县| 肇州县| 东乡族自治县| 麻栗坡县| 岳池县| 扬州市| 秦安县| 云浮市| 根河市| 昌邑市| 长垣县| 金华市| 霸州市| 宁晋县| 六枝特区| 西乡县| 高唐县| 东阿县| 岐山县| 南康市| 江津市| 新巴尔虎左旗| 湄潭县| 济源市| 岳阳市| 定边县| 施甸县| 灵川县| 隆安县| 沭阳县| 民丰县| 开封县| 石城县| 保亭| 蓝田县| 明水县| 涞水县| 科技| 临猗县| 景东| 竹北市|