《sql基礎教程》書裏的sql文件如何導入數據庫?

對於剛入門學習sql的,我只推薦一本書Mick的《SQL基礎教程》。網上很多人推薦《SQL必知必會》,其實這本書更適合數據庫運維,對剛入門的朋友來說,理解不了。而Mick的《SQL基礎教程》的書通俗易懂,讓你學起來有趣的多了。興趣纔是學下去的理由。

下面回答這本書裏的數據如何導入數據庫裏。

如果你看到Mick《sql基礎教程》中的第1章的1-3《SQ概要:sql語句及其種類》(對應書裏第32頁)下面部分,就是要將數據導入數據庫裏了。

首先,確保你已經安裝了mysql和mysql圖形化客戶端navicat。如果沒有安裝的,參考這裏的步驟安裝:



下面我們聊聊如何使用mysql圖形化客戶端navicat導入到數據庫裏。

連接mysql服務端

如果你已經按前面給的教程創建了連接,併成功連接到數據庫。

當你如果打開navicat創建的連接圖標處是灰色的,表示客戶端沒用連接到mysql服務端。

鼠標右鍵點擊連接名稱,然後點擊“打開連接”

創建數據庫

第1步,創建數據庫

點擊菜單欄“查詢”下的“新建查詢,就可以打開輸入sql語句的地方。

然後輸入創建數據庫的sql語句,點擊運行,可以看到sql語句執行結果。

鼠標右鍵連接名稱,選擇“刷新”,就可以看到創建的數據庫了

第2步,修改數據庫編碼

因爲我們數據庫裏會存放中文內容,所以需要修改數據庫編碼,不然會面會報錯。按下圖設置數據庫的編碼。

修改完,點擊“確定”按鈕。

創建表

數據庫shop名稱前面的圖標是灰色的,表示當前沒有使用這個數據庫。

在數據庫名稱上鼠標右鍵,選擇“打開數據庫”。

點擊數據庫(shop)下的查詢,鼠標右鍵選中“新建查詢”。以這種方式打開的查詢編輯器裏的sql語句都是針對當前這個數據庫的。

在查詢編輯器裏輸入下面創建商品表(Product)的sql語句,點擊“運行”按鈕就會執行sql語句。


鼠標右鍵點擊“表”,選中“刷新”,我們就可以看到創建的表。雙擊表名,可以看到創建的表和sql語句裏定義的一樣。

插入數據

點擊下圖紅框的地方,我們回到剛纔寫sql語句的查詢編輯器裏。

在查詢編輯器裏寫入下面插入數據的sql語句。

-- 插入數據


這時候不要點擊“運行”,因爲運行會把這個“查詢編輯器”裏所有的sql都執行一遍。但是創建表的sql語句剛纔我們已經執行過了,現在只需要執行創建數據的sql語句。

首先,用鼠標選中要執行的那部分sql語句。

然後點擊下圖紅框的地方,就會只執行選中的sql語句。

我們可以通過界面下方的sql執行結果,看sql運行是否有報錯,如果沒有報錯,表示sql運行成功。

雙擊表名,我們就可以看到已經插入的數據。

ps:如果你之前打開過表,會遇到下面的問題

出現運行選中代碼後,product表未生成數據。

解決辦法:按下圖操作先關掉打開的表,然後重新打開

我們按下圖順序操作,將剛纔的sql語句保存下來,萬一以後需要。

保存後的sql語句,可以在下圖紅框的地方看到

我們也可以把創建數據庫的sql語句保存下來。

我們可以看到,創建數據庫的語句保存在連接名下(圖中紅色的部分),因爲這部分語句是創建數據庫的,不針對任何特定的數據庫。

而數據庫shop下創建的sql語句保存在它自己的查詢裏面(圖中藍色部分),表示這裏的語句是針對這個特定的數據庫的操作。

雙擊保存的查詢名稱,可以再次打開查詢編輯器,對sql進行編輯。

導出數據庫

