C-API Types
From; https://litux.nl/mirror/mysqlguide4.1-5.0/067 2326736/app07lev1sec2.html





C API Data Types
Data types for the MySQL client library are designed to represent the
entities you deal with in the course of a session with the server. There are
types for the connection itself, for results from a query, for a row within
a result, and for metadata (descriptive information about the columns making
up a result). The terms "column" and "field" are synonymous in the following discussion.



Scalar Data Types MySQL's scalar data types represent values such as very large integers, boolean values, and field or row offsets.
Non-Scalar Data Types MySQL's non-scalar types represent structures or arrays. Any instance of a MYSQL, MYSQL_RES, or MYSQL_STMT structure should be considered a "black box." That is, you should refer only to the structure itself, not to members within the structure. The MYSQL_ROW, MYSQL_FIELD, MYSQL_BIND, and MYSQL_TIME types do not have the same restriction. Each of these structures has members that you can access freely to obtain data and metadata returned as a result of a query. The MYSQL_BIND and MYSQL_TIME structures also are used both for transmitting data to the server and receiving results from the server.