До этого момента мы имели дело только с различными утилитами MySQL, работающими с командной строкой: утилитой mysqldump, предназначенной для выборки содержимого базы данных, утилитой mysqladmin, необходимой для выполнения административных задач, и, конечно, клиентом mysql, выполняющим SQL-запросы. Все эти программы быстро работают, предназначены для эффективного выполнения специализированных задач, написаны на языке программирования (ЯП) С и работают по модели клиент/сервер.
Как упоминалось в предыдущей главе, MySQL функционирует с интерфейсом C API, позволяющим просто и быстро взаимодействовать с сервером базы данных с помощью языка программирования C. Этот API-интерфейс упакован в библиотеку, которой оснащены все стандартные дистрибутивы и которая используется всеми утилитами, работающими с командной строкой и поставляемыми в комплекте с MySQL (включая и те, о которых речь шла выше). На основании изложенного можно сделать вывод, что API-интерфейс для ЯП С является наиболее оснащенным среди всех API-интерфейсов. И действительно, он является базовым для всех других интерфейсов MySQL (за исключением API-интерфейса для Java).
Эта глава содержит подробное обсуждение C API-интерфейса, в ней продемонстрировано создание клиентских приложений MySQL с использованием программ и структур, предоставляемых этим API-интерфейсом.

Язык программирования
Для более полной демонстрации основных идей данной главы начнем с краткого оз­накомления с историей появления и развития ЯП C, а также инструментария, необходимого для того, чтобы начать работу с MySQL и C API-интерфейсом.
История и развитие
Большинство поклонников языка C считают, что мир берет свое начало со строчки, написанной на этом языке программирования. Но в действительности, конечно, все значительно прозаичнее. Язык программирования C был разработан в Лабораториях Белла (Bell Labs) в 70-х годах прошлого века Денисом Ритчи (Dennis Ritchie) и Кеннетом Томпсоном (Kenneth Thompson). ЯП C разрабатывался как высокоуровневый язык для операционной системы (ОС) UNIX и многое позаимствовал из разработанного в 1967 году и во многом аналогичного ЯП BCPL, хотя в нем не была предусмотрена работа с типами. В конце 70-х годов прошлого века Брайан Керниган (Brian Kernighan) и Денис Ритчи опубликовали формальное описание этого языка и предоставили его вниманию широкой публики за пределами Лабораторий Белла.
Находясь под впечатлением от возможностей этого языка, компьютерные компании начали поддерживать использование языка и компиляторов C для различных архитектур и ОС, что обусловило его выход в широкий свет. Обратив внимание на широкое рас­пространение C в 1983 году, институт ANSI создал специальный комитет по разработке формального стандарта ЯП C. Сегодня, несмотря на то, что все компиляторы C по-прежнему имеют свои специфические черты, большинство из них генерируют код, удовлетворяющий стандарту ANSI по языку C.
Спустя более 30 лет после создания ЯП C, язык, созданный Ритчи и Томпсоном, по-прежнему не потерял своих позиций, а компиляторы C уже разработаны практически для всех существующих на сегодняшний день ОС. Своим успехом этот ЯП обязан в первую очередь ОС UNIX. Сейчас фактически все клоны ОС UNIX в стандартной поставке функционируют с компилятором C, и при этом большинство полезных и фундаментальных команд UNIX написаны на ЯП C. Так как язык является компактным, хорошо описанным и достаточно гибким для поддержки широкого диапазона приложений, его популярность продолжает расти. Сегодня ЯП C используется для создания приложений, как инструмент обучения азам программирования и в качестве любимого средства разработки программистов, работающих над проектами, стоимость которых составляет миллиарды долларов.
Инсталляция
Для компиляции исходных текстов C в исполняемые программы, необходимо иметь компилятор C. При работе под управлением ОС UNIX, рекомендуется использовать компилятор C GNU Compiler Collection (GCC), включающий поддержку C, C++ и Java. Его можно получить бесплатно как для платформы ОС Windows, так и для ОС UNIX. Исходные тексты и откомпилированные двоичные коды вместе с инструкциями по инсталляции можно получить по адресу http://gcc.gnu.org/. В примерах, приведенных в этой главе, используется GCC 3.3 под ОС Linux, хотя его можно использовать на любой удобной для вас платформе.
Детальное описание инсталляции GCC выходит за рамки этой главы. Новичкам по­требуется время на изучение инструкций по инсталляции и функционированию, GCC имеющихся в загружаемых архивах, а также на Web-узле, - это поможет вам развернуть работающую среду разработки GCC. Все интересующие справки можно получить по адресу http://gcc.gnu.org/onlinedocs/ и FAQ по адресу http://gcc.gnu.org/ faq.html.
Что касается ОС UNIX, то существует быстрый способ проверить установку GCC в системе с помощью команды UNIX which. Если GCC установлен, эта команда возвращает полный путь к программе gcc.
Листинг 19.1.
[user@host]$ which gcc /usr/bin/gcc