MySQL数据库枚举的添加与使用
MySQL数据的创建表
-- 创建一个账号数据库,并给性别字段添加枚举
create table if not exists account(
id int unsigned primary key auto_increment comment '账号ID',
acc_name varchar(30) not null comment '账号名称',
gender enum('0','1','2') not null default '2' commetn '性别,0:女性,1:男性,2:未知或则保密'
) comment '测试数据,账号信息表';
如上面代码,其中的 enum('0','1','2') 就是性别的枚举。
1. 添加第一条测试数据
insert into account(acc_name)values('test1');
执行上面的代码,数据库将会创建一条测试数据,其中 gender ='2' 因为有默认值。
2.添加第二条测试数据
insert into account(acc_name.gender)values('test2','1');
执行上面的的代码,数据库将会创建一个新的测试数据,其中 gender='1' ,因为我们给了gender的值。
3.添加第三条测试数据
insert into account(acc_name,gender)values('test3','3');
这段代码如同添加测试数据2的代码,不同的是gender我们自定义为 ‘3’ ,这个时候数据将会创建一个新的测试数据,但是结果的 gender 依然为 ‘2’ 这个默认值。
结论
- 在给枚举类型的字段赋值时,如果该字段在SQL语句中没有直接的值,那么该字段将会使用定义的默认值赋值。
- 如果该字段在SQL语句中有明确的赋值,且在枚举范围内,那么该字段将会使用SQL语句中赋予的值。
- 如果该字段在SQL语句中有明确的赋值,但是不在枚举范围内,那么该SQL语句依然可以执行,只是此时该字段依然会使用定义的默认值赋值。
-------- 编辑未完结,后期将根据自己知识储备进行完善,大神若见,还请为小弟指点一二,谢谢!
MySQL数据库枚举类型详解
本文介绍了MySQL数据库中枚举类型的使用,通过三个步骤展示如何添加测试数据,并探讨了枚举字段赋值的规则:默认值、指定值及超出枚举范围时的行为。结论指出,枚举字段未明确赋值时采用默认值,赋值在枚举范围内则使用该值,否则依旧使用默认值。
1万+





