File Exchange

image thumbnail

Access a MySQL database

version (20.6 KB) by Dimitri Shvorob
(with mym.m)


Updated 04 Apr 2016

View License

The submission collects several small utilities 'wrapping' Yannick Maret's 'mym' Matlab/MySQL interface, available from

Their application is illustrated by script mydemo.m, which uses the FEX download data presented in FEX submission 'A week on File Exchange'. First, we read the data (6 mixed-type columns, over 1 million rows) from a text file into a MySQL table, using 'load infile', passed through the basic mym interface. Next, we retrieve the table's structure and contents into Matlab workspace using TBATTR and TBREAD, and take the data back to MySQL with TBWRITE.

We observe that text-file-mediated exchange, accommodated on MySQL's side by 'load infile' and 'select into outfile', is a vastly superior option for large datasets; TBREAD and TBWRITE (the latter operating through multiple-row 'insert values' flushes) are more convenient for small datasets with many columns.

Cite As

Dimitri Shvorob (2021). Access a MySQL database (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (3)


Dadi Gudmundsson

Overall I find this useful and good. Reason for less than perfect rating is:
1) These wrapper files tend to replace more detailed mym error messages with their own. Easy to fix.
2) For some datasets the s string created in TBWRITE line 79 ends in a comma and a space. This means that line 80 doesn't remove the comma at the end. This then gives an SQL error. Haven't figured out why some datasets do this, but not others. Pretty easy to fix.

Howard Bussey

I'm trying to use a MySQL server that is on a non-standard port (not 3306) and mym doesn't connect. I can use the MySQL browser to see the databases that server manages, so I know the server is running and listening on the non-standard port. I also tried specifying port 3306 (standard) for a server with the standard configuration - that didn't connect either.

Has anyone else tried specifying a port in the connection string? Did it work for you?

MATLAB Release Compatibility
Created with R2006a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!