有没有办法导入这样的数据:
mysql> IMPORT DATA INTO db1.table_foo FROM RAW "col1 col2 col3\n10 2 6\n9 4 3\n8 8 2\n"
或者像这样:
%> mysql --raw-option -u user db1.table_foo < cat "col1 col2 col3\n10 2 6\n9 4 3\n8 8 2\n"
答案 0 :(得分:1)
您可以使用mysql的--execute or -e parameters命令行实用程序从字符串执行sql语句。 command line options上的Mysql文档提供了有关如何使用此选项的详细信息:
在命令行上给出时,必须引用包含空格的选项值。例如, - execute(或-e)选项可以与mysql一起使用,以将SQL语句传递给服务器。使用此选项时,mysql将执行选项值中的语句并退出。这些陈述必须用引号括起来。
[...]
如果您希望在声明中使用引用值,则可以使用 需要逃避内部引号,或使用不同类型的 声明中的引号来自用于引用的引用 声明本身。命令处理器的功能决定了 您是否可以使用单引号或双引号的选择 以及转义引号字符的语法。例如,如果你的 命令处理器支持使用单引号或双引号引用 标记,你可以在语句周围使用双引号,和 声明中任何引用值的单引号。
可以在选项值上传递多个SQL语句 命令行,以分号分隔
但是,导入必须作为sql语句执行。不能仅使用字符串中的数据直接导入。