mysql中vlookup函数_Vlookup + MySql 数据高效迁移
無論在哪個項目中,數據永遠是重要的,不可忽視的,但也是鬧心的。何謂之鬧心?且聽我慢慢道來。
數據庫的更迭現在變得很是頻繁,從以前的關系型數據庫到現在的非關系型數據庫,從以前單一的使用到現在多個的搭配,可以看到,數據如果想要進行遷移,將會困難重重,麻煩不斷,首先就要面對數據庫的差異,其次是表字段的不同,最后還有主鍵ID的生成問題等等。所以,一套簡單實用的方法在這個時候就很必要了,不但能大大的減少工作量,還能保證數據的完整性,何樂而不為呢?下面就來一一解讀:
一、excel表格函數vlookup
1、什么是vlookup
在整理數據前,首先要做的肯定是將之前的數據庫表導到excel表格中,這種基本的操作這里就不演示了。在整理數據時,很多字段需要進行變換,這是一項重復性很高的操作,如果不利用excel特有的函數來處理的話,將很是麻煩且令人頭痛。vlookup函數的好處在于可以快速且方便的查找,將兩個表格關聯進行跨表引用,非常實用,語法規則如下:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
參數
簡單說明
輸入數據類型
lookup_value
要查找的值
數值、引用或文本字符串
table_array
要查找的區域
數據表區域
col_index_num
返回數據在查找區域的第幾列
正整數
range_lookup
模糊匹配/精確匹配
TRUE(或不填)/FALSE
參數說明:
Lookup_value為需要在數據表第一列中進行查找的數值。Lookup_value 可以為數值、引用或文本字符串。當vlookup函數第一參數省略查找值時,表示用0查找。
Table_array為需要在其中查找數據的數據表。使用對區域或區域名稱的引用。
col_index_num為table_array?中查找數據的數據列序號。col_index_num 為 1 時,返回 table_array 第一列的數值,col_index_num 為 2 時,返回 table_array 第二列的數值,以此類推。如果 col_index_num 小于1,函數 VLOOKUP 返回錯誤值#VALUE!;如果 col_index_num 大于 table_array 的列數,函數 VLOOKUP 返回錯誤值#REF!。
Range_lookup為一邏輯值,指明函數 VLOOKUP 查找時是精確匹配,還是近似匹配。如果為false或0 ,則返回精確匹配,如果找不到,則返回錯誤值 #N/A。如果 range_lookup 為TRUE或1,函數 VLOOKUP 將查找近似匹配值,也就是說,如果找不到精確匹配值,則返回小于 lookup_value?的最大數值。如果range_lookup 省略,則默認為近似匹配。
簡單的來說,VLOOKUP函數是Excel中的一個縱向查找函數,在工作中都有廣泛應用,例如可以用來核對數據,多個表格之間快速導入數據等函數功能。功能是按列查找,最終返回該列所需查詢列序所對應的值。
2、vlookup函數的使用
先選定需要查詢的值,然后選擇要查詢的區域(同時打開兩張表格,必須是和要查詢的值有關聯的,否則查詢不到),最后選擇需要的數據的所在列和查詢樣式(一般用0),如下圖所示:
二、mysql定時執行
整理好數據后需要導入表,但由于主鍵ID的唯一性,需要在導入后生成各自的ID。首先將要導入的表的主鍵勾選去掉(不然導入會失敗,mysql數據庫是這樣的),導入整理好的excel數據,導入成功后發現這些數據的ID均為空,所以還要進行ID的生成(生成ID后將表的主鍵勾選保存)。
具體的操作步驟如下:
(1)查看event是否開啟:
show variables like '%sche%';
(2)將事件計劃開啟:
set global event_scheduler =1;
(3)創建存儲過程test(其中一個為例,需要根據情況進行修改):
CREATE PROCEDURE test()
BEGIN
UPDATE sy_city SET?CITY_ID=REPLACE(UUID(),'-','')
WHERE CITY_ID=?(SELECT CITY_ID FROM (SELECT * FROM
sy_city s WHERE?s.CITY_ID='' LIMIT 1) a);
END;
(4)創建event e_test(下面的test()是上面第三步中創建的test):
create event if not exists e_test
on schedule every 30 second
on completion preserve
do call test();
經過以上步驟后基本完成ID的生成。
總結
以上是生活随笔為你收集整理的mysql中vlookup函数_Vlookup + MySql 数据高效迁移的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: thinksns java_php-ja
- 下一篇: mysql gis polygon_把P