Программный интерфейс MySQL создан для предоставления разработчикам некоторых специфических возможностей. Они кратко обсуждаются в этом разделе.
■ Управление соединениями. Прежде чем приложение начнет взаимодействовать с базой данных и выполнять запросы по данным, хранимым в ней, должно быть ус­тановлено соединение с сервером баз данных. Программный интерфейс MySQL включает в себя ряд функций, специально созданных для подключения приложений к серверу баз данных MySQL, предоставления всей необходимой для регистрации информации и открытия канала для последующей связи. Когда связь окончена, программный интерфейс предоставляет функции для завершения соединения и освобождения использованной памяти.
■ Выполнение запросов и обработка результатов. Когда соединение установлено, приложение может начинать отправлять запросы серверу и получать результаты их работы. Программный интерфейс MySQL предоставляет множество функций для облегчения этого процесса, включая функции, выполняющие запросы либо раздельно, либо транзактным блоком команд, а также функции для получения, обработки и выборки определенных записей из совокупности полей записи.
■ Сообщения об ошибках. Программный интерфейс MySQL также предоставляет основные возможности относительно сообщения об ошибках и передачи кодов ошибок. Кроме того, программный интерфейс позволяет вызвавшим программам получить доступ к детальной отладочной и служебной информации, включая текущее состояние сервера и список всех активных процессов.
На заметку
Программный интерфейс MySQL не производит обработку исключительных ситуаций. Он просто оповещает об ошибках, оставляя задачу по их обработке разработчику.
■ Вспомогательные функции. В дополнение ко множеству вышеописанных функций программный интерфейс MySQL также предоставляет ряд т.н. служебных функций, т.е. возвращающих текущее состояние сервера (количество открытых соединений, количество обрабатываемых запросов, версия сервера и т.д.), предоставляющих список доступных баз данных, таблиц, полей и процессов, а также управления наборами символов; предоставления детальной диагностической и отладочной информации; очистки неиспользуемой памяти, закрывая неиспользуемые соединения и завершая неактивные процессы; и выключения, перезапуска и перезагрузки сервера.

Поддержка языков
В MySQL доступны программные интерфейсы для самых разных языков программи­рования, что позволяет создание приложений, работающих с базами данных, на выбранном вами языке. На данный момент MySQL имеет такие API-интерфейсы для языков C, C++, Java, PHP, Perl, Python, ODBC, Ruby, Eiffel и Tcl, гарантируя, что при создании собственных приложений, работающих с базами данных MySQL, недостаток выбора будет самой незначительной проблемой.
Последующий материал кратко описывает каждое из этих направлений программного интерфейса.
■ C и C++. Так как все утилиты MySQL написаны на языке C, то естественно, что самым полнофункциональным среди здесь описанных вариантов является программный интерфейс MySQL для языка C. Он поставляется с дистрибутивом MySQL в виде библиотеки libmysqlclient, а также используется всеми утилитами, поступающими в комплекте с MySQL. Эти утилиты являются богатым источником информации для разработчиков на языке С, которые пытаются понять нюансы этого программного интерфейса. Библиотека языка C - это основа всех других программных интерфейсов, описанных в этом разделе (кроме программного интерфейса Java).
На заметку
Подробное обсуждение программирования для MySQL на языке С доступно в главе 19, "MySQL и язык С"; более полную информацию о программном интерфейсе MySQL для языка C можно получить по адресу http://www.mysql.com/documentation. 
■ PHP Hypertext PreProcessor (PHP) - это язык написания сценариев, позволяющий вставлять в Web-страницы команды HTML, таким образом делая возможным включить в статические Web-сайты сложную логику. Благодаря такой мощи, гибкости и простоте использования язык быстро стал популярным среди Web-разработчиков, а из-за встроенной поддержки разных СУБД, его часто выбирают для мелких или средних управляемых базой данных приложений. Последняя версия PHP - PHP 4 включает в себя встроенную поддержку MySQL и имеет полнофункциональный программный интерфейс для управления соединениями, запросами и результирующими наборами.