当前位置:首页 > 行业动态 > 正文

MySQL数据库中C语言类型与数据类型如何精确对应?

MySQL数据库中C语言类型与数据类型如何精确对应?  第1张

| MySQL 数据类型        | C 语言对应类型     | 说明                                                         |
||||
| TINYINT              | int8 或 char      | 表示非常小的整数,范围从 128 到 127 或 0 到 255,通常用于计数器。 |
| SMALLINT             | int16            | 表示较小的整数,范围从 32,768 到 32,767 或 0 到 65,535。   |
| MEDIUMINT           | int32            | 表示中等大小的整数,范围从 8,388,608 到 8,388,607 或 0 到 16,777,215。 |
| INT                  | int32 或 long     | 表示标准的整数,范围从 2,147,483,648 到 2,147,483,647 或 0 到 4,294,967,295。 |
| BIGINT              | int64 或 long long| 表示大整数,范围从 9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 或 0 到 18,446,744,073,709,551,615。 |
| FLOAT               | float            | 表示单精度浮点数,范围从大约 ±3.4E38 到 ±3.4E+38。       |
| DOUBLE               | double           | 表示双精度浮点数,范围从大约 ±1.7E308 到 ±1.7E+308。       |
| DECIMAL              | double 或 float   | 用于精确的数值计算,可以指定小数点后的位数。                 |
| DATE                 | struct tm        | 表示日期,格式为 YYYYMMDD。                                 |
| DATETIME             | struct tm        | 表示日期和时间,格式为 YYYYMMDD HH:MM:SS。                   |
| TIMESTAMP            | time_t           | 表示时间戳,通常是自1970年1月1日以来的秒数。                   |
| TIME                 | struct tm        | 表示时间,格式为 HH:MM:SS。                                   |
| YEAR                 | int16            | 表示年份,范围从 1901 到 2155。                                 |
| CHAR(n)              | char[n]          | 定长字符串,最大长度为 n。                                     |
| VARCHAR(n)           | char[n]          | 变长字符串,最大长度为 n。                                     |
| TEXT                 | char*            | 非定长字符串,长度可达65,535个字符。                           |
| BLOB                 | char*            | 二进制大对象,用于存储大量二进制数据。                         |
| ENUM                 | int              | 枚举类型,用于固定集合中的值。                                 |
| SET                  | int              | 集合类型,用于一组预定义值的集合。                             |
| TINYBLOB             | char*            | 非定长二进制字符串,长度可达255个字符。                         |
| MEDIUMBLOB           | char*            | 非定长二进制字符串,长度可达16,777,215个字符。                 |
| LONGBLOB             | char*            | 非定长二进制字符串,长度可达4,294,967,295个字符。             |

C 语言中的struct tm 是用于表示日期和时间的结构体,而time_t 是用于存储时间戳的整数类型,MySQL 中的DECIMAL 类型在 C 中通常用doublefloat 来近似表示,因为 C 语言没有直接的精确小数类型。

0