从文本文件中读取数据(import)
常用的文本文件:CSV(Comma Separated Values)文件,即:以逗号分隔的数值
形式如下:
[plain]
M0001,李刚,1976-01-05,1
M0002,王二,1955-01-15,1
M0003,李四,1967-03-05,1
[sql]
LOAD DATA INFILE 'D:/myCodes/test.cvs' INTO TABLE member FIELDS TERMINATED BY ','; -- 注意 test.cvs 文件的编码
SELECT * INTO OUTFILE 'D:/myCodes/out.cvs' FIELDS TERMINATED BY ',' FROM member;
执行文件中保存的 SQL 命令
[sql]
SOURCE D:/myCodes/test.sql -- SOURCE 并不 SQL 命令,因此,结尾不用加分号 ;
mysql test -uroot -p -e "SOURCE D:/myCodes/test.sql" -- test 是数据库名
可以将上述 SQL 语句写成批处理文件,如:
[plain]
mysql test -uroot -p -e "SOURCE D:/myCodes/test.sql"
pause
将 SQL 执行结果保存到文件中
键盘、鼠标等输入设备,被称为标准输入;
显示器等设备,属于标准输出。
标准输入、标准输出,这些设备,是可以变更的,这种变更操作就称为重定向(Redirect)。
命令窗口中
[sql]
dir > D:/myCodes/redirect.txt
dir > D:\myCodes\redirect.txt
TYPE D:\myCodes\redirect.txt
HELP
HELP TYPE
MySQL 中,
[sql]
mysql -uroot -p > D:\myCodes\log.txt
TYPE D:\myCodes\log.txt
mysql -uroot -p -e "SOURCE D:/myCodes/test.sql" > D:\myCodes\log.txt
使用 tee 命令将 SQL 语句的执行结果保存到文件中
[sql]
tee D:/myCodes/teeLog.txt
USE home;
SELECT * FROM customer;
notee;
EXIT;
TYPE D:\myCodes\teeLog.txt
数据库备份与恢复
将数据库整体保存到文件中的操作,被称为转储(dump)
将转储文本文件还原成数据库的操作,被称为恢复(restore)
[sql]
mysqldump -u root -p home > D:/myCodes/home_back.sql --default-character-set=utf8
mysqladmin -u root -p CREATE home1
mysql -u root -p home1 < D:/myCodes/home_back.sql --default-character-set=utf8