2024-10-07 ·
编程代码 ·
118104
MySQL的RDBMS支持多种数据类型,以满足不同场景下的数据存储需求。以下是一些常见的数据类型:
整数类型 :
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:占用4个字节,取值范围为-2,147,483,648到2,147,483,647(有符号)或0到4,294,967,295(无符号)。
BIGINT:占用8个字节,取值范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807(有符号)或0到18,446,744,073,709,551,615(无符号)。
实数类型 :
FLOAT:单精度浮点数,占用4个字节。
DOUBLE:双精度浮点数,占用8个字节。
DECIMAL:定点数,可以指定精度和小数位数,分别占用2到16个字节(视精度而定)。
字符串类型 :
CHAR:固定长度的字符串,占用长度+1个字节(存储时包括结束符)。
VARCHAR:可变长度的字符串,最大长度可达65,535字节,实际占用长度取决于字符串内容。
TEXT:长文本,最大长度可达65,535字节。
MEDIUMTEXT:中等长度的文本,最大长度可达16,777,215字节。
LONGTEXT:超长文本,最大长度可达4,294,967,295字节。
日期和时间类型 :
DATE:日期类型,格式为YYYY-MM-DD,占用3个字节。
TIME:时间类型,格式为HH:MM:SS,占用3个字节(不包括微秒部分,微秒支持从MySQL 5.6.4开始)。
DATETIME:日期时间类型,格式为YYYY-MM-DD HH:MM:SS,占用8个字节(从MySQL 5.6.4开始支持微秒)。
TIMESTAMP:时间戳类型,范围从1970-01-01 00:00:01 UTC到2038-01-19 03:14:07 UTC,占用4个字节(对于MySQL 5.6及更早版本,使用TIMESTAMP时存储的是UTC时间;从MySQL 5.6.5开始,可以指定时区,存储本地时间)。
YEAR:年份类型,仅占用1个字节。
二进制数据类型 :
BINARY:固定长度的二进制字符串,与CHAR类型类似但用于二进制数据。
VARBINARY:可变长度的二进制字符串,与VARCHAR类型类似但用于二进制数据。
BLOB:二进制大对象,用于存储二进制数据,最大长度可达65,535字节。
MEDIUMBLOB:中等长度的二进制大对象,最大长度可达16,777,215字节。
LONGBLOB:长二进制大对象,最大长度可达4,294,967,295字节。
空间类型 (MySQL 5.7及更高版本引入):
GEOMETRY:用于存储几何对象。
POINT:表示二维空间中的点。
LINESTRING:表示二维空间中的线段。
POLYGON:表示二维空间中的多边形。
GEOMETRYCOLLECTION:表示多个几何对象的集合。
这些数据类型提供了丰富的选项,以适应各种数据存储需求。在实际应用中,应根据具体场景选择合适的数据类型。
导读 我们两年前有讲过query_event的结构, 但对于其中的status_var讲得比较浅. 所以本次来完善完善,为后面的使用打下基础. QUERY_EVENT = 2 明文的SQL,ROW模式下通常是DDL,STATEMENT就主要是DML了. 官方文档里面的名字和mysqlbinlog解析出来的名字有区别的, 我就按照mysqlbinlog解析的名字来(更好理解) 对象 大小 描述 th...
2026-04-07 · 前沿科技 · 64564
MySQL索引是一种使用B树数据结构组织数据的结构,通过绕过行扫描直接定位所需数据,提高检索速度。索引适用于数据量大且经常按条件查询的情况。MySQL支持多种索引类型,包括B-Tree、哈希、全文和空间索引,可根据查询模式合理选择。索引的优点包括提高查询速度、减少服务器开销和改善查询计划,但要注意其存储空间占用和维护开销,避免过度索引。 MySQL 索引原理 索引是 MySQL 中一种重要的数据结...
2025-12-25 · 编程代码 · 220395
PHP 连接 MySQL 数据库时需:1. 安装 MySQL PHP 扩展;2. 创建与服务器的连接;3. 选择要连接的数据库;4. 执行 SQL 查询;5. 处理查询结果;6. 关闭连接。 PHP 连接 MySQL 数据库 如何连接 MySQL 数据库? 使用 PHP 连接 MySQL 数据库的步骤如下: 安装 MySQL PHP 扩展:在 PHP 服务器上安装 MySQL PHP 扩展。 创建...
2025-12-25 · 编程代码 · 183169
Hive 和 MySQL 的主要区别在于:数据存储:Hive 存储数据在 HDFS 中,而 MySQL 存储在表中。数据模型:Hive 支持扁平模型,MySQL 支持关系模型。数据处理:Hive 用于批处理,MySQL 用于交互查询。并发性:MySQL 支持并发,而 Hive 不支持。可扩展性:Hive 具有高可扩展性,而 MySQL 的可扩展性有限。 Hive 与 MySQL 的主要区别 Hiv...
2025-12-25 · 编程代码 · 142263
MySQL 提供多种数据类型:数值类型:INT、FLOAT、DOUBLE字符串类型:CHAR、VARCHAR、TEXT日期和时间类型:DATE、TIME、TIMESTAMP二进制类型:BINARY、VARBINARY枚举类型:ENUM集合类型:SETJSON类型:JSON MySQL 数据类型 MySQL 提供广泛的数据类型以支持各种数据需求。选择正确的数据类型对于确保数据完整性、优化存储空间和提...
2025-12-25 · 编程代码 · 194010
InnoDB 引擎是 MySQL 中用于处理事务性数据的存储引擎,支持事务、ACID 兼容性、行锁、回滚段和外键支持。要使用 InnoDB,请在创建数据表时指定 ENGINE=InnoDB。其优点包括高性能、事务支持、行锁、回滚段和外键支持;要注意的缺点包括开销、表空间和内存使用。 如何使用 MySQL InnoDB 引擎 什么是 InnoDB 引擎? InnoDB 是 MySQL 数据库中的一种...
2025-12-25 · 编程代码 · 30157
MySQL锁机制是数据库协调并发事务的核心手段,旨在保障隔离性与一致性;它由存储引擎自动加锁/释放,按粒度分为表锁、行锁、间隙锁,按模式分为共享锁(S)和排他锁(X),并引入意向锁(IS/IX)协同多粒度锁。 MySQL锁机制是数据库用来协调多个事务并发访问同一资源的核心手段,核心目标是保障事务的隔离性与数据一致性。它不是靠用户手动控制全部流程,而是由存储引擎在执行SQL时自动加锁、事务结束时自动...
2025-12-23 · 编程代码 · 101878
MySQL备份是为应对删库、误操作等故障而将数据、结构、binlog及配置等复制保存的过程;需覆盖数据库对象、实际数据、关键日志和环境信息,分逻辑/物理、全量/增量两类,且必须满足一致性、可验证性、异地多副本三大硬条件。 MySQL备份,就是把数据库里的数据、表结构、配置信息甚至二进制日志等,复制一份保存到其他位置的过程。核心目的不是“存起来”,而是确保在删库、误操作、磁盘损坏或服务崩溃时,能快速...
2025-12-23 · 编程代码 · 221442