Como o rmendes08 disse, JDBC não é um banco de dados e sim uma api java pra trabalhar com o banco de dados.
MySQL e Postgres são os banco de dados relacionais mais utilizados pra projetos pequenos, ambos possuem um bom SGBD para gerencia-lo. Desconfio muito da afirmação que o rcarauta disse, onde o MySQL é mais usado. Pra PHP pode até ser, porém pra Java não sei. Ambos podem ser usados para aplicações web. Banco de dados roda no servidor, portanto não tem essa diferença, um é pra web, outro é pra desktop.
Oracle e DB2 são banco de dados mais robustos, com bem mais recursos, porém para projetos pequenos é muito pouco usado. DB2 é usado mais para mainframes.
Outro tipo de banco de dados, é o embarcado, como disse tb o rmendes08, usando ele, vc pode gerenciar seu banco até mesmo pela IDE, e é utilizado apenas para projetos muito pequenos e não distribuído