The _ naming convention is usually for namespace that is false, for instance _Image_JPEG (which should never be called as Image_JPEG.something()), but is mapped in from another module (Image.JPEG.something()).
(The reason they are separated is that they might or might not be able to load. If you remove libjpeg from your system you might still want to be able to use Image.)
I'm not sure how your module is intended to use, but if it'll be linked into the module system under Sql.something, or never should be called by the user, the _ is probably a good idea as an indicator for that.