Only use a database if you need a database. That is:
- If you need to perform complex queries often.
- If you have complex data relationships.
- If your data is huge and is not likely to fit in memory.
If your game's data satisfies any of these conditions, you might benefit from using a database. Note that these are not very common, and you probably don't satisfy any of them. If you do, I would go with SQLite or something with a similar idea of not requiring a running server and being just a library.
Otherwise, use files and load data in memory on startup. If you want the game to be moddable, load this data from both your game's directory and from mods' directories and define how conflicting information might be merged.
Also note that, if you do use a database, it might benefit both you and mods' developers to still use files to read initial data and construct the database only when the game loads. Unless the potential size of this database is huge (i.e., more than a few dozen MiB), you might want to use an in-memory database, which is possible in SQLite by specifying
:memory: as the database path.