ubuntu下通過終端實現(xiàn)數(shù)據(jù)庫導(dǎo)入導(dǎo)出
通過這段時間的工作,越來越覺得把一些用過查過的東西整理一下記錄下來是有必要的。因為說不定哪天又用到了,到時再去查很是浪費時間。都說好記性不如爛筆頭,在整理記錄的過程中,也肯定會有一些思考,能更有助于自己學(xué)習(xí)一些東西。這兩天要給一個客戶做數(shù)據(jù)合并,補習(xí)了一下數(shù)據(jù)庫導(dǎo)入導(dǎo)出的相關(guān)操作,看了很多網(wǎng)上的相關(guān)資料,怎么說呢,看起來很亂,不夠清晰。于是自己整理一下記下來,同時用一下markdown,以后用到就可以看自己的了。(本來整理了很多,但是說實話寫起來還是挺浪費時間的,先寫一部分,感覺重要的以后慢慢補吧,現(xiàn)在還有其他東西要學(xué))
準(zhǔn)備工作
- 先建一個數(shù)據(jù)庫‘original_database’,建一個‘student’表,向里面插入幾條數(shù)據(jù),作為原始數(shù)據(jù)庫。
mysql> create database original_database; mysql> create table student(name char(10), age int); mysql> insert into student(name, age) values('Tom', 13),('Jone', 15),('Bob', 15),('Alice', 14);
原始數(shù)據(jù)庫 - 再建一個空數(shù)據(jù)庫‘target_database’作為目標(biāo)數(shù)據(jù)庫。
mysql> create database target_database;
導(dǎo)出數(shù)據(jù)庫
- 使用mysqldump命令導(dǎo)出數(shù)據(jù)庫,我在自己的用戶目錄下建了一個‘database’目錄,然后直接使用mysqldump命令將數(shù)據(jù)庫導(dǎo)出。格式如下:
mysqldump -u 用戶名 -p 密碼 database > xxx.sql
我這里用戶名是root,密碼是等待輸入的,數(shù)據(jù)庫就是剛剛創(chuàng)建的原始數(shù)據(jù)庫。然后把它導(dǎo)出到‘original.sql’這個文件里
chenfei@ubuntu:~/database$ mysqldump -uroot -p original_database > original.sql
導(dǎo)出后的文件就在當(dāng)前執(zhí)行命令的目錄下,即database目錄下。
用vim打開original.sql查看里面的信息 - 我們還可以通過加相應(yīng)的參數(shù)實現(xiàn)不同的導(dǎo)出效果。
通過加‘-d’參數(shù),可以實現(xiàn)只導(dǎo)出建表指令
chenfei@ubuntu:~/database$ mysqldump -uroot -p -d original_database > original2.sql
用vim打開original2.sql可見里面只有建表指令
通過加‘-t’參數(shù),可以實現(xiàn)只導(dǎo)出插入數(shù)據(jù)的sql命令。
chenfei@ubuntu:~/database$ mysqldump -uroot -p -t original_database > original3.sql
用vim打開original2.sql可見里面只有插入數(shù)據(jù)的sql命令
還有很多其他參數(shù),用的時候先去查閱就ok了。
導(dǎo)入數(shù)據(jù)庫
- 導(dǎo)入數(shù)據(jù)庫就簡單多了,使用‘mysql -u 用戶名 -p 密碼 database < xxx.sql '命令即可。
這里我們把original.sql導(dǎo)入到剛才創(chuàng)建的空目標(biāo)數(shù)據(jù)庫‘target_database’里。
chenfei@ubuntu:~/database$ mysql -uroot -p target_database < original.sql
進入mysql的控制臺看一下‘target_database’里是否有數(shù)據(jù)了。

可以看到target_database已經(jīng)有了和original_database一樣的數(shù)據(jù)
這里主要是通過ubuntu終端來實現(xiàn)mysql數(shù)據(jù)庫的導(dǎo)入導(dǎo)出操作,通過mysql的控制臺也可以實現(xiàn),等有時間再把控制臺方式寫下來以備以后查看使用。



