you will probably want to use a field type of BLOB in your database for the base64 string - but I haven't tried that to see if there are things to watch out for.
if you want to store the data in your MySQL database using the field names you show above, then you would have to use json_encode and json_decode in your php scripts to send or receive data from Construct3.
(you would build an array in php from the data you read from the database and then use that with json_encode to get a json string to send to C3, when you receive data from C3, json_decode will give you an array that you loop through to build queries to update your database.)
or do it manually like you are tying but with safe deliminators. I do a lot of database work with Construct and MySQL - I use a delimiter that can't be typed on the keyboard (unless you hold down the Alt key and type 0166). I use ¦ for a field deliminator and ¶ for a record deliminator. (alt-0166, and alt-0182).
php doesn't like those characters typed in that way so I set variables like this:
$f="%c2%a6"; $r="%c2%b6"; // field and record delimiters
and then use them like this:
echo $rows['Name']. $f . $rows['DictJson']. $f . $rows['OtherData']. $r;