Are your customers actually writing SQL for executing against a database or is your app generating SQL? If instead the app's purpose is to provide a "power interface" to access data (read only?) and generate SQL, there are better choices. Use https query parameters to map to parameterized queries (https://blog.codinghorror.com/give-me-parameterized-sql-or-g...) which are a much better design choice.
I wouldn't give out general access to a database to the wider internet. There are plenty of ways to cause trouble even with read-only access. Transactions and expensive queries are the first ones that come to mind.
If you provide the users with restricted DB access privileges, maybe.
If your app is marketed as directly interacting with a database using SQL language, then I can see why this would make sense. But in that case, you should definitely make sure that every customer interacts with an isolated database from a non-root user. That way they can fuck up the data all they want, but it will only be their data.
delete from table foo