Что я должен знать об API?

Что я хочу и имею

Я готов создать API , я уже знаю, что означает API. Я использую PHP как серверный язык.

Однако я не понимаю, как работает API с нуля, и как я могу позволить пользователям использовать мой API после его создания.

Что я думаю и знаю

Хорошо сейчас я думаю, что с API я могу позволить разработчикам достичь моей базы данных и запрашивать запросы. Но зачем мне создавать полный язык для этого? Почему они не могут использовать PHP или любой другой серверный язык?

Как я видел, компании, которые набирают API для своего сайта, требуют регистрации, чтобы дать разработчикам API-ключ. Записываются ли разработчики в базу данных через этот API KEY ? И если да, то почему у них тоже нет пароля? Если я знаю чей-то API-ключ, я могу использовать его или что?

И когда я читал / слышал, что XML связан как-то с API, но почему и как?

Также, пожалуйста, рассмотрите в своих ответах, что я не хочу использовать какие-либо фреймворки или что-то в этом роде, я хочу сделать это на месте, поэтому я хочу понять, как это работает от A до Z.