mysql导入导出命令解析 |
mysqldump是mysql用于转存储数据库的实用程序 。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等 。下面就让我们一起学习吧! 一、mysqldump:数据库备份程序 mysqldump [options] db_name [tables] mysqldump [options] ---database DB1 [DB2 DB3...] mysqldump [options] --all--database 如果没有指定任何表或使用了---database或--all--database选项,则转储整个数据库 。 1、备份一个数据库. mysqldump -uroot -p123456 mysql > mysql_backup.sql 这里备份了database mysql的结构和数据,生成的sql文件不会有创建database mysql的语句 。 2、可以用一个命令备份mysql,test多个数据库: mysqldump -u root -p123456 --database mysql test > my_databases.sql 生成的sql文件有创建database mysql和test的语句 3、备份所有数据库: mysqldump -u root -p123456 --all-databases > all_databases.sql 4、导出mysql这个数据库的结构 mysqldump -u root -p123456 -d --add-drop-table mysql > mysql_define.sql 5、导出一个数据所有数据并用gz压缩 mysqldump -u root -p123456 mysql | gzip > mysql.sql.gz 可以这样将转储文件读回到服务器: mysql db_name < backup-file.sql mysql -e "source /path-to--backup/backup-file.sql" db_name 或者从gz文件中还原 gunzip -f < mysql.sql.gz | mysql -u root -p123456 test
二、SELECT...INTO OUTFILE SELECT...INTO OUTFILE是LOAD DATA INFILE的补语;用于语句的exort_options部分的语法包括部分FIELDS和LINES子句,这些子句与LOAD DATA INFILE语句同时使用 。 在下面的例子中,生成一个文件,各值用逗号隔开 。这种格式可以被许多程序使用 SELECT * INTO OUTFILE /tmp/result.txt FIELDS TERMINATED BY , OPTIONALLY ENCLOSED BY " LINES TERMINATED BY \n FROM mysql.user; 将mysql数据库的user表的数据导出到/tmp/result.txt SELECT...INTO OUTFILE只能导出数据,不能导出结构,一般和load data联合使用 。
三、LOAD DATA INFILE 由character_set_database系统变量指示的字符集被用于解释文件中的信息 。 LOAD DATA LOCAL INFILE /tmp/result.txt INTO TABLE test.user FIELDS TERMINATED BY , OPTIONALLY ENCLOSED BY " LINES TERMINATED BY \n 把/tmp/result.txt的数据导入到test数据库的user表 。 四、导入导出格式 FIELDS TERMINATED BY , 字段间分割符采用,号 OPTIONALLY ENCLOSED BY " 用"号将字段包围,对数值型无效 LINES TERMINATED BY \n 记录间隔符采用\n换行符 以上就是关于mysql导入导出命令的全部介绍,希望对大家熟练掌握mysql命令有所帮助 |