EXCEL資料處理小結(SQL)
最近在公司由於需要進行資料處理,特地去研究一波如何使用excel表格對大量資料進行批量處理,excel表格的功能很是強大讓我重新定義了對它的認識。
需求:有部分資料需要我隨機生成結果,然後將資料匯入mysql資料庫
一、隨機生成數值
1.excel表格為我們提供了隨機函式->RAND()
RAND()函式會隨機生成0~1的數
2.ROUNDUP()可以限制數的小數位
例項:=19+ROUNDUP(5*RAND(),2)
結果是隨機生成一個19~24的一個小數位保留兩位小數的數
可以使用通過下拉對所有的列值進行賦值
二、將資料匯入mysql資料庫
將資料匯入資料庫最常見的方法使用mysql的視覺化工具進行匯入,如:Navicat premium(個人感覺不錯,可以連線大部分資料庫)
今天我要使用的是excel表格,用excel的方法結構來拼接sql語句,然後下拉對所有的資料進行拼接
具體語句如下:
1.
在單元格中寫入方法
="INSERT INTO table(id,name,sex,age)values('"&A2&"','"&B2&"','"&C2&"','"&D2&"');"
該方法寫入的結果如下:
INSERT INTO Ttable(id,name,sex,age) values(1,a,b,c);
2.
="INSERT INTO ""TB_COMMON_AREA""(""NAME"",""TYPE"",""UP"",""LONGITUDE"",""LATITUDE"",""PH"",""ORGANICMATTER"",""N"",""P"",""K"") VALUES('"&B2&"','村',(SELECT A.""PK"" FROM ""TB_COMMON_AREA"" A WHERE A.""ACTIVE""=TRUE AND A.""NAME""='"&C2&"' AND A.""TYPE""='鄉鎮'),'"&D2&"','"&E2&"','"&F2&"','"&G2&"','"&H2&"','"&I2&"','"&J2&"');"
(該語句使用的表格和欄位需要用“”進行引用,所以欄位名稱需要使用如上方式進行引用,values需要使用'"&C2&"'的方式引用單元格的數值)
上面的語句生成的結果如下:
INSERT INTO "NAME","TYPE","UP","LONGITUDE","LATITUDE","PH","ORGANICMATTER","N","P","K") VALUES('湖陽鄉農場','村',(SELECT A."PK" FROM "TB_COMMON_AREA" A WHERE A."ACTIVE"=TRUE AND A."NAME"='湖陽鎮' AND A."TYPE"='鄉鎮'),'118.766216','31.458324','6.3','21.64','1.26','16.9','108.6'); |
總結:一般的關係型資料庫如:MYSQL,它的表結構和excel的結構非常類似,在將excel的資料匯入資料庫的時候,如果資料量大,並且不想出現資料問題,可以使用sql拼接的方法將資料改成sql語句再匯入,excel的功能很強大後期如果有機會還會繼續總結,歡迎大家交流探討!