将数据从Mathematica插入mysql作为blob

ene*_*ene 3 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<>"')"]
Run Code Online (Sandbox Code Playgroud)

kgl*_*glr 7

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

img=ExportString[picture, "PNG"]; 
Run Code Online (Sandbox Code Playgroud)

您需要使用生成的字符串转换为原始二进制数据

byteData=SQLBinary[ToCharacterCode[img]];
Run Code Online (Sandbox Code Playgroud)

假设列pictures(具有数据类型LONGVARBINARY, VARBINARYBINARY)位于,例如,PICTABLE然后使用插入byteDatapictures列中

SQLInsert[conn, "PICTABLE", {"pictures"}, {byteData}];
Run Code Online (Sandbox Code Playgroud)

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