數據庫的備份、導入、導出是我們經(jīng)常遇到的問(wèn)題,而mysql數據庫的廣泛使用,受到越來(lái)越多人的喜歡。我個(gè)人比較喜歡用mysql,其實(shí)和mysql結緣還是大二的時(shí)候,當時(shí)自己的機器裝上微軟的SQL2000后都跑不起來(lái)……后來(lái),聽(tīng)老師說(shuō)mysql比較小,而且又是命令行操作(我個(gè)人最喜歡命令行下搞東西^_^),所以就下了mysql5.0安裝,果然,mysql用起來(lái)就是爽,盡管當時(shí)沒(méi)有安裝圖形用戶(hù),可是運行起來(lái)機器一點(diǎn)也不卡,難以想象,自己當初的那個(gè)p2的cpu256的內存跑個(gè)爛本本還如魚(yú)得水……呵呵
…………………………
言歸正傳吧!
下面我和大家一起來(lái)學(xué)習mysql的備份、導入、以及導出命令
我們還是先到mysql的命令行下吧:
××××××××××××××××××××××××××××××××××××××××××××××
>mysql -uroot -p
輸入密碼:******
mysql> drop database if exists test;
Query OK, 2 rows affected (0.06 sec)
mysql> create database test;
Query OK, 1 row affected (0.02 sec)
mysql> use test;
Database changed
mysql> create table t_student(
-> id int not null,
-> name char(10) not null,
-> gender char(2) not null,
-> birthdate datetime,
-> primary key(id));
Query OK, 0 rows affected (0.01 sec)
mysql> insert into t_student values(1,'zhangsan','male','1986-11-24');
Query OK, 1 row affected (0.02 sec)
好了,到這里我們的數據庫創(chuàng )建,表的創(chuàng )建、初始化就結束了
××××××××××××××××××××××××××××××××××××××××××××××
一、備份數據庫
備份數據庫包括三層含義
1.導出整個(gè)數據庫
進(jìn)入mysql安裝目錄下bin目錄(當然如果你的bin已經(jīng)包含在path目錄下,在任何目錄下都可以)
用法:mysqldump -u 用戶(hù)名 -p 數據庫名 > 導出的文件名
mysqldump -uroot -p test>c:/temp/db_test.backup
輸入密碼:******
備份成功!現在我們以文本的方式打開(kāi)c:/temp/db_test.backup這個(gè)文件,你會(huì )發(fā)現新大陸的^_^^_^
2.導出一個(gè)表
用法:mysqldump -u 用戶(hù)名 -p 數據庫名 表名> 導出的文件名
mysqldump -uroot -p test t_student>c:/temp/db_test.t_student.backup
3.導出一個(gè)數據庫結構
這個(gè)說(shuō)起來(lái)有點(diǎn)抽象,一會(huì )兒,我慢慢解釋……
用法:mysqldump -uroot -p -d --add-drop-table 數據庫名>導出文件名
mysqldump -uroot -p -d --add-drop-table test>c:/temp/db_test.structure.backup
**注意:
-d表示沒(méi)有數據
--add-drop-table表示在每一個(gè)create語(yǔ)句之前添加一個(gè)drop table語(yǔ)句
打開(kāi)c:/temp/db_test.structure.backup文件,和先前的兩個(gè)文件比較,你會(huì )發(fā)現該文件里沒(méi)有我們插入的數據
二、導入數據庫
1.source命令
用法:mysql -uroot -p
輸入密碼:******
mysql>use 數據庫名;
mysql>source 備份的數據庫文件
mysql>source c:/temp/db_test.backup;
2.直接mysql -uroot -D數據庫名< 備份的數據庫文件
>mysql-uroot -p -Dtest<c:/temp/db_test.backup;
輸入密碼:******
三、數據的導入、導出
1.數據的導入
**注意:文本數據應符合的格式:字段數據之間用tab鍵隔開(kāi),null值用n來(lái)代替
這里我給t_student表添加一條記錄,格式如下:
1 zhangsan male 1986-11-24
保存為a.data文件名
用法: load data infile "文件名" into table 表名;
或者load data infile "文件名" into table 數據庫名.表名
mysql -uroot -p
輸入密碼:******
mysql>use test;
mysql>load data infile "c:/temp/a.data" into table t_student;
**注意:你最好將文件復制到mysql/bin目錄下,并且要先用use命令打表所在的庫
2.數據的導出
mysql>select * from 數據庫.數據表名 into outfile "文件名"
mysql>select * from test.t_student into outfile "c:/temp/data.out"
當然你也可以先use test;再select * from t_student into outfile "c:/temp/data.out"
聯(lián)系客服