从文本文件中读取数据
导入数据文件 CSV等
LOAD DATA INFILE 文件名 INTO TABLE 表名 选项;
指定LOAD DATA INFILE 命令中的数据形式的选项有:
—–FIELDS TREMINATED BY 分割字符(默认为[\t] ,即tab字符)
—–LINES TREMINATED BY 换行字符 (默认为[\n])
—–IGNORE 最初跳过的行 LINES(默认为0)
以文本文件形式导出数据文件
导出数据文件
SELECT * INTO OUTFILE 文件名 选项 FROM 表名;
选项与导入相同:
—–FIELDS TREMINATED BY 分割字符(默认为[\t] ,即tab字符)
—–LINES TREMINATED BY 换行字符 (默认为[\n])
—–IGNORE 最初跳过的行 LINES(默认为0)
执行文件中保存的SQL命令
–在MySQL监视器中运行保存了SQL命令的文件–
执行复杂的SQL语句,通常先保存在文本文件中,然后使用SOURCE命令
SOURCE 文本文件名
注意:没有分号
–在命令行中执行保存的SQL命令文件–
$ mysql 数据库名 -u用户名 -p密码 -e “MySQL监视器的命令”
MySQL监视器的命令即可在MySQL监视器中可运行的命令
文件中保存SQL的执行结果
–在命令行中使用[>]等符号–
$ mysql -u root -p密码 -e “SOURCE C:/data/sql.txt” > log.txt
将结果输出到log.txt文件中
–在MySQL监视器中使用tee命令–
语法:
tee 输出的文件名;
notee
将tee与notee之间的命令的结果都存储在文件当中
数据库的整体备份与复制
将数据库文件整体保存到文件中的操作被称为转储(dump),在命令行中使用mysqldump命令。
数据库结构和数据都以SQL语句的形式输出到文件中
相反,将转储文本文件还原成数据库的操作称为恢复(restore)
–使用mysqldump命令进行转储–
$ mysqldump -u 用户名 -p密码 数据库名 > 输出文件名
如果出现转储失败的情况,可以尝试在命令最后加上[–default-character-set=utf8]这样的字符编码选项。
–使用转储文件进行数据库恢复–
首先使用mysqladmin命令来创建数据库,然后对mysql命令使用输入重定向来恢复数据库
$ mysqladmin -u 用户名 -p密码 CREATE 数据库名
$ mysql -u 用户名 -p密码 数据库名 < 转储文件名