MySQL基础教程
01、MySQLMariaDB 基础教程
02、MySQL 简介
03、MySQL MariaDB 安装
04、MySQL 管理
05、MySQL 日常管理
06、MySQL PHP 语法
07、MySQL 创建连接
08、MySQL 获取数据库列表
09、MySQL 创建数据库
10、MySQL 删除数据库
11、MySQL 选择数据库
12、MySQL 数据类型
13、MySQL 列出数据表
14、MySQL 创建数据表
15、MySQL 删除表
16、MySQL 插入数据
17、MySQL 获取插入数据的 ID
18、MySQL SELECT FROM 查询数据
19、MySQL WHERE 子句有条件的查询数据
20、MySQL UPDATE 更新数据
21、MySQL DELETE FROM 语句删除数据
22、MySQL 返回删改查受影响的行数
23、MySQL LIKE 子句模糊查询数据
24、MySQL UNION 操作符查询多张表
25、MySQL ORDER BY 排序
26、MySQL GROUP BY 分组查询数据
27、MySQL JOIN 进行多表查询
28、MySQL NULL 值处理
29、MySQL REGEXP 子句正则表达式查询
30、MySQL 数据库事务
31、MySQL ALTER 命令
32、MySQL 索引
33、CREATE TEMPORARY TABLE 创建临时表
34、MySQL DROP TABLE 删除临时表
35、MySQL INSERT INTO SELECT 复制表
36、MySQL 获取服务器元数据
37、MySQL 自增序列 AUTO_INCREMENT
38、MySQL 处理重复数据
39、MySQL 安全及防止 SQL 注入攻击
40、MySQL 导出数据
41、MySQL 导入数据
本文档使用 MrDoc 发布
-
+
首页
12、MySQL 数据类型
MySQL 中众多的数据类型可供选择,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 MySQL 中定义恰当的数据字段的类型对 MySQL 数据库的优化是非常重要的 ### **数值类型** ------------ MySQL 支持所有标准 SQL 数值数据类型 这些类型包括 1、 严格数值数据类型(`INTEGER`、`SMALLINT`、`DECIMAL`和`NUMERIC`); 2、 近似数值数据类型(`FLOAT`、`REAL`和`DOUBLEPRECISION`); 关键字`INT` 是 `INTEGER` 的同义词,关键字 `DEC` 是 `DECIMAL` 的同义词 `BIT` 数据类型保存位字段值,并且支持 `MyISAM` 、`MEMORY` 、`InnoDB` 和 `BDB` 等数据库引擎 作为SQL 标准 的扩展,MySQL 也支持整数类型 `TINYINT` 、 `MEDIUMINT` 和 `BIGINT` 下表列出了每种整数类型的存储长度和数值范围 | 类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 | | --- | --- | --- | --- | --- | | TINYINT | 1 字节 | (-128,127) | (0,255) | 小整数值 | | SMALLINT | 2 字节 | (-32 768,32 767) | (0,65 535) | 大整数值 | | MEDIUMINT | 3 字节 | (-8 388 608,8 388 607) | (0,16 777 215) | 大整数值 | | INT INTEGER | 4 字节 | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整数值 | | BIGINT | 8 字节 | (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) | 极大整数值 | | FLOAT | 4 字节 | (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) | 0,(1.175 494 351 E-38,3.402 823 466 E+38) | 单精度浮点数值 | | DOUBLE | 8 字节 | (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 双精度浮点数值 | | DECIMAL | DECIMAL(M,D)如果M>D,为M+2否则为D+2 | 依赖于M和D的值 | 依赖于M和D的值 | 小数值 | ### **日期和时间类型** ------------ 表示日期时间的日期和时间类型有 `DATETIME`、`DATE`、`TIMESTAMP`、`TIME`、`YEAR` 每个时间类型有一个有效值范围和一个 零 值 当指定不合法的 MySQL 不能表示的值时使用 零 值 TIMESTAMP类型 可以有的自动更新的特性 | 类型 | 大小(字节) | 范围 | 格式 | 用途 | | --- | --- | --- | --- | --- | | DATE | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 | | TIME | 3 | ‘-838:59:59’/’838:59:59’ | HH:MM:SS | 时间值或持续时间 | | YEAR | 1 | 1901/2155 | YYYY | 年份值 | | DATETIME | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 日期时间值 | | TIMESTAMP | 4 | 1970-01-01 00:00:00/2037 年某时 | YYYYMMDD HHMMSS | 时间戳 | ### **字符串类型** ------------ 字符串类型指 `CHAR`、`VARCHAR`、`BINARY`、`VARBINARY`、`BLOB`、`TEXT`、`ENUM` 和 `SET` 下表列出了这些类型可存储字符长度及用途 | 类型 | 大小 | 用途 | | --- | --- | --- | | CHAR | 0 – 255 字节 | 定长字符串 | | VARCHAR | 0- 65535 字节 | 变长字符串 | | TINYBLOB | 0- 255 字节 | 不超过 255 个字符的二进制字符串 | | TINYTEXT | 0- 255 字节 | 短文本字符串 | | BLOB | 0- 65 535 字节 | 二进制形式的长文本数据 | | TEXT | 0- 65 535 字节 | 长文本数据 | | MEDIUMBLOB | 0 – 16 777 215 字节 | 二进制形式的中等长度文本数据 | | MEDIUMTEXT | 0 – 16 777 215 字节 | 中等长度文本数据 | | LONGBLOB | 0 – 4 294 967 295 字节 | 二进制形式的极大文本数据 | | LONGTEXT | 0 – 4 294 967 295 字节 | 极大文本数据 | 1、 `CHAR` 和 `VARCHAR` 类型类似; 但它们保存和检索的方式不同 它们的最大长度和是否尾部空格被保留等方面也不同 在存储或检索过程中不进行大小写转换 2、 `BINARY` 和 `VARBINARY` 类类似于 CHAR 和 VARCHAR; 不同的是它们包含二进制字符串而不要非二进制字符串 也就是说,它们包含字节字符串而不是字符字符串 这说明它们没有字符集,并且排序和比较基于列值字节的数值值 3、 `BLOB` 是一个二进制大对象,可以容纳可变数量的数据; 有 4 种 BLOB 类型:`TINYBLOB` 、`BLOB` 、`MEDIUMBLOB` 和 `LONGBLOB` 不同的点只是可容纳值的最大长度不同 4、 有4种TEXT类型:`TINYTEXT`、`TEXT`、`MEDIUMTEXT` 和 `LONGTEXT`; 这些对应 4 种 BLOB 类型,有相同的最大长度和存储需求
李智
2025年3月17日 13:30
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码