Fala, não sou o mais experiente do mundo e nem lembro de cabeça 100% dos nomes, mas em resumo:
Banco de dados
Banco de dados é o local onde uma aplicação salva os dados que precisa (por exemplo, a sua postagem e esse comentário ficam salvos em um banco de dados). Dessa forma, qualquer um que acessar a aplicação consegue carregar aqueles dados.
Existem diferentes tipos de banco de dados (variando principalmente na forma que o dado fica organizado e como ele é "buscado"), com objetivos diferentes e que vão atender aplicações com funções diferentes, como por exemplo: banco de dados relacional, não-relacional, temporal, espacial, biológicos, ...
Acredito que é possível destacar dois principais, que devem cobrir uns 95% dos sistemas: relacional e não-relacional.
Relacional
Esse deve ser o mais comum hoje, principalmente por causa de sistemas legados, mas uma forma simples de imaginar seria que o dado fica guardado em "tabelas". Cada tabela dessa representa alguma parte da aplicação (ex: clientes, produtos, postagens, ...) e é formada por colunas (que representam os atributos dos registros naquela tabela) e linhas (que são os registros de fato).
Essas tabelas são relacionadas entre si (como o nome sugere) utilizando alguma chave (ou atributo) como um ID (identificador), CPF, email, ou algo nesse estilo (precisa ser único), geralmente um id gerado aleatoriamente.
Não-relacional
Nesse tipo de banco de dados os registros não ficam salvos em tabelas relacionadas (como o nome também sugere). Gosto de imaginar que seria como um JSON de dados.
SQL
SQL é uma sigla para 'Structured Query Language', que seria uma linguagem para conseguir manipular os dados do banco de dados.
Diferentes tipos de bancos de dados vão ter diferentes linguagens para manipulá-los, se não me engano SQL seria apenas para os bancos relacionais.
Essa linguagem torna possível realizar as operações nos bancos de dados, como adicionar ou editar um item, selecionar todos os registros, buscar um registro em um tempo específico (para um banco de dados temporal por exemplo).
SGBDS
Alguns nomes que você citou na real não são banco de dados, mas sim SGBDs (Sistema de Gerenciamento de Banco de Dados). Esses são basicamente os sistemas que facilitam o acesso ao banco de dados, pois abstraem a maior parte das coisas comuns que todo mundo usa. Por exemplo: MySQL é um SGBD para um banco de dados relacional. MongoDB é um SGBD para um banco de dados não-relacional.
Claro que aqui foi apenas um resumo que escrevi de cabeça, devo ter cometido alguns erros. Recomendo um estudo mais aprofundado no assunto, se for trabalhar com desenvolvimento com certeza será útil (afinal tudo que for feito deveria ficar salvo em algum lugar né).