[数据库/MySQL]数据类型:enum 枚举类型
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 枚举类型 - jb51 [推荐: 言简意赅]
[数据库/MySQL]数据类型:enum 枚举类型的更多相关文章
- 【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" ...
- Python中模拟enum枚举类型的5种方法分享
这篇文章主要介绍了Python中模拟enum枚举类型的5种方法分享,本文直接给出实现代码,需要的朋友可以参考下 以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码代码如下: # way1 ...
- enum枚举类型的定义
enum枚举类型的定义方式与某种用法 #include <iostream> using namespace std; int main() { enum TOT{ zero, one, ...
- 数据库——MySQL——数据类型
详细的看后面给的链接,我只是挑了一部分:http://www.runoob.com/mysql/mysql-data-types.html 在之前说了MySQL的存储引擎.它决定了表的类型,而表内存放 ...
- 关系型数据库MySql 数据类型与约束
MySql数据库 :数据类型与约束 注意 : 在创建数据表的时候,需要对数据表中的字段设置 数据类型和约束, 便于检测用户输入的数据是否正确有效. 1 数据类型 数据类型的选用原则 : 够用就行,尽 ...
- Mysql 数据类型、约束类型
mysql数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 数值类型 MySQL支持所有标准 ...
- 数据库-mysql数据类型
MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 数值类型 MySQL支持所有标准S ...
- C语言--enum,typedef enum 枚举类型详解
原文:http://z515256164.blog.163.com/blog/static/32443029201192182854300/ 有改动 C语言详解 - 枚举类型 注:以下全部代码的执行环 ...
- 1.0 基础、标示符、常量、数据类型(enum 枚举,struct 结构体)、操作符、循环、数组
一.程序 现实生活中,程序是指完成某些事务的一种既定方法和过程,可以把程序看成是一系列动作执行过程的描述. 在计算机世界,程序是指令,即为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集 ...
- Enum枚举类型实战总结,保证有用!
一般在我们开发时如果能使用枚举罗列的,一般都会定义一个枚举类型.将枚举类型作为方法的参数,可以方便的进行调用,给我们带来不少的遍历,当然有时候它还不如直接用一个int类型带来,带来一定灵活性.但只要能 ...
随机推荐
- 上分准备 VP Codeforces Round #762 (Div. 3) 4题ABCE
+00:02 +00:16 +01:08 +02:07 VP 情况 4/8 ABCE ,赛时排名可以到823,什么时候我可以上个青 B 本想写个map的二分的,发现自己不会,写了个普普通通的二分 ...
- Android studio的使用2
运行按钮First activity: package com.example.activity;import androidx.appcompat.app.AppCompatActivity;imp ...
- clamav测试用例 API
最近接触到clamav这一块,本身是一个很简单的任务,只需要调用他的API对文件进行检测即可,但是在进行大量搜索发现,网上最多只有API的讲解,且质量层次不齐,这可为难住我了,作为一个名副其实的&qu ...
- jmeter设置支持https方法
2020-2-26,疫情影响下第一天上班,今年想把自己学到的测试方面的知识记录下来,方便自己方便有需要的人,废话不多说,开启第一篇随笔,jmeter设置. 最近在测接口性能,涉及https的接口,不知 ...
- C# NAudio 检测声音
using NAudio.Wave;using System;using System.Collections.Generic; namespace WinFromBaidu{ class NAudi ...
- pg_dump导出表时正则匹配多个表,pg_dump导出表
报错信息:pg_dump: 错误: 没有找到符合的表 报错语句:C:\Users\Admin>pg_dump -h172.16.3.159 -p5432 -dchisapp -nmchs -Um ...
- RKO组——冲刺随笔(2)
这个作业属于哪个课程 至诚软工实践F班 这个作业要求在哪里 第五次团队作业:项目冲刺 这个作业的目标 记录冲刺计划.要求包括当天会议照片.会议内容以及项目燃尽图(项目进度) 1.昨日进展 已开始着手模 ...
- RF射频的定义和原理
转自:http://www.saiyuan.net/portal/article/index/id/119/cid/28.html RF射频的定义和原理 定义 简称RF射频就是射频电流,它是一种高频交 ...
- flutter系列之:创建一个内嵌的navigation
目录 简介 搭建主Navigator 构建子路由 总结 简介 我们在flutter中可以使用Navigator.push或者Navigator.pushNamed方法来向Navigator中添加不同的 ...
- 声网Agora Lipsync 技术揭秘:通过实时语音驱动人像模拟真人说话
元宇宙的火热让人们对未来虚拟世界的形态充满了幻想,此前我们为大家揭秘了声网自研的 3D 空间音频技术如何在虚拟世界中完美模拟现实听觉体验,增加玩家沉浸感.今天我们暂时离开元宇宙,回到现实世界,来聊聊声 ...