MYSQL
          
            This structure represents a handle to one database
            connection. It is used for almost all MySQL functions. You
            should not try to make a copy of a MYSQL
            structure. There is no guarantee that such a copy will be
            usable.
          
            MYSQL_RES
          
            This structure represents the result of a query that returns
            rows (SELECT, SHOW,
            DESCRIBE, EXPLAIN).
            The information returned from a query is called the
            result set in the remainder of this
            section.
          
            MYSQL_ROW
          
            This is a type-safe representation of one row of data. It is
            currently implemented as an array of counted byte strings.
            (You cannot treat these as null-terminated strings if field
            values may contain binary data, because such values may
            contain null bytes internally.) Rows are obtained by calling
            mysql_fetch_row().
          
            MYSQL_FIELD
          
            This structure contains information about a field, such as
            the field's name, type, and size. Its members are described
            in more detail here. You may obtain the
            MYSQL_FIELD structures for each field by
            calling mysql_fetch_field() repeatedly.
            Field values are not part of this structure; they are
            contained in a MYSQL_ROW structure.
          
            MYSQL_FIELD_OFFSET
          
            This is a type-safe representation of an offset into a MySQL
            field list. (Used by mysql_field_seek().)
            Offsets are field numbers within a row, beginning at zero.
          
            my_ulonglong
          
            The type used for the number of rows and for
            mysql_affected_rows(),
            mysql_num_rows(), and
            mysql_insert_id(). This type provides a
            range of 0 to 1.84e19.
          
            On some systems, attempting to print a value of type
            my_ulonglong does not work. To print such
            a value, convert it to unsigned long and
            use a %lu print format. Example:
printf ("Number of rows: %lu\n", (unsigned long) mysql_num_rows(result));
        The MYSQL_FIELD structure contains the
        members listed here:
      
            char * name
          
The name of the field, as a null-terminated string.
            char * table
          
            The name of the table containing this field, if it isn't a
            calculated field. For calculated fields, the
            table value is an empty string.
          
            char * def
          
            The default value of this field, as a null-terminated
            string. This is set only if you use
            mysql_list_fields().
          
            enum enum_field_types type
          
            The type of the field. The type value may
            be one of the MYSQL_TYPE_ symbols shown
            in the following table.
          
| Type Value | Type Description | 
| MYSQL_TYPE_TINY | TINYINTfield | 
| MYSQL_TYPE_SHORT | SMALLINTfield | 
| MYSQL_TYPE_LONG | INTEGERfield | 
| MYSQL_TYPE_INT24 | MEDIUMINTfield | 
| MYSQL_TYPE_LONGLONG | BIGINTfield | 
| MYSQL_TYPE_DECIMAL | DECIMALorNUMERICfield | 
| MYSQL_TYPE_NEWDECIMAL | Precision math DECIMALorNUMERICfield (MySQL 5.0.3 and up) | 
| MYSQL_TYPE_FLOAT | FLOATfield | 
| MYSQL_TYPE_DOUBLE | DOUBLEorREALfield | 
| MYSQL_TYPE_TIMESTAMP | TIMESTAMPfield | 
| MYSQL_TYPE_DATE | DATEfield | 
| MYSQL_TYPE_TIME | TIMEfield | 
| MYSQL_TYPE_DATETIME | DATETIMEfield | 
| MYSQL_TYPE_YEAR | YEARfield | 
| MYSQL_TYPE_STRING | CHARfield | 
| MYSQL_TYPE_VAR_STRING | VARCHARfield | 
| MYSQL_TYPE_BLOB | BLOBorTEXTfield (usemax_lengthto determine the
                    maximum length) | 
| MYSQL_TYPE_SET | SETfield | 
| MYSQL_TYPE_ENUM | ENUMfield | 
| MYSQL_TYPE_NULL | NULL-type field | 
| MYSQL_TYPE_CHAR | Deprecated; use MYSQL_TYPE_TINYinstead | 
            You can use the IS_NUM() macro to test
            whether a field has a numeric type. Pass the
            type value to IS_NUM()
            and it evaluates to TRUE if the field is numeric:
          
if (IS_NUM(field->type))
    printf("Field is numeric\n");
            unsigned int length
          
The width of the field, as specified in the table definition.
            unsigned int max_length
          
            The maximum width of the field for the result set (the
            length of the longest field value for the rows actually in
            the result set). If you use
            mysql_store_result() or
            mysql_list_fields(), this contains the
            maximum length for the field. If you use
            mysql_use_result(), the value of this
            variable is zero.
          
            unsigned int flags
          
            Different bit-flags for the field. The
            flags value may have zero or more of the
            following bits set:
          
| Flag Value | Flag Description | 
| NOT_NULL_FLAG | Field can't be NULL | 
| PRI_KEY_FLAG | Field is part of a primary key | 
| UNIQUE_KEY_FLAG | Field is part of a unique key | 
| MULTIPLE_KEY_FLAG | Field is part of a non-unique key | 
| UNSIGNED_FLAG | Field has the UNSIGNEDattribute | 
| ZEROFILL_FLAG | Field has the ZEROFILLattribute | 
| BINARY_FLAG | Field has the BINARYattribute | 
| AUTO_INCREMENT_FLAG | Field has the AUTO_INCREMENTattribute | 
| ENUM_FLAG | Field is an ENUM(deprecated) | 
| SET_FLAG | Field is a SET(deprecated) | 
| BLOB_FLAG | Field is a BLOBorTEXT(deprecated) | 
| TIMESTAMP_FLAG | Field is a TIMESTAMP(deprecated) | 
            Use of the BLOB_FLAG,
            ENUM_FLAG, SET_FLAG,
            and TIMESTAMP_FLAG flags is deprecated
            because they indicate the type of a field rather than an
            attribute of its type. It is preferable to test
            field->type against
            MYSQL_TYPE_BLOB,
            MYSQL_TYPE_ENUM,
            MYSQL_TYPE_SET, or
            MYSQL_TYPE_TIMESTAMP instead.
          
            The following example illustrates a typical use of the
            flags value:
          
if (field->flags & NOT_NULL_FLAG)
    printf("Field can't be null\n");
            You may use the following convenience macros to determine
            the boolean status of the flags value:
          
| Flag Status | Description | 
| IS_NOT_NULL(flags) | True if this field is defined as NOT NULL | 
| IS_PRI_KEY(flags) | True if this field is a primary key | 
| IS_BLOB(flags) | True if this field is a BLOBorTEXT(deprecated; testfield->typeinstead) | 
            unsigned int decimals
          
The number of decimals for numeric fields.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