按下圖操作我們將數據庫導出成文件。這樣以後你可以將文件分享給其他人,別人也可以使用你的數據庫,或者作爲數據庫的備份,哪天你數據庫裏的數據丟了,可以使用這個文件恢復。

導出成功後,我們就可以在剛纔保存文件的路徑下看到這個sql腳本文件後綴是.sql,這種類型的文件叫做sql腳本文件。

我們使用軟件notepad++打開sql腳本文件(windows用notepad++,在mac上可以用sublime text),沒有這個軟件的去官網下載一個,這個軟件可以打開各種類型的文件,是技術學習的必備工具。

打開後可以看到sql腳本文件,就是我們剛纔寫的sql語句,還有軟件導出時自動加了些sql語句。所以sql腳本文件就是一個包括了sql語句,文件名後綴是.sql的文件。

如果你有特別留意的話,會發現我們剛纔導出的sql腳本文件裏,有這樣一句sql:

DROP TABLE IF EXISTS `product`;

也就是說,如果數據庫裏已經有這個表了,那麼就刪除表以後再執行後面的sql語句。

因爲有時候數據庫裏面表了,如果沒有這一句會報錯。

導入sql腳本文件

按下圖操作把剛纔的sql文件導入數據庫裏。

選擇要導入的sql腳本文件,其他默認,然後點擊開始。

出現下面的信息,表示導入成功。如果不是下面的信息,表示導入有錯誤,具體查看報錯信息,根據報錯信息順藤摸瓜來解決。

導入成功後,點擊關閉。刷新數據庫可以看到導入的數據。

Mick《sql基礎教程》裏的數據如何導入數據庫裏?

前面我們演示了創建數據庫、在哪寫sql語句、導出sql腳本文件,導入sql腳本文件,知道了sql腳本文件是怎麼來的。現在我們回到Mick《sql基礎教程》中的第1章的1-3《SQ概要:sql語句及其種類》(對應書裏第32頁)。

我們看如何把書中說的sql腳本文件(CreateTableProduct.sql)導入數據庫裏。

爲了演示整個過程,我們把剛纔創建的表刪掉。

第1步,修改sql腳本文件

用notepad++打開sql腳本文件,瞅瞅裏面有啥。

我們看到裏面是創建表和增加數據的sql語句。

因爲有時候導入數據會報錯,當再次運行導入sql腳本文件,會報類似下面的錯誤:表已經存在。

爲了防止上面的錯誤,我一般都會在建立表的sql前面加上這麼一句(product是表名,根據你的實際需求,修改成你對應的表名):

-- 表存在時,先刪除表

DROP TABLE IF EXISTS Product;

第2步,創建數據庫

因爲我們前面已經創建了數據庫。後面導入數據,如果沒有數據庫,需要先創建數據庫。

第3步,導入sql腳本文件

按下圖步驟操作

導入結果顯示未成功(Unsuccessfully),我們看如何根據報錯信息順藤摸瓜找到原因。

將下圖1處的下拉框拉到最上面,我們就可以看到詳細的報錯信息是: [Err] 1366 - Incorrect string value: "\xD0\xF4" for column。

把這個報錯信息放到搜索引擎中,很快就可以找到解決方案。報錯原因是因爲編碼的問題。

或者報下面的錯誤:

解決辦法:用notepad++打開sql腳本文件,然後按下圖修改sql腳本文件編碼:

在notpad++中設置好編碼以後,記得點擊“保存”使sql腳本文件修改生效。

我將修改編碼後的sql腳本文件保存到下面這個文件裏了

再次運行導入sql文件,執行成功。刷新表,可以看到導入的數據。

總結

通過這個教程,你已經學會了:

1)如何使用navicat連接mysql服務端

2)如何在查詢編輯器裏寫sql語句

2)如何創建數據庫

3)如何導入sql腳本文件

4)如何導出sql腳本文件

5)Mick《sql基礎教程》中的數據如何導入

想要系統的學習sql可以看這個:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章