MySQL导入sql文件的时候导入命令mysql 和source有什么底层上区别吗

导出直接使用了mysqldump
但是导入的时候可以使用

mysql -u root -p dbname < dbname.sql

也可以使用

use dbname;
source dbname.sql

这2种方式看字面上一个是系统交互命令,一个是mysql数据库的交互命令。除了这个还有其他的差别的地方吗?比如哪个命令会有大小限制或者文件类型限制?

阅读 13.6k
3 个回答

执行方式不同

  • shell命令 mysql -u root -p dbname < dbname.sql会做一个批处理(一次执行多条),处理效率高

  • mysql命令 source dbname.sql ,把文件中的sql每次执行一句并输出,效率较低

基于以上特点,如果是sql文件很大,建议使用shell命令方式。

执行方式不一样。第一种mysql直接在命令行中执行即可,第二种source必须登录mysql terminal才能执行。原因就是第一个是shell命令,第二个是mysql命令。

效率方面:第一种好于第二种,推荐使用第一种

补充下:除了这两个外还可以使用LOAD DATA INFILE 的方式导入sql文件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