MySQL枚举与集合类型的应用
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,本文主要给大家介绍MySQL枚举与集合类型的应用,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL枚举与集合类型的应用吧。1. 背景 *
千家信息网最后更新 2025年11月13日MySQL枚举与集合类型的应用
本文主要给大家介绍MySQL枚举与集合类型的应用,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL枚举与集合类型的应用吧。
1. 背景
* MySQL数据库提供针对字符串存储的两种特殊数据类型:枚举类型ENUM和集合类型SET,集合类型数据类型可以给予我们更多提高性能、降低存储容量和降低程序代码理解的技巧。
2. 枚举与集合类型所属空间与最大成员数量
| 类型 | 占用字节 | 最大成员数量 |
| ENUM | 1 or 2, 取决于枚举成员的数量 | 65535 |
| SET | 1|2|3|4|8,取决于集合成员的数量 | 64 |
3. 枚举与集合约束检查应用
* 创建表 e_s
mysql> CREATE TABLE e_s( -> uid BIGINT PRIMARY KEY NOT NULL AUTO_INCREMENT, -> sex ENUM('male', 'female') NOT NULL -> )ENGINE=INNODB CHARSET=utf8mb4;Query OK, 0 rows affected (0.06 sec)* 清空约束检查SQL_MODE
mysql> set sql_mode='';Query OK, 0 rows affected (0.01 sec)
* 插入正常数据 [ 值在枚举成员中 ]
mysql> INSERT INTO e_s SELECT null, 'male';Query OK, 1 row affected (0.03 sec)Records: 1 Duplicates: 0 Warnings: 0
* 插入非正常数据 [ 值不在枚举成员中 ] [只是警告]
mysql> INSERT INTO e_s SELECT null, 'males';Query OK, 1 row affected, 1 warning (0.03 sec)Records: 1 Duplicates: 0 Warnings: 1
* 查看插入非正常数据的warning
mysql> SHOW WARNINGS;+---------+------+------------------------------------------+| Level | Code | Message |+---------+------+------------------------------------------+| Warning | 1265 | Data truncated for column 'sex' at row 1 |+---------+------+------------------------------------------+1 row in set (0.00 sec)
* 查看 e_s 表所有数据 [ 非法插入的ENUM列会显示为空 ]
mysql> SELECT * FROM e_s;+-----+------+| uid | sex |+-----+------+| 1 | male || 3 | |+-----+------+2 rows in set (0.01 sec)
* 设置SQL_MODE 约束检查
mysql> SET sql_mode = 'STRICT_TRANS_TABLES';Query OK, 0 rows affected (0.00 sec)
* 插入非正常数据 [ 值不在枚举成员中 ] [ 报错返回 ]
mysql> INSERT INTO e_s SELECT null, 'males';ERROR 1265 (01000): Data truncated for column 'sex' at row 1
4. 总结
以需求驱动技术,技术本身没有优略之分,只有业务之分。
看完以上关于MySQL枚举与集合类型的应用,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。
类型
数据
成员
应用
数量
检查
最大
取决于
技术
更多
笔者
行业
存储
特殊
业务
代码
信息
内容
只是
只有
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发工程师的缺点
9年无人管理的服务器
做服务器怎么做销售
安全服务器登录方式
qt服务器数据库备份功能
网络安全复杂
固定资产管理服务器
数据库建模是什么意思
金仓数据库方案
崇明区特定网络技术转让行业标准
传媒行业软件开发
教育局网络安全通知
商场会员系统软件开发
数据库id序列化什么意思
委托软件开发需要什么资料
中学生网络安全反思500字
共享童车软件开发有哪些公司
网络技术三级含金量
药店数据库大全
天穹宝可梦手机版服务器密码
和平精英是哪个软件开发的
黑暗城堡3怎么只剩一个服务器了
网络安全列表查询
acess web数据库
网络安全和个人便利如何平衡
关于数据库 的面试
内江软件开发服务价格
char(16)数据库
光大网络技术有限公司郑州
大连圣同润 互联网科技