mysql导入导出命令解析
mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATETABLEINSERT等。下面就让我们一起学习吧!
一、mysqldump:数据库备份程序
有3种方式来调用mysqldump:
mysqldump[options]db_name[tables] mysqldump[options]---databaseDB1[DB2DB3...] mysqldump[options]--all--database
如果没有指定任何表或使用了---database或--all--database选项,则转储整个数据库。
1、备份一个数据库.
mysqldump-uroot-p123456mysql>mysql_backup.sql
这里备份了databasemysql的结构和数据,生成的sql文件不会有创建databasemysql的语句。
2、可以用一个命令备份mysql,test多个数据库:
mysqldump-uroot-p123456--databasemysqltest>my_databases.sql
生成的sql文件有创建databasemysql和test的语句
3、备份所有数据库:
mysqldump-uroot-p123456--all-databases>all_databases.sql
4、导出mysql这个数据库的结构
mysqldump-uroot-p123456-d--add-drop-tablemysql>mysql_define.sql
5、导出一个数据所有数据并用gz压缩
mysqldump-uroot-p123456mysql|gzip>mysql.sql.gz
可以这样将转储文件读回到服务器:
mysqldb_name<backup-file.sql mysql-e"source/path-to--backup/backup-file.sql"db_name
或者从gz文件中还原
gunzip-f<mysql.sql.gz|mysql-uroot-p123456test
二、SELECT...INTOOUTFILE
SELECT...INTOOUTFILE'file_name'形式的SELECT可以把被选择的行写入一个文件中,该文件被创建到服务器主机上。
SELECT...INTOOUTFILE是LOADDATAINFILE的补语;用于语句的exort_options部分的语法包括部分FIELDS和LINES子句,这些子句与LOADDATAINFILE语句同时使用。
在下面的例子中,生成一个文件,各值用逗号隔开。这种格式可以被许多程序使用
SELECT*INTOOUTFILE'/tmp/result.txt' FIELDSTERMINATEDBY',' OPTIONALLYENCLOSEDBY'"' LINESTERMINATEDBY'\n' FROMmysql.user;
将mysql数据库的user表的数据导出到/tmp/result.txt
SELECT...INTOOUTFILE只能导出数据,不能导出结构,一般和loaddata联合使用。
三、LOADDATAINFILE
LOADDATAINFILE语句用于高速地从一个文本文件中读取行,并装入一个表中。文件名称必须为一个文字字符串。
由character_set_database系统变量指示的字符集被用于解释文件中的信息。
LOADDATALOCALINFILE'/tmp/result.txt'INTOTABLEtest.user FIELDSTERMINATEDBY',' OPTIONALLYENCLOSEDBY'"' LINESTERMINATEDBY'\n'
把/tmp/result.txt的数据导入到test数据库的user表。
FIELDSTERMINATEDBY','字段间分割符采用,号 OPTIONALLYENCLOSEDBY'"'用"号将字段包围,对数值型无效 LINESTERMINATEDBY'\n'记录间隔符采用\n换行符
以上就是关于mysql导入导出命令的全部介绍,希望对大家熟练掌握mysql命令有所帮助