鄭戟明 董云朝 柳青
摘要:MySQL是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),因?yàn)槠涓鞣N優(yōu)勢特點(diǎn),被廣泛應(yīng)用到各個鄰域。數(shù)據(jù)庫中數(shù)據(jù)是實(shí)現(xiàn)數(shù)據(jù)庫各個功能的前提條件,所以關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的導(dǎo)入與導(dǎo)出是至關(guān)重要的一個環(huán)節(jié)。文章通過對MySQL數(shù)據(jù)庫管理系統(tǒng)學(xué)習(xí)過程的總結(jié),對MySQL數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入與導(dǎo)出的方法進(jìn)行分析探討。
關(guān)鍵詞:MySQL;數(shù)據(jù)庫;導(dǎo)入導(dǎo)出
中圖分類號:TP311? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)22-0024-02
隨著當(dāng)今社會發(fā)展,數(shù)據(jù)已不可避免地融入了整個社會的方方面面。目前,如何將數(shù)據(jù)進(jìn)行有序管理、高效運(yùn)行、安全存儲等問題成了首要任務(wù),要解決上述問題則離不開數(shù)據(jù)庫技術(shù)的支持和發(fā)展。MySQL是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),具有高性能、小體積、可移植性與易用性等特征[1],被廣泛應(yīng)用到各個鄰域。
數(shù)據(jù)庫管理系統(tǒng)主要目的是有效管理和使用數(shù)據(jù),那么數(shù)據(jù)就成為數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)與核心,如果直接能將已有數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,或者將數(shù)據(jù)從數(shù)據(jù)庫導(dǎo)出[2],將能更好地運(yùn)用數(shù)據(jù)庫。本文基于MySQL數(shù)據(jù)庫管理系統(tǒng),對數(shù)據(jù)導(dǎo)入和導(dǎo)出數(shù)據(jù)庫的方法進(jìn)行探討和分析,為進(jìn)一步運(yùn)用數(shù)據(jù)庫管理系統(tǒng)奠定基礎(chǔ)。
1 數(shù)據(jù)導(dǎo)入MySQL數(shù)據(jù)庫的方法
在使用MySQL數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)進(jìn)行管理和運(yùn)用之前,其首要任務(wù)是數(shù)據(jù)庫中要有相關(guān)的數(shù)據(jù),“巧婦難為無米之炊”,所以這是一個非常重要環(huán)節(jié),實(shí)現(xiàn)在不同的數(shù)據(jù)源和目標(biāo)之間的復(fù)制數(shù)據(jù)[3]。將對今后整個數(shù)據(jù)庫正常運(yùn)行和使用起著極其關(guān)鍵的作用。
1.1 將Excel數(shù)據(jù)表導(dǎo)入MySQL數(shù)據(jù)庫
將Excel數(shù)據(jù)表導(dǎo)入MySQL數(shù)據(jù)庫,首先需要使用MySQL圖形化管理工具,MySQL的圖形化界面很多 ,如Workbench、Navicat、phpMyAdmin等不下十余種[4]。本文采用MySQL WorkBench作為操作工具。
1.1.1 基于WorkBench導(dǎo)入數(shù)據(jù)
首先基于WorkBench需要新建一個數(shù)據(jù)庫,在數(shù)據(jù)庫中新建一個表,注意表中字段名、字段數(shù)和字段類型要與Excel文件中相關(guān)字段一致,Excel文件要另存為CSV格式;然后在WorkBench中選擇需要導(dǎo)入數(shù)據(jù)的數(shù)據(jù)表,按鼠標(biāo)右鍵,選擇“Table Data Import Wizard”命令;最后根據(jù)向?qū)нx擇CSV文件,選擇“Use existing table”選項(xiàng),就可以將Excel數(shù)據(jù)表導(dǎo)入MySQL數(shù)據(jù)庫的數(shù)據(jù)表中。
1.1.2 通過結(jié)果顯示窗口導(dǎo)入數(shù)據(jù)
在WorkBench結(jié)果顯示窗口的工具欄中,先點(diǎn)擊“Import records from an external file”導(dǎo)入按鈕,然后選擇需要導(dǎo)入的Excel文件。
1.1.3 通過復(fù)制粘貼導(dǎo)入數(shù)據(jù)
還有一種簡便的方法可以使用,首先依然是通過WorkBench創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)表;然后打開Excel文件,選擇相關(guān)數(shù)據(jù)進(jìn)行復(fù)制;最后打開WorkBench中數(shù)據(jù)表進(jìn)行粘貼,再根據(jù)需要設(shè)置字段屬性。
1.2 通過數(shù)據(jù)還原方法將數(shù)據(jù)導(dǎo)入MySQL數(shù)據(jù)庫
數(shù)據(jù)庫應(yīng)用過程中為了防止數(shù)據(jù)丟失而進(jìn)行的定期備份、有數(shù)據(jù)轉(zhuǎn)移的備份、有數(shù)據(jù)丟失而需要找回的數(shù)據(jù)還原等[5],可以通過備份好的數(shù)據(jù)文件使用mysql或source命令對數(shù)據(jù)進(jìn)行還原。關(guān)于數(shù)據(jù)備份下一章節(jié)會介紹。
1.2.1 使用mysql命令對數(shù)據(jù)進(jìn)行還原
使用mysql命令只能還原數(shù)據(jù)庫中的數(shù)據(jù),而數(shù)據(jù)庫是不能被還原的。所以在用mysql命令還原數(shù)據(jù)前,要先使用語句 “CREATE DATABASE NAME” 創(chuàng)建相關(guān)數(shù)據(jù)庫,然后用mysql命令還原數(shù)據(jù),格式為:
“mysql –u username –p password [dbname] <路徑\filename.sql”
其中username為登錄數(shù)據(jù)庫的用戶名,password為登錄數(shù)據(jù)庫的密碼,dbname為相關(guān)數(shù)據(jù)庫,filename.sql為需要導(dǎo)入的數(shù)據(jù)文件。
1.2.2 使用source命令對數(shù)據(jù)進(jìn)行還原
使用source命令還原數(shù)據(jù)前,同樣需要先創(chuàng)建數(shù)據(jù)庫,然后還原數(shù)據(jù),格式為:
“SOURCE 路徑/filename.sql”
1.3 通過WorkBench將數(shù)據(jù)導(dǎo)入MySQL數(shù)據(jù)庫
如果已經(jīng)存在數(shù)據(jù)庫相關(guān)SQL文件,那么可以通過WorkBench將數(shù)據(jù)導(dǎo)入MySQL數(shù)據(jù)庫。啟動WorkBench后,在“Navigator”欄的“Management”中,選擇“Data Import/Restore”,然后選擇要導(dǎo)入的sql文件,此時因?yàn)闆]有初始數(shù)據(jù)庫,所以還需要創(chuàng)建數(shù)據(jù)庫,在“Default Target Schema”一欄中輸入需要創(chuàng)建的數(shù)據(jù)庫名,最后點(diǎn)擊“Start Import”,實(shí)現(xiàn)sql文件的導(dǎo)入。
1.4 通過WorkBench將SQL語句導(dǎo)入MySQL數(shù)據(jù)庫
在WorkBench中,系統(tǒng)提供的“Query”窗口中,可以輸入SQL語句。在“Query” 窗口的工具欄中,選擇“Open a script file in this editor”按鈕,然后選擇包含SQL語句的SQL文件,可以實(shí)現(xiàn)語句的導(dǎo)入。
2 數(shù)據(jù)導(dǎo)出MySQL數(shù)據(jù)庫
在使用MySQL數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)進(jìn)行一系列操作后,生成的數(shù)據(jù)庫、數(shù)據(jù)表、索引、視圖,以及各種查詢結(jié)果常常需要保存起來,這時候就需要將數(shù)據(jù)導(dǎo)出MySQL數(shù)據(jù)庫。
2.1 將SQL語句和查詢結(jié)果的保存
在MySQL中執(zhí)行語句和查詢結(jié)果是無法直接保存,一旦關(guān)閉相關(guān)窗口就會丟失,所以需要其他方法將其保存下來。
2.1.1 在MySQL中保存各種SQL語句
在WorkBench中,系統(tǒng)提供的“Query”窗口中,可以進(jìn)行輸入SQL語句,但是一旦關(guān)閉“Query” 窗口,所有的語句就會丟失。所以在“Query” 窗口的工具欄中,有一個“Save the script to a file”按鈕,可以將窗口中的SQL語句保存為SQL文件的形式。
2.1.2 在MySQL中保存查詢結(jié)果
在WorkBench結(jié)果顯示窗口的工具欄中,先點(diǎn)擊“Export recordset to an external file”導(dǎo)出按鈕,保存為CSV文件。
2.2 通過數(shù)據(jù)備份方法將數(shù)據(jù)導(dǎo)出MySQL數(shù)據(jù)庫
在數(shù)據(jù)庫的維護(hù)過程中,數(shù)據(jù)也經(jīng)常需要備份,以便在系統(tǒng)遭到破壞或其他情況下重新加以利用,為了完成這種功能,MySQL備份數(shù)據(jù)庫的兩種主要方法是使用 mysqldump命令或直接拷貝數(shù)據(jù)庫文件[6],一般使用mysqldump命令來實(shí)現(xiàn)數(shù)據(jù)的備份。
2.2.1 單個數(shù)據(jù)庫數(shù)據(jù)備份
使用mysqldump命令備份單個數(shù)據(jù)庫數(shù)據(jù)的格式為:
“mysqldump –u username –p password dbname [tbname1 [tbname2…]]>路徑\filename.sql”。
2.2.2 多個數(shù)據(jù)庫數(shù)據(jù)表備份
使用mysqldump命令備份多個數(shù)據(jù)庫數(shù)據(jù)的格式為:
“mysqldump –u username –p password -- databases dbname1 [dbname2 dbname3…] >\路徑\filename.sql”。
注意databases之前需要2個短劃線。
2.2.3 所有數(shù)據(jù)庫數(shù)據(jù)表備份
使用mysqldump命令備份所有數(shù)據(jù)庫數(shù)據(jù)的格式為:
“mysqldump –u username –p password –all -databases>\路徑\filename.sql”。
注意all之前需要2個短劃線。
2.3 通過WorkBench將數(shù)據(jù)導(dǎo)出
如果要將WorkBench中的數(shù)據(jù)庫導(dǎo)入,可以在“Navigator”欄的“Management”中,選擇“Data Export”,再選擇需要導(dǎo)出的數(shù)據(jù)庫和數(shù)據(jù)表導(dǎo)出方式,在“Export to Self-Contained file”一欄中,輸入文件名和存放路徑,最后點(diǎn)擊“Start Export”,實(shí)現(xiàn)導(dǎo)出。此時的數(shù)據(jù)庫保存為一個SQL文件。
3 結(jié)束語
數(shù)據(jù)庫中數(shù)據(jù)是數(shù)據(jù)庫能正常運(yùn)行和使用的基礎(chǔ),通過對MySQL數(shù)據(jù)庫中數(shù)據(jù)導(dǎo)入及導(dǎo)出方法的分析和總結(jié),本文結(jié)合MySQL提供的多種工具,給出了多種數(shù)據(jù)導(dǎo)入及導(dǎo)出實(shí)施途徑,使得數(shù)據(jù)庫使用更加便捷和有效。
參考文獻(xiàn):
[1] 詹重詠.MySQL數(shù)據(jù)庫中數(shù)據(jù)導(dǎo)入與導(dǎo)出探析[J].數(shù)字技術(shù)與應(yīng)用,2017(12):231,233.
[2] 榮秀君.淺析SQL Server2000導(dǎo)入Excel數(shù)據(jù)中的問題[J].電腦知識與技術(shù),2009,5(3):539-540.
[3] 李煥玲.SQL Server中數(shù)據(jù)的導(dǎo)入導(dǎo)出[J].科技資訊,2008,6(28):15,17.
[4] 汪維,胡帥.MySQL數(shù)據(jù)庫有關(guān)數(shù)據(jù)的備份方法分析[J].信息技術(shù)與信息化,2020(7):36-37.
[5] 段震.淺談MySQL數(shù)據(jù)庫有關(guān)數(shù)據(jù)備份的幾種方法[J].山西電子技術(shù),2020(2):17-18.
[6] 胡承.MYSQL數(shù)據(jù)庫的安裝備份與密碼恢復(fù)[J].甘肅科技,2008,24(23):36-37,8.
[7] 馮浩,趙元祥.簡述MySQL數(shù)據(jù)的導(dǎo)入導(dǎo)出[J]. 理財(cái):經(jīng)論,2016(8): 35-37
【通聯(lián)編輯:王力】