mysql 关于导出表的几种方式的区别

第一种 select * from tablename [ where condition] into outfile 目标文件夹下的某文件

mysql> select * from hxjy  into outfile 'C:/mysqlback/hxjy.txt' ;
Query OK, 11 rows affected (0.00 sec)

mysql 关于导出表的几种方式的区别_数据库


第二种 是在cmd界面用mysqldump导出这种方式会导出 两个文件,一个txt,一个sql

C:\Users\Administrator>mysqldump -T C:\mysqlback   company hxjy -u root -p --fields-terminated-by='!
!!!'
Enter password: ******

C:\Users\Administrator>

这种方式不需要指定文件名,生成的文件也必须符合 secure-file-priv 的位置要求否则会报错

mysql> select * from hxjy into outfile ‘C:\mysqlback\huixinjiaoyu.doc’ ;

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement —

mysql 关于导出表的几种方式的区别_文件名_02

第三种是用mysql --execute ‘select 语句’ dbname >某位置之下的某文件 的方式生成

C:\Users\Administrator>mysql -u root -p --execute 'select * from hxjy' company> C:\HJXY.doc

这种方式好像只能生成在盘的根目录下,指定其他位置的话存到了 MySQL文件夹下,这是为啥呢?

删掉该文件夹在执行,提示系统找不到指定路径,有知道的伙伴可以在评论区回答一下,谢谢!

mysql 关于导出表的几种方式的区别_文件名_03

C:\Users\Administrator>mysql -u root -p --execute 'select * from hxjy' company> C:/mysql/aiwo.txt

mysql 关于导出表的几种方式的区别_mysql_04

以上就是三种方式的基本区别,前两种跟secure-file-priv 有关,第三种 比较特殊。