MySQL数据类型与字段属性详解

1 下载量 188 浏览量 更新于2024-08-30 收藏 278KB PDF 举报
MySQL 数据类型和字段属性是数据库设计的基础,它们决定了如何存储和处理数据。下面将详细介绍这些概念。 **数据类型** 1. **数值类型** - **整数型**: 包括 TINYINT, SMALLINT, MEDIUMINT, INTEGER (INT), 和 BIGINT。每种类型都有 signed 和 unsigned 版本,unsigned 可以存储更大的正数。 - TINYINT: 1 字节,范围 -128 到 127 或 0 到 255。 - SMALLINT: 2 字节,范围 -32768 到 32767 或 0 到 65535。 - MEDIUMINT: 3 字节,范围 -8388608 到 8388607 或 0 到 16777215。 - INTEGER (INT): 4 字节,范围 -2147483648 到 2147483647 或 0 到 4294967295。 - BIGINT: 8 字节,范围 -9223372036854775808 到 9223372036854775807 或 0 到 18446744073709551615。 2. **浮点型**: 包括 FLOAT 和 DOUBLE。FLOAT 通常有 6 到 7 位精度,而 DOUBLE 有 14 到 15 位精度。精度表示小数点后最多可存储的位数。 3. **定点型**: DECIMAL(size,d) 提供固定精度和规模的数字,不会因四舍五入导致精度损失,适合存储货币等需要精确计算的数值。 4. **日期时间类型**: 如 DATE, TIME, DATETIME, TIMESTAMP 等,用于存储日期和时间信息。 5. **字符串类型**: 包括 CHAR, VARCHAR, TEXT 等,用于存储文本数据。CHAR 固定长度,VARCHAR 变长,TEXT 类型适合存储大量文本。 **补充说明** - **显示宽度与 ZEROFILL**: 在定义整数类型时,可以指定显示宽度,如 INT(4),但不会影响实际存储的数值。ZEROFILL 属性会用零填充不足显示宽度的部分。 - **记录长度**: 数据库中每条记录的总长度取决于所有字段的长度。 **字段属性** 1. **空值**: NULL 和 NOT NULL 用于指定字段是否允许包含空值。NULL 表示字段值未知或未定义,NOT NULL 则强制字段必须有值。 2. **主键**: PRIMARY KEY 是一个唯一的标识符,确保每行的唯一性,通常与 AUTO_INCREMENT 结合使用。 3. **唯一键**: UNIQUE KEY 确保字段中的值是唯一的,但可以为 NULL。 4. **自增长**: AUTO_INCREMENT 用于自动为新插入的行生成一个唯一的递增整数值。 5. **默认值**: DEFAULT 定义字段在没有提供值时的默认值。 6. **字段描述**: COMMENT 允许为字段添加注释信息,方便日后的维护和理解。 7. **复合键**: 多个字段组合形成复合主键或唯一键,以确保多列的唯一性。 在数据库设计时,选择合适的数据类型和设置合理的字段属性对于优化存储空间、提高查询效率和确保数据完整性至关重要。了解这些基础知识是数据库管理员和开发者的必备技能。