首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql的enum是什么类型_数据库枚举类型是什么

枚举类型使用陷阱 超级不推荐在mysql设置某一字段类型为enum,但是的值为数字,比如‘0’,‘1’,‘2’; 解释1:你会混淆,因为enum可以通过角标取值,但它的角标是从1开始,对于不熟悉这个字段的人这里会出错...“空”(不是null) 解释3:enum类型对于php等弱语言类型的支持很差,弱语言类型打引号和不打引号的值可能是同一类型,但是对于mysqlenum类型的字段来说,那就不一定是一回事了 结论:总之,...不要拿mysql的enum类型一些数字;如果你一定要使用这个字段去数字,请把这个字段定义为int,然后在java代码中使用枚举类做一个对于这个字段值范围的一个限定!...; * Mysql枚举类型Color定义取值的顺序是RED、GREEN、BLUE,因此,当这三个取值持久化到数据库表时,取值分别是0、1、2; * 意思就是我们这里往数据库的数据是...0、1、2这样的数字,而不是RED、GREEN、BLUE字符串, 但是Mysql数据库定义的是RED、GREEN、BLUE,并没有其它值所以报错 解决:在entity中使用@Enumerated(EnumType.STRING

4.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL字符类型概述学习--MySql语法

    MySQL可以将一个字符串列更改为不同于CREATE TABLE或ALTER TABLE语句中所给出的类型。...MySQL 5.1字符串数据类型包括部分在MySQL 4.1之前的版本没有的特性: · 许多字符串数据类型的列定义可以包括指定字符集的CHARACTER SET属性,也可能包括校对规则...· MySQL 5.1用字符单位解释在字符列定义的长度规范。(以前的一些MySQL版本以字节解释长度)。...· 对于CHAR、VARCHAR和TEXT类型,BINARY属性可以为列分配该列字符集的 校对规则。 ·字符列的排序和比较基于分配给列的字符集。在以前的版本,排序和比较基于服务器字符集的校对规则。...NATIONAL CHAR(或其等效短形式NCHAR)是标准的定义CHAR列应使用 默认字符集的SQL方法。这在MySQL为默认值。 BINARY属性是指定列字符集的二元 校对规则的简写。

    90430

    mysqlmysql的整数和字符类型

    一.为表的字段选择合适的数据类型的原则 当一个列可以选择多种数据类型时,应该优先考虑数字类型,其次是日期或者二进制类型,最后是字符类型,对于相同级别的数据类型,应该优先选择占用空间小的数据类型 理由...: 1)在对数据进行比较时,字符类型处理与当前所使用的排序规则是相关的, 而数字和二进制是按照二进制大小来进行的,同样的数据,字符类型比数字处理慢 2)在数据库,数据处理 是以页为单位的,每页的大小是恒定的...2)面试题:varchar(5)和varchar(200)来存储’mysql字符串性能相同吗?...答案是有区别的,虽然它们都不超过255,只需要5个字符加一个字节来存储就够了,但是mysql为了更有效的优化查询,在内存字符串使用的是固定的宽度,所以如果把列的宽度设置得太长,就会消耗内存,影响性能...2)字符串存储在char类型的列中会删除末尾的空格,而字符串存在varchar类型时末尾的空格不会被删除 3)char类型的最大宽度为255 4.char类型的使用场景 1)char适合存储长度近似的值

    1.8K30

    MySQL数值类型smallint、mediumint等区别是什么

    MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型 数值类型又可以分为整型、浮点型,或者可以说为严格数值数据类型以及近似数值数据类型 分别为 tinyint(m)、smallint...-128 到 127 65535 在开发遇到了一个进程 id 的字段,设置了一个 smallint unsigned 类型,结果出现了所有进程 id 都为 65535 这个值有点特殊,端口的最大值也为...比如经常用到的 int(11),这里是 11 是什么意思,只能 11 位数吗?...当然不是 这个长度 11 并不代表允许存储的宽度,而是为了告诉 MySQL 数据库,我们这个字段的存储的数据的宽度为 M 位数, 当然如果你不是 M 位数(只要在该类型的存储范围之内)MySQL 也能正常存储...任何个人或团体,未经允许禁止转载本文:《MySQL数值类型smallint、mediumint等区别是什么》,谢谢合作!

    2.5K20

    Java List 不同的数据类型

    在最近的实践,有人突然问了一个问题:在 Java 的 List 可以不同的数据类型吗?...这个问题突然给问到了,我们都知道 Java 的 List 的是对象,通常我们定义都会这样的定义:List testList = new ArrayList(); 这样我们就知道了...testList 的对象都是 String 字符串了。...解答List 是可以不同的数据类型的。但是在定义的时候需要定义成: List testList = new ArrayList();,不能为要使用的 List 指定数据类型。...实战在实际的编码,我们通常都会为我们的 List 指定数据类型。这个数据类型可以是任何数据类型或者对象,这样可以保证我们的 List 的数据类型只有一种数据类型

    67170

    MySQL数据类型 -- 字符

    https://blog.csdn.net/robinson_0612/article/details/82824320 在MySQL关系型数据库MySQL支持的数据类型非常丰富。...它主要分为3大类,即:数值型,日期时间性,字符型。而实际上这三类数据类型可以进一步的细分扩展,可以根据业务需要选择最适合的一种。本文主要介绍字符类型,并演示其用法。...一、字符MySQL支持的字符类型可以进一步细分,即可以分为定(变)长字符型,大值字符型,枚举集合类型等。如下图所示: ? 二、字符型空间需求 ?...三、字符型演示 mysql> show variables like 'version'; +---------------+------------+ | Variable_name | Value...-- 通过字符串函数可知,第二列定长类型ab后的空格被截断 mysql> SELECT CONCAT('(', v, ')'), -> CONCAT('(', c, ')') FROM vc

    82920

    MySQL字符类型学习笔记

    五、BLOB和TEXT 5.1、text类型 5.2、blob类型 5.3、排序问题 5.4、索引问题 六、ENUM和SET类型 6.1、集合类型简介 6.2、集合类型例子 一、字符集和字符编码 1.1...注意:MySQL字符集设置不进可以设置整一张表,也可以细到具体的每个字段上,用法是在建表或者修改字段时候加上charset [字符集名称] 二、字符集排序规则 2.1、排序规则定义 排序规则(Collation...,其语法分别是char(N)和varchar(N),注意其中N在MySQL4.1版本后都表示字符的长度,而非字节长度,在MySQL4.1之前版本才表示字节的长度 3.1、CHAR类型 对于CHAR(N)...对比: 不同的是BINARY和VARBINARY存储的都是二进制类型字符串,CHAR和VARCHAR存储的才是字符类型字符串 BINARY和VARBINARY没有字符集的概念,CHAR和VARCHAR...这些才有字符集的概念 BINARY(N)和VARBINARY(N)的N表示的字节的长度,从前面我们知道CHAR(N)和VARCHAR(N)的N自从MySQL4.1之后,就表示字符的长度 CHAR和VARCHAR

    64110

    VARCHAR 最多多少个字符?|mysql系列(3)

    |mysql系列(2)》分享了VARCHAR(M) 占用多少个字节,那VARCHAR 最大能多少个字符呢?以及了解这些对我们平时的开发工作中有什么帮助呢?...|mysql 系列(1)》一文中讲到,MySQL服务器上负责对表数据的读取和落盘(即写入磁盘)工作是由存储引擎 完成的。InnoDB是一个将表的数据存储到磁盘上的存储引擎 。...真实数据内容是就是的具体的值。那么对于占用的字节数该怎么表示呢?...对于VARCHAR(M)来说: 表示能存储最多M个字符(注意是字符不是字节),所以这个类型能表示的字符串最多占用的字节数就是M×L,其中L=设置字符集 Maxlen 的值。...如果VARCHAR(M)类型的列使用的不是ascii字符集,那M的最大取值取决于该字符集表示一个字符最多需要的字节数。

    1.9K20

    mysql】文本字符类型

    文本字符类型 在实际的项目中,经常遇到一种数据,就是字符串数据。...MySQL,文本字符串总体上分为CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET等类型。 [在这里插入图片描述] 1....MySQL4.0版本以下,varchar(20):指的是20字节,如果存放UTF8汉字时,只能6个(每个汉字3字节) ;MySQL5.0版本以上,varchar(20):指的是20字符。...TEXT类型MySQL,TEXT用来保存文本类型字符串,总共包含4种类型,分别为TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT 类型。...开发中经验 TEXT文本类型,可以比较大的文本段,搜索速度稍慢,因此如果不是特别大的内容,建议使用CHAR,VARCHAR来代替。还有TEXT类型不用加默认值,加了也没用。

    1.8K20

    MySQL笔记】数字类型、时间和日期类型字符类型

    MySQL数据库提供了多种数据类型,其中包括数字类型、时间和日期类型字符类型。...本期我们一起来学习MySQL的数据类型吧~ ---- 数字类型 在数据库,经常需要存储一些数字,适合用数字类型来保存。数字类型包括整数类型、浮点数类型、定点数类型、BIT(位)类型。...浮点数类型MySQL,存储的小数都是使用浮点数或定点数来表示的。浮点数分为单精度浮点数类型(float)和双精度浮点数类型(double)。...下面以保存A字符为例 注意:MySQL的直接常量是指在MySQL中直接编写的字面常量,常用在insert语句中编写插入的数据,包括:十进制数、二进制数、十六进制数、字符串。...MySQLJSON类型值常见的表现方式有JSON数组和JSON对象。

    4K20

    MySQL字符类型和数字类型索引的效率

    From: mysql分别用数字INT和中文varchar做索引查询效率上差多少 性能相当 mysql中区别性能的是采用哪种索引方式,而不是索引的数据类型。...; From 对比MySQLint、char以及varchar的性能 我最近针对int、long、char、varchar进行了一次性能测试,发现它们其实并没有太大的性能差距: 备注: c8=char...在数据运算、对比方面,整数得益于原生支持,因此会比字符串稍快一丁点。 若采用索引,所谓整数、字符串的性能差距更是微乎其微。...在实际开发,许多开发者经常使用char(1)、char(4)这样的字符串表示类型枚举,这种做法在我看来属于最佳方案,因为这种做法在存储空间、运算性能、可读性、可维护性、可扩展性方面,远胜于int、enum...但是如果你在创建索引的时候定义其类型为 Hash,MySql 并不会报错,而且你通过 SHOW CREATE TABLE 查看该索引也是 Hash,只不过该索引实际上还是 B-Tree。

    3.9K20

    MySQL系列之字符类型学习笔记

    类型 6.1、集合类型简介 6.2、集合类型例子 一、字符集和字符编码 1.1、字符字符集:字符集就是字符的集合,例如GB2312是中国国家标准的简体中文字符集,GB2312收录简化汉字(6763个...222条记录: 注意:MySQL字符集设置不进可以设置整一张表,也可以细到具体的每个字段上,用法是在建表或者修改字段时候加上charset [字符集名称] 二、字符集排序规则 2.1、排序规则定义...,其语法分别是char(N)和varchar(N),注意其中N在MySQL4.1版本后都表示字符的长度,而非字节长度,在MySQL4.1之前版本才表示字节的长度 3.1、CHAR类型 对于CHAR(N)...对比: 不同的是BINARY和VARBINARY存储的都是二进制类型字符串,CHAR和VARCHAR存储的才是字符类型字符串 BINARY和VARBINARY没有字符集的概念,CHAR和VARCHAR...这些才有字符集的概念 BINARY(N)和VARBINARY(N)的N表示的字节的长度,从前面我们知道CHAR(N)和VARCHAR(N)的N自从MySQL4.1之后,就表示字符的长度 CHAR和VARCHAR

    54320

    Mysql的列类型

    Mysql的列类型: 数字类型 字符类型 布尔型 日期时间类型 数字类型: 1个字节=8比特,但数字里有一个比特用于符号占位 TINYINT 占用1个字节,表示范围:-128~127 SMALLINT...FLOAT[(M,D)] 单精度浮点型,占4个字节 DOUBLE[(M,D)] 双精度浮点型,占8个字节 DECIMAL[(M,D)] 严格定点数,用于精确运算 M表示总有效位数,D表示小数点后有效位数 字符类型...: \0表示一个字符串结束 CHAR(M) 固定长度字符串,长度最大为225个字符 VARCHAR(M) 长度可变的字符串,长度最大为65535个字符 TEXT(M) 长度可变的字符串,长度最大到4G...N位 员工所在部门:可取值必须在部门表存在过 主键约束: 列名 类型 PRIMARY KEY 声明为“主键”的列上不能出现NULL值,且不能重复,如学生编号、商品编号。...非空约束: 列名 类型 NOT NULL 声明为“非空”约束的列上不能出现NULL,但可以重复 检查约束对于Mysql不支持 默认值约束 列名 类型 Default 值 声明为“默认值”约束的列上没有值的将会默认采用默认设置的值

    6.4K20
    领券