首頁 > 軟體

圖文詳解如何在navicat中匯入excel表格資料

2023-02-28 18:00:51

基礎操作篇

1. 首先開啟navicat 軟體,進入後開啟連線

2. 進入後選擇新建資料庫

3. 資料庫名隨便輸入一個,字元集選擇 utf8,排序規則選擇utf8_general_ci ,這樣可以最大程度地支援中文 ,點選好,新建資料庫

4. 開啟剛剛建立的資料庫:

5. 進去後在表這一列選擇匯入嚮導

6. 進入後選擇excel 檔案(*.xls, *.xlsx) 選項,點選繼續

7. 選擇新增檔案,將檔案加入,點選繼續

8.選中載入出來的資料表,選擇繼續 

9.預設用第一行作為sql 表的表頭,第二行開始作為真實的資料內容,點選繼續

10.點選繼續

11.對映欄位這一步可以對錶欄位進行一定的調整,在不需要調整的情況下點選繼續(預設以剛選擇的第一行左右sql 的表欄位)

12.接下來一般選擇追加模式,點選繼續

(追加,不會清空掉原有資料,如需要匯入多張表的情況下,可以選擇追加) 

13.接下來點選開始即可匯入,記得一定要點開始!!!!

14. 60 多萬行資料匯入成功,耗時70 多秒,點選完成即可成功匯入資料 

16. 點選表裡面的sheet1 即可看到資料 

17. 開啟命令列執行sql,點選上方表頭查詢,進入sql 命令視窗

18. 進入後點選圖中位置新增查詢

19. 進入命令視窗

20. 比如此處我們查詢一下總共的匯入資料有多少條

SELECT COUNT(1) FROM Sheet1 

21. 得到執行結果如下

好了,以上就完成了從excel 中匯入資料到mysql ,並執行sql 語句的過程,我們可以通過寫sql 來做各種各樣的查詢哦~

進階操作篇

下面為進階內容,如果遇到查詢緩慢,我們可以通過新增索引來解決查詢緩慢問題

通過索引可以提效99% 的查詢慢問題場景

進入及設計方式如下:

22. 從左欄進入表,點選箭頭那的編輯符合那裡,進入設計表 

23.進入後選擇第二個選項,即索引這一欄,然後進入,就可以看到如下的介面 

24.點選+ 號處,新增索引 

25, 索引名稱隨便填一個,比如填個newindex,然後欄位名選擇對應的表頭的某一列名稱 

26. 關於索引型別選擇

索引型別可以選擇 normal (普通索引),一般選擇,如果能夠明確該列中的任意值都不會重複的話,可以選擇unique(唯一索引)、fulltext 為全文字索引,一般用於會被like 的欄位處,spatial 索引為空間索引,但使用這個,需要將欄位 置為not null(或者能夠明確非空),我這裡選擇了normal(因為我裡面的資料是有重複的,非唯一) 

  27、關於索引方法選擇

索引方法選擇BTREE(b+樹 索引),也可以選擇hash ,一般的隨意資料比較難看出兩者的區別,但hash 索引對一些範圍查詢優化得不是很好

28. 至此,一條索引就新建完成啦~ 

29. 儲存索引

記得一定要點選儲存按鈕,然後可以再去原來的查詢介面檢視查詢效果的改進咋樣

30.效果對比

此處是一個加入索引前後的效果對比,可以明顯看到,加入索引後,查詢速度有了很大的提升哦~ 

附:mysql spatial簡介_詳細介紹mysql索引型別:FULLTEXT、NORMAL、SPATIAL、UNIQUE

mysql索引型別:FULLTEXT、NORMAL、SPATIAL、UNIQUE的詳細介紹

Normal 普通索引

表示普通索引,大多數情況下都可以使用

Unique 唯一索引

表示唯一的,不允許重複的索引,如果該欄位資訊保證不會重複例如身份證號用作索引時,可設定為unique

約束唯一標識資料庫表中的每一條記錄,即在單表中不能用每條記錄是唯一的(例如身份證就是唯一的),Unique(要求列唯一)和Primary Key(primary key = unique + not null 列唯一)約束均為列或列集合中提供了唯一性的保證,Primary Key是擁有自動定義的Unique約束,但是每個表中可以有多個Unique約束,但是隻能有一個Primary Key約束。

mysql中建立Unique約束

Full Text 全文索引

