MySQL枚举与集合类型的应用
发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,本文主要给大家介绍MySQL枚举与集合类型的应用,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL枚举与集合类型的应用吧。1. 背景 *
千家信息网最后更新 2024年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安全错误
数据库的锁怎样保障安全
服务器桌面窗口管理器已退出
四川百聚网络技术有限公司
北京好的软件开发来电咨询
服务器idrac管理页面
sql2016数据库怎么登录
仓储管理系统数据库分工
i78550软件开发
文明重启开荒选什么服务器最好
我的世界服务器怎么加入多功能
阿里网络安全运行官
基础维护数据库包括什么
上海个性化软件开发定制价格
互联网智慧消防软件开发
金山区微型软件开发服务有哪些
access数据库基础教程
速登软件开发
赵成刚数据库
怎么用数组读数据库
宝山区专业软件开发管理方法
数据库方框代表什么
软件开发培训学校小
未经许可擅自从事服务器
云南软件开发咨询
hotmail邮箱服务器
服务器自动化项目管理
服务器和终端的距离有关系吗
南通通用软件开发售后保障
数据库原理及应用教程第二版课后答案
币交易所软件开发
威力网络技术是什么