MySQL枚举与集合类型的应用
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,本文主要给大家介绍MySQL枚举与集合类型的应用,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL枚举与集合类型的应用吧。1. 背景 *
千家信息网最后更新 2025年02月08日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安全错误
数据库的锁怎样保障安全
原神2.4服务器维护时间
数据库怎样查看当前路径
mysql数据库集群作用
互联网平台的名字科技公益风
云南省个体工商户怎么连接服务器
实时数据库有哪些品牌
软件开发测试学徒需要学什么
如何识别网络安全事件
山东安卓软件开发哪家实惠
csgo服务器设置管理员
pgsql数据库使用什么协议
视频服务器解决快进问题
论坛网站的数据库
怎么查看数据库服务
中国国安网络安全审查
如何找到数据库位置
5g网络技术突破
百利平台网络技术有限公司
惠州聊天软件开发定制
济南戴尔服务器代理配件总代理
崇明区一站式软件开发诚信为本
网络安全专业有多难学
企业管理器查看和修改数据库
山东省网络安全选拔
档案部门要制定网络安全
webapi 访问数据库
mysql数据库怎么同步
网络安全6人小品剧本
苏州朗钧网络技术有限公司
卫生数据库