表示全文收索,在檢索長文字的時候,效果最好,短文字建議使用Index,但是在檢索的時候資料量比較大的時候,現將資料放入一個沒有全域性索引的表中,然後在用Create Index建立的Full Text索引,要比先為一張表建立Full Text然後在寫入資料要快的很多

FULLTEXT 用於搜尋很長一篇文章的時候,效果最好。用在比較短的文字,如果就一兩行字的,普通的 INDEX 也可以。

SPATIAL 空間索引

空間索引是對空間資料型別的欄位建立的索引,MYSQL中的空間資料型別有4種,分別是GEOMETRY、POINT、LINESTRING、POLYGON。MYSQL使用SPATIAL關鍵字進行擴充套件,使得能夠用於建立正規索引型別的語法建立空間索引。建立空間索引的列,必須將其宣告為NOT NULL,空間索引只能在儲存引擎為MYISAM的表中建立

btree索引和hash索引的區別

1、BTREE(B樹(可以是多叉樹)) {主流使用}

2、HASH(key,value) 這種方式對範圍查詢支援得不是很好

hash 索引結構的特殊性,其檢索效率非常高,索引的檢索可以一次定位,不像B-Tree 索引需要從根節點到枝節點,最後才能存取到頁節點這樣多次的IO存取,所以 Hash 索引的查詢效率要遠高於 B-Tree 索引。

可 能很多人又有疑問了,既然 Hash 索引的效率要比 B-Tree 高很多,為什麼大家不都用 Hash 索引而還要使用 B-Tree 索引呢?任何事物都是有兩面性的,Hash 索引也一樣,雖然 Hash 索引效率高,但是 Hash 索引本身由於其特殊性也帶來了很多限制和弊端,主要有以下這些。

(1)Hash 索引僅僅能滿足”=”,”IN”和”<=>”查詢,不能使用範圍查詢。

由於 Hash 索引比較的是進行 Hash 運算之後的 Hash 值,所以它只能用於等值的過濾,不能用於基於範圍的過濾,因為經過相應的 Hash 演演算法處理之後的 Hash 值的大小關係,並不能保證和Hash運算前完全一樣。

(2)Hash 索引無法被用來避免資料的排序操作。

由於 Hash 索引中存放的是經過 Hash 計算之後的 Hash 值,而且Hash值的大小關係並不一定和 Hash 運算前的鍵值完全一樣,所以資料庫無法利用索引的資料來避免任何排序運算;

(3)Hash 索引不能利用部分索引鍵查詢。

對於組合索引,Hash 索引在計算 Hash 值的時候是組合索引鍵合併後再一起計算 Hash 值,而不是單獨計算 Hash 值,所以通過組合索引的前面一個或幾個索引鍵進行查詢的時候,Hash 索引也無法被利用。

(4)Hash 索引在任何時候都不能避免表掃描。

前面已經知道,Hash 索引是將索引鍵通過 Hash 運算之後,將 Hash運算結果的 Hash 值和所對應的行指標資訊存放於一個 Hash 表中,由於不同索引鍵存在相同 Hash 值,所以即使取滿足某個 Hash 鍵值的資料的記錄條數,也無法從 Hash 索引中直接完成查詢,還是要通過存取表中的實際資料進行相應的比較,並得到相應的結果。

(5)Hash 索引遇到大量Hash值相等的情況後效能並不一定就會比B-Tree索引高。

對於選擇性比較低的索引鍵,如果建立 Hash 索引,那麼將會存在大量記錄指標資訊存於同一個 Hash 值相關聯。這樣要定位某一條記錄時就會非常麻煩,會浪費多次表資料的存取,而造成整體效能低下。

在實際操作過程中,應該選取表中哪些欄位作為索引?

為了使索引的使用效率更高,在建立索引時,必須考慮在哪些欄位上建立索引和建立什麼型別的索引,有7大原則:

1.選擇唯一性索引

2.為經常需要排序、分組和聯合操作的欄位建立索引

3.為常作為查詢條件的欄位建立索引

4.限制索引的數目

5.儘量使用資料量少的索引

6.儘量使用字首來索引

7.刪除不再使用或者很少使用的索引

8. 經常更新修改的欄位不要建立索引(針對mysql說,因為欄位更改同時索引就要重新建立,排序,而Orcale好像是有這樣的機制欄位值更改了,它不立刻建立索引,排序索引,而是根據更改個數,時間段去做平衡索引這件事的)

9、不推薦在同一列建多個索引

寫在最後:

到此這篇關於如何在navicat中匯入excel表格資料的文章就介紹到這了,更多相關navicat匯入excel表格資料內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com