Основы программирования в Linux
Шрифт:
Зная, как извлекать строки, можно перейти к рассмотрению обработки полученных реальных данных.
MySQL, как большинство баз данных SQL, возвращает два вида данных:
данные, извлеченные из таблицы и называемые данными столбцов;
данные о данных, так называемые метаданные, например, имена столбцов и их типы.
Сначала сосредоточимся на получении данных, как таковых, в пригодном к использованию виде.
Функция
Помимо
В программах, написанных для более ранних версий MySQL, вы можете встретить функцию
Если оставить в стороне заботы о форматировании, вы уже знаете, как немедленно вывести данные. Добавьте простую функцию
Обратите внимание на то, что для упрощения примера данные о подключении, результате и строке, полученные из функции
1. Далее приведена очень простая подпрограмма для вывода данных:
2. Вставьте ее в конец файла select2.c и добавьте объявление и вызов функции:
3. Теперь
Итак, программа работает, несмотря на не слишком эстетически привлекательный вывод. Но вы не смогли учесть в результате возможные значения
Вызывать эту функцию следует многократно, до тех пор, пока не будет возвращено значение
Таблица 8.12
| Поле в структуре типа MYSQL_FIELD | Описание |
|---|---|
| char *name; | Имя столбца в виде строки |
| char *table; | Имя таблицы, из которой получен столбец. Оно особенно полезно в запросе с использованием нескольких таблиц. Имейте в виду, что вычисляемое значение в результате, такое как MAX , будет иметь пустую строку для имени таблицы |
| char *def; | При вызове функции mysql_list_fields (которую мы не обсуждаем) это поле содержит значение в столбце по умолчанию |
| enum enum_field_types type; | Тип столбца. См. пояснения сразу после таблицы |
| unsigned int length; | Ширина столбца, заданная при определении таблицы |
| unsigned int max_length; | Если применяется функция mysql_store_result , это поле содержит длину в байтах самого длинного извлеченного значения столбца. Если применяется функция mysql_use_result , поле не задается |
| unsigned int flags; | Флаги содержат информацию об определении столбца, а не о найденных данных. у распространенных флагов очевидные значения: NOT_NULL_FLAG , PRI_KEY_FLAG , UNSIGNED_FLAG , AUTO_INCREMENT_FLAG и BINARY_FLAG . Полный список флагов можно найти в документации MySQL |
| unsigned int decimals; | Количество знаков после десятичной точки. Справедливо только для числовых полей |
Отсутствует
Документальная литература:
критика
прочая документальная литература
рейтинг книги
Егерь. Прилив. Книга 10
10. Зверолов
Фантастика:
рпг
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
Полное собрание сочинений. Том 14. Война и мир. Черновые редакции и варианты. Часть вторая
Проза:
русская классическая проза
рейтинг книги
Козацькому роду нема переводу, або ж Мамай i Чужа Молодиця
Проза:
роман
рейтинг книги
Стальная опора (Трилогия)
142. В одном томе
Фантастика:
альтернативная история
рейтинг книги
Добыча
Деловая литература:
о бизнесе популярно
рейтинг книги
Рассвет русского царства. Книга 2
2. Новая Русь
Фантастика:
альтернативная история
попаданцы
историческое фэнтези
рейтинг книги
Гранд-адмирал. Том первый
1. Тринадцатый
Фантастика:
боевая фантастика
космическая фантастика
рейтинг книги
Неучтенный элемент. Том 2
2. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
рейтинг книги
Герои зоны. Пенталогия
Фантастика:
боевая фантастика
рейтинг книги
А.и Б. Стругацкие. Собрание сочинений в 10 томах. Т.10
10. Собраниния сочинений в 10 томах
Фантастика:
научная фантастика
рейтинг книги
Голос ночной птицы
1. Мэтью Корбетт
Детективы:
исторические детективы
рейтинг книги
Весь Дэн Браун в одном томе
Детективы:
триллеры
прочие детективы
рейтинг книги
Из третьего мира – в первый. История Сингапура (1965–2000)
Научно-образовательная:
педагогика
рейтинг книги