我有一个包含几千行的表,其中有几个整数列和一个blob列。我想将每一行作为自己的文件转储出去,其中blob是内容,整数用于形成文件名。这是一次操作,所以快速和肮脏是可以的。一个限制因素是我几乎没有在这个环境中安装任何工具,所以不管我使用什么,这都是开发成本的一部分。
编辑:我最终使用了来自另一个框的C#。它只需要下载单个程序集和大约相同数量的代码给出在下面的答案。
发布于 2009-06-26 21:52:55
PHP中一些快速的东西:
<?php
$connection = mysql_connect("mysqlserver.example.com", "username", "password");
mysql_select_db("dbname");
$sql = "SELECT `blob_column`, `id` FROM `mytable`";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)){
file_put_contents("file" + $row["id"] + ".dat", $row["blob_column"]);
}
mysql_close($connection);您可能可以使用任何访问MySQL的方法进行模拟,但是AFAIK无法使用纯SQL进行模拟。
发布于 2009-06-26 23:00:07
在通用Lisp中,使用CLSQL,下面这样的内容应该可以工作(未经测试,目前还没有安装MySQL ):
(require 'clsql)
(require 'clsql-mysql)
(clsql:connect (host db user password port) :database-type :mysql)
(clsql:do-query ((col1 col2 blob) "select col1,col2,blob from blobtable")
(with-open-file (outfile (format nil "~a-~a" col1 col2)
:direction :output
:element-type 'byte)
(write-sequence blob outfile)))您必须填写主机、db等(端口是可选的),当然还要调整查询。
https://stackoverflow.com/questions/1051398
复制相似问题