如何在SQL中限定性别为男或女?

如何在SQL中限定性别为男或女?,第1张

create table 表名

(

sex char(2) check(sex='男' or sex='女') not null

)

默认性别为男的代码如下:

create table 学生表

(

学号 char(5) not null primary key,

姓名 varchar(10) not null,

性别 char(2) default '男' check (性别 in ('男','女'))     //其中default '男'  就是默认性别为男。

)

扩展资料

使用其他方法限制性别只能写男或女:

ALTER TALBE [表名]

ADD CONSTRAINT 约束名 CHECK(列名 in ('男', '女')) not null

注意:CHECK 约束可以应用于一个或者多个列,也可以将多个CHECK 约束应用于一个列。

当除去某个表时,对这个表的CHECK 约束也将同时被去除。

参考资料:百度百科-check约束

个人拙见。

最好的存储方式是CHAR,性别值很少,固定长度存储,且比较时速度较快。使用数值表示还不是需要转换。

采用 0,1.2等数字表示

利:占用空间少

弊:只有熟悉相关背景才知道具体含义;需要转换。

采用m,f,n 等表示

利:简洁明了

弊:字符看你采用固定字符存储还是可变字符存储。如果可变的话,比较相对较慢


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10705706.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存