I’m writing java application that is using both SQLite and MySQL using JDBC.
Are there any differences in SQL for those databases? Can I use same queries for both SQLite and MySQL, or is there any db specific stuff, that doesn’t work on the other one?
As far I’ve worked only with MySQL, so I don’t really know much about SQLite.
If you stick to ANSI SQL92, you’ll should be fine.
There are some SQL92 features missing from both MySQL and SQLite (e.g. FULL OUTER JOIN). MySQL has both RIGHT JOIN, and LEFT JOIN, SQLite only the LEFT JOIN. SQLite doesn’t support FOREIGN KEY constraints, neither does MySQL with MyISAM tables. SQLite of course doesn’t have GRANT/REVOKE, as permission system is based on underlying OS’s file permissions.