MySQL数据类型set和enum
目录
1 MYSQL数据类型set和enum 1
1.1 SET和ENUM类型 1
1 MySQL数据类型set和enum
1.1 Set和Enum类型
1. Set类型:集合,列可赋予多个集合成员。其值来自创建表时规定的允许的串集中选择,可包括串集中任意或所有成员,每个值成员之间以逗号隔开。
2. Enum类型:枚举,列可赋予某个枚举成员。其值来自创建表时规定的允许的枚举中选择,只能选择其中之一。
3.3. Set和Enum的SQL操作
创建Set和Enum
CREATE TABLE `test` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`myset` set('a','b','c') DEFAULT '',
`myenum` enum('a','b','c') DEFAULT NULL,
PRIMARY KEY (`Id`)
)
插入Set和Enum
INSERT INTO `test` VALUES (1,'a,b','a');
INSERT INTO `test` VALUES (2,'b,a,b','b');
SELECT * from test
Id Myset Myenum
1 a,b a
2 a,b b
说明:集合中可去除重复的值。
通过find_in_set()函数或like操作查取Set值。
select * from test where FIND_IN_SET('a',myset)
select * from test where myset like '%a%'
4. Set和Enum的存储大小
Set:集合最多可以有64个不同的成员。Set最多可以存储8个字节。Set列的存储大小由集合成员数目决定,对于集合成员数目为1到8,9到16,17到24,25到32,33到64的成员集合,其Set值分别站用1,2,3,4或8个字节。
Enum:枚举可具有最多65536 个成员。最多可以存储2个字节。枚举值的数目决定了Enum列的存储大小,一个字节可以存储256个值,两个字节可以存储65536个值,存储时一个字节还是两个字节依赖于枚举成员数是否大于256个。
5. Set和Enum的排序顺序
Set和Enum在定义中的值顺序决定了排序顺序,Enum定义中的值顺序就是Enum中值排序顺序,但Set中排序顺序更为复杂,因为列值可以包含多个集合成员。
Set和Enum被归为串类型是由于在建立这些类型的列时,枚举和集合成员被指定为串。但是,这些成员在内部存放时作为数值,而且同样可作为数值来处理。这表示ENUM 和S E T类型比其他的串类型更为有效,因为通常可用数值运算而不是串运算来处理它们。而且这还表示ENUM 和SET 值可用在串或数值的环境中。
select myset, myset+0 from test
Myset Myset+0
a 1
b 2
a,b 3
6. Set和Enum的缺省值
对于SET 类型,在相应的列不能包含NULL 时其缺省值实际上是空集,不过这里空集等价于空串
对于Enum类型,如果将ENUM列声明为允许NULL,NULL值则为该列的一个有效值,并且默认值为NULL。如果ENUM列被声明为NOT NULL,其默认值为允许的值列的第1个元素。
分享到:
相关推荐
MySQL中的`SET`和`ENUM`是两种特殊的字符串数据类型,它们在数据库设计时用于存储有限的、预定义的选项。这篇文章将深入探讨这两种数据类型的特性、用途以及它们之间的区别。 首先,`SET`类型允许你存储一组离散的...
Java 数据类型和 MySql 数据类型对应表 在 Java 编程中,了解 Java 数据类型和 MySql 数据类型的对应关系非常重要。这是因为在 Java 应用程序中,我们经常需要与数据库进行交互,而 MySql 是一种常用的关系数据库...
Java 和 MySQL 数据类型之间的对比是理解数据库操作和应用程序开发中数据处理的关键。这两种语言的数据类型在功能和使用上都有所不同,尽管它们都用于存储和处理数据,但各自有着特定的适用场景和特点。 首先,Java...
### MySQL数据类型全掌握 #### 一、概述 在数据库设计和开发过程中,正确选择数据类型对于确保数据的准确性和优化存储空间...希望本文能帮助您更好地掌握MySQL数据类型,从而在数据库设计和开发中做出更合适的选择。
MySQL 数据类型是 MySQL 数据库中的一种基本概念,它定义了数据在数据库中的存储格式和范围。了解 MySQL 数据类型对于数据库设计和开发至关重要。本文将详细介绍 MySQL 数据类型,包括整数、浮点数、字符串、日期和...
本文档主要介绍 MySQL 数据库服务的概述、构建 MySQL 服务、数据库基本管理和 MySQL 数据类型。下面是详细的知识点: 数据库服务概述 数据库服务是指提供数据库管理和数据存储服务的系统。MySQL 是一种关系型...
MySQL 数据类型选择是数据库设计中非常重要的一步,因为不同的数据类型选择对数据库的性能和存储空间都有着很大的影响。在 MySQL 中,选择合适的数据类型可以提高查询效率、降低存储空间占用、提高数据的准确性和...
MySQL 的数据类型可以分为整数类型、浮点数类型、定点数类型、日期和时间类型、字符串类型、二进制类型等。其中,整数类型包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,浮点数类型包括 FLOAT 和 DOUBLE,定点数...
总之,MySQL数据类型的灵活使用对于数据库性能优化至关重要,同时也关系到数据完整性和安全性。在实际应用中,数据库管理员和开发者应当根据实际需求和数据特性,选择最合适的数据类型,以达到存储高效和查询快速的...
在这个“mysql数据类型共2页.pdf.zip”压缩包中,很显然,我们能够获取到关于MySQL数据类型的简要介绍。尽管实际内容并未在此提供,但我们可以基于通用知识来详细阐述这个主题。 MySQL的数据类型大致可以分为以下几...
了解 MySQL 的数据类型对于数据库设计和开发非常重要。本文将详细介绍 MySQL 的各种数据类型,包括整数类型、浮点数类型、日期时间类型、字符串类型、Blob 类型和枚举类型等。 整数类型 MySQL 提供了多种整数类型...
在个人项目中,使用`SET`类型可以帮助你有效地管理有限集合的数据,提高数据的一致性和查询效率。通过阅读`doc.rar`中的文档和分析`sql.sql`的脚本,你可以更深入地了解如何在实际项目中应用这个概念。`ReadMe.txt`...
MySQL是一个广泛使用的开源关系型数据库管理系统,其支持多种数据类型来满足各种数据存储需求。以下是MySQL中一些主要的基本数据类型的详细说明: 1. **SMALLINT**: 这是一种整数类型,占用2个字节,可以存储从-32,...
以下是对MySQL数据类型的详细阐述。 1. 整数类型: - TINYINT:占用1字节,取值范围-128到127,或无符号0到255。 - SMALLINT:占用2字节,取值范围-32768到32767,或无符号0到65535。 - MEDIUMINT:占用3字节,...
TEXT类型用于存储大量文本,ENUM和SET则分别用于存储预定义的枚举值和集合值。 **二进制类型**包括 BINARY、VARBINARY、BIT、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB,这些类型用于存储二进制数据,如图片或音频...
MySQL数据库中数据类型是定义列中可以存储什么类型的数据以及该数据的格式等属性的关键特性。...综上所述,了解和正确使用MySQL中的数据类型,对于数据库的性能优化、数据的准确性和管理的便利性都有重大影响。
在本章"MySQL数据库应用实战教程"中,主要讲解了MySQL数据类型,这是数据库设计的基础。数据类型决定了数据的存储方式、占用空间以及可以存储的数据范围。以下是详细的知识点解析: 1. 数值类型: - MySQL支持严格...
MySQL 数据类型详解 MySQL 数据类型是指 MySQL 数据库中可以存储的数据类型,包括整数类型、浮点类型、定点数类型、日期时间...了解 MySQL 数据类型的特点和应用场景,对于设计和开发高效的数据库应用程序非常重要。