将数据从Mathematica插入mysql作为blob

时间:2012-01-01 22:56:49

标签: mysql wolfram-mathematica

在php中,您可以将图片作为blob数据类型插入数据库。我想将数据块作为blob数据类型放入数据库中,这样我就可以使用php在Web上重用这些数据。
例如:

Needs["DatabaseLink`"];
conn=OpenSQLConnection["myDB"];
picture=Plot[Sin[x], {x,0,2Pi}];
SQLExecute[conn, "INSERT INTO pictures VALUES ('"<>picture<>"')"]

1 个答案:

答案 0 :(得分:7)

V 8.0.4文档页面SQLBinary中有一个示例,它提供了所需的步骤。将picture导出为您选择的格式@halirutan和@Verbeia建议后,请说

img=ExportString[picture, "PNG"]; 

您需要使用

将结果字符串转换为原始二进制数据
byteData=SQLBinary[ToCharacterCode[img]];

假设列pictures(数据类型为LONGVARBINARY, VARBINARYBINARY)位于PICTABLE,然后将byteData插入pictures列使用

SQLInsert[conn, "PICTABLE", {"pictures"}, {byteData}];

SQLExecute[ ... ]内的等效原始SQL命令。