MySQL复习:字段类型详解

需积分: 10 2 下载量 145 浏览量 更新于2024-09-13 1 收藏 198KB PDF 举报
"MySQL学习笔记,包括数据库概念、字段类型、数字类型如tinyint的使用以及bool类型的模拟" 在学习MySQL的过程中,了解数据库的基本概念是非常重要的。数据库是一个组织和存储数据的系统,它允许我们高效地管理和检索信息。在这个例子中,我们以班级学生信息的管理为例,需要记录学号、姓名、年龄和家乡等数据。这就引出了字段的概念,每个字段对应数据表中的一列,用于定义每条记录中的特定属性。 接下来,我们深入探讨字段类型,首先是数字类型。MySQL提供了多种整数类型,包括tinyint、smallint、mediumint、int和bigint。这些类型的主要区别在于它们可以存储的数值范围。以tinyint为例,它占用一个字节,可以存储2^8(即256)个不同的值。如果指定tinyint为unsigned,那么它可以存储0到255的无符号整数;如果不指定unsigned,则可存储-128到127的有符号整数。在创建表`num`时,可以看到`ti`和`tiu`字段分别代表有符号和无符号tinyint,插入数据后通过查询结果可以理解其表示的数值范围。 插入值为-130到-2时,由于tinyint的范围限制,超出范围的值会被自动截断或转换,因此查询结果可能会出乎意料。同样,插入130和260时,对于无符号tinyint`tiu`,超过255的值也会被处理。这种现象在其他整数类型中同样适用,不同的是它们的存储范围更大。 扩展到其他整数类型,smallint使用2个字节,非unsigned情况下的范围是-32768到32767,unsigned则是0到65535。mediumint用3个字节,int用4个字节,bigint用8个字节,它们的范围随着字节数的增加而显著扩大。 最后,关于bool类型,MySQL实际上并没有专门的bool类型,而是通过tinyint(1)来模拟。通常,值0被视为false,非0值被视为true。这种做法使得bool类型在存储空间上更为节省,同时保持了逻辑判断的功能。 在实际应用中,选择合适的字段类型对数据库性能和空间利用有着直接影响。理解这些基本概念是构建高效、可靠数据库的关键步骤。通过持续学习和实践,我们可以更好地掌握MySQL,提升数据管理和查询的效率。