1 需求描述

  • 场景

性别(gender) :男 / 女 / 保密

2 基本语法

enum(枚举值 1,枚举值 2...);
  • 枚举值列表在 255 个以内,使用 1 个字节来存储
  • 枚举值列表超过 255,但是小于 65535,使用 2 个字节来存储
-- Enum(0=>'男', 1=>'女', 2=>'保密')
create table tb_demo(
gender enum('男', '女', '保密')
) mysql> desc tb_demo;
+--------+----------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------------------------+------+-----+---------+-------+
| gender | enum('男','女','保密') | YES | | NULL | |
+--------+----------------------------+------+-----+---------+-------+ -- 插入规范数据
insert into tb_demo(gender) values ('男');
insert into tb_demo(gender) values ('女'); mysql> select * from tb_demo;
+--------+
| gender |
+--------+
| 男 |
| 女 |
+--------+

3 枚举类型的作用

枚举的意义:

  • 规范/约束数据本身,限定只能插入规定的数据项

  • 节省存储空间。枚举类型存储的不是真正的字符串,而是存储了下标

-- MySQL 会自动类型转换,+、-、\*、/ 会将数据转换成数值,普通字符串转换为数值 0
select gender + 0 from tb_demo; mysql> select gender + 0 from tb_demo;
+------------+
| gender + 0 |
+------------+
| 1 |
| 2 |
+------------+ -- 可直接插入数值数据
insert into tb_demo(gender) values (1); mysql> select * from tb_demo;
+--------+
| gender |
+--------+
| 男 |
| 女 |
| 男 |
+--------+

X 参考文献

[数据库/MySQL]数据类型:enum 枚举类型的更多相关文章

  1. 【hibernate postgresql】注解@TypeDef/@Enumerated/数据库字段gender为枚举类型,从前台接受到实体后进行保存报错:org.postgresql.util.PSQLException: ERROR: column "gender" is of type gender but expression is of type character varying

    数据库字段gender为枚举类型,从前台接受到实体后进行保存报错:org.postgresql.util.PSQLException: ERROR: column "gender" ...

  2. Python中模拟enum枚举类型的5种方法分享

    这篇文章主要介绍了Python中模拟enum枚举类型的5种方法分享,本文直接给出实现代码,需要的朋友可以参考下   以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码代码如下: # way1 ...

  3. enum枚举类型的定义

    enum枚举类型的定义方式与某种用法 #include <iostream> using namespace std; int main() { enum TOT{ zero, one, ...

  4. 数据库——MySQL——数据类型

    详细的看后面给的链接,我只是挑了一部分:http://www.runoob.com/mysql/mysql-data-types.html 在之前说了MySQL的存储引擎.它决定了表的类型,而表内存放 ...

  5. 关系型数据库MySql 数据类型与约束

    MySql数据库 :数据类型与约束 注意 :  在创建数据表的时候,需要对数据表中的字段设置 数据类型和约束, 便于检测用户输入的数据是否正确有效. 1 数据类型 数据类型的选用原则 : 够用就行,尽 ...

  6. Mysql 数据类型、约束类型

    mysql数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型.   数值类型 MySQL支持所有标准 ...

  7. 数据库-mysql数据类型

    MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 数值类型 MySQL支持所有标准S ...

  8. C语言--enum,typedef enum 枚举类型详解

    原文:http://z515256164.blog.163.com/blog/static/32443029201192182854300/ 有改动 C语言详解 - 枚举类型 注:以下全部代码的执行环 ...

  9. 1.0 基础、标示符、常量、数据类型(enum 枚举,struct 结构体)、操作符、循环、数组

    一.程序 现实生活中,程序是指完成某些事务的一种既定方法和过程,可以把程序看成是一系列动作执行过程的描述. 在计算机世界,程序是指令,即为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集 ...

  10. Enum枚举类型实战总结,保证有用!

    一般在我们开发时如果能使用枚举罗列的,一般都会定义一个枚举类型.将枚举类型作为方法的参数,可以方便的进行调用,给我们带来不少的遍历,当然有时候它还不如直接用一个int类型带来,带来一定灵活性.但只要能 ...

随机推荐

  1. Shell脚本基本命令4

    使用join连接字段 1.$ cat >sales 创建salse文件 #业务员数据   注释说明 #业务员量 joe 100 jane 200 herman 150 chris 300 2.$ ...

  2. 5ppm高精度自动同步标准化考场时钟系统

    自动同步标准化考场时钟系统------专业LED时钟厂家![点击进入]   学校考场医院车站GPS/NTP网络校时之组联网对时精度达5ppm原理剖析.        时间精度是根据各个用户所要求对LE ...

  3. C#实现统一登录(SSO)

    SSO的基本概念 SSO英文全称Single Sign On(单点登录).SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同 ...

  4. web后端之过滤器

    1直接java搞定 2把@WebFilter()去掉,配置web.xml文件.

  5. JAVA - 判断两个浮点数相等

    JAVA - 判断两个浮点数相等 背景知识 float型和double型是JAVA的基本类型,用于浮点数表示,在JAVA中float型占4个字节32位,double型占8个字节64位,一般比较适合用于 ...

  6. 第12组 Beta冲刺 (1/5)

    1.1基本情况 ·队名:美少女战士 ·组长博客: https://www.cnblogs.com/yaningscnblogs/p/14016591.html ·作业博客:https://edu.cn ...

  7. 照亮体育馆 Barisal Stadium

    UVA10641 题目为逆时针顺序编号,这里直接将数组开两倍来处理环.(然而不知为啥开到1000也能过) 定义: Corners[i]Corners[i]Corners[i]为体育馆点的坐标. Lig ...

  8. Oracle游标或存储过程

    /* 方式1:可执行选取代码块允许 */ declare cursor cur_tmp is ( select '' as tmp_status from dual ); begin for tmp_ ...

  9. Spring 笔记一

    1.什么是框架? 框架,是一种半成品的软件,是高度抽取可重用代码的一种设计,多个可重用模块的集合,形成某个领域的整体解决方案. 2.Spring 框架 概述:Spring 是一个开源框架,一个容器框架 ...

  10. 学习dom,bom中全选按钮设置

     <script>             var cbAll = document.getElementById('j_cbAll') //全选按钮             var jt ...