圖文詳解如何在navicat中導入excel表格數據
基礎操作篇
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表格數據內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- MySQL數據庫的事務和索引詳解
- MySQL添加索引特點及優化問題
- MySQL的索引原理以及查詢優化詳解
- mysql添加索引方法詳解(Navicat可視化加索引與sql語句加索引)
- MySQL如何優化索引