1、SQLとは一つのカテゴリーであってその中にmysql,sqliteがあるのでしょうか?
違う。SQLは言語名。RDBMS(リレーショナルデータベース管理システム)用のデータベース言語。ANSI及びISOで標準化されている。
現在のほとんどのRDBMS(PostgreSQL、MraiaDB、SQL Server、SQLite等)はSQLと互換または拡張したSQL文を用いるようにできている。しかし、各システムで方言や実装されている型や機能などの違いが大きいため、全てのシステムで共通で動作する実用的なSQL文は多くはない。ORMなどのラッピングするライブラリを使用しない場合、ほとんどのプログラムは特定のRDBMS専用になる。
SQLを使わない(使えない)RDBMSがあるかは不明。(あったら、教えて欲しい)
2、Nosqlも一つのカテゴリーであって、その中にDBM,memcach,neo4j,hbase,mongoDBなどがあるのでしょうか?
SQLを使用するRDBMS以外のデータベース。その種類は多様で、昔からあるkey-value型(古くはdbm系やBarkley DB、新しいのではRedis)、ドキュメント指向(JSONを使うmongoDB)、その他諸々すべてになる。もっといえば、ファイルシステムもNoSQLの一種と言えるのかも知れない。
SQLを使わない(使えない)RDBMSがNoSQLになるかは不明。(そもそも、存在するか不明)
3、データベースを扱うためには、それら全部の操作方法を学ばなくてはいけないのでしょうか?
その質問は「Windowsを扱うためには、それら全部の操作方法を学ばなくてはいけないのでしょうか?」という質問ぐらい無意味である。答えは単に「扱うレベルによって異なる」だ。データベースをただ利用するだけであれば、その利用に必要な操作だけを覚えれば良いだろう。データベース自体を設計・開発するコア開発者の一人で、データベースの操作方法に関する責任者という立場であれば、ほぼ全ての操作方法を把握しなければ、適切な設計・開発は難しいだろう。
4、例えば、ある目安としてひとつのwebサービスを作るとして、そこにはいくつのデータベース言語【?】みたいなのが使われているのでしょうか?
それはどんなサービスなのか具体的に詰めないとわからない。一つのサービスと言っても、teratailのような一つの機能ぐらいしかない物もあれば、ニコニコ動画のように総合的に色んな機能をまとめたサービスの場合もある。そのバックエンドにどのようなデータベースがあるのかはサービスに合わせてどのように設計したかによる。その特性から、認証系、管理系、保管系等にわけるということも珍しくないことだろう。
また、データベースを使うからと言って、開発でSQLのようなデータベース言語を書くとは限らない。ORM等のラッパーを使えば、(その動作を把握するためにどのようなSQL文を発行するかは知っておく必要はあるが)コード上にはSQL文は一切現れないことがある。この場合、使われているデータベース言語は実質0個となる。逆に、ソースコード上にSQL文が散乱する場合もある。他にも、RDBMS側にストアドプロシージャを組み込んでおいて、プログラミング言語で発行するSQL文は単純なものしか書かないというのもある。どのような戦略を採るかはプロジェクトによって異なり、何が良いのかは時と場合(と言うより集められる開発者)によりけりで一概には言えない。