The problem with running SQL questions on a mysql server or similar is that each question, or in fact each separate test case, needs to be run in a database context set up by the question author. It should be possible to grade multiple questions concurrently. The tests should be "stateless"': a question might ask students to insert data, and the test might use a select to verify the insertion, but once the test is fully complete there should be no residual database change. Lastly the tests must be secure in the sense that one user cannot see another user's database.
It's difficult to achieve all these requirements with (say) mysql. You could ask the question author to provide a mysql dump of a (temporary) database, which could be loaded for each test, then purged on completion, but it's not trivial to set this up and nor is it a very nice user interface for the author.
If you make any progress on this, please post back with your findings. But if it were me teaching SQL, I'd be using sqlite3 :)