SQL数据库中要表示当性别列等于0时为女、等于1时为男用CASE WHEN语句怎么写

SQL数据库中要表示当性别列等于0时为女、等于1时为男用CASE WHEN语句怎么写,第1张

select

decode(tsex,'1','男','2','女','未知')

,

--如果是Oracle可以这个用法

case

tsex

when

'1'

then

'男'

when

'2'

then

'女'

else

'其他'

end

from

table

t

两种方法:

1。

把字段的类型设置为 bit (或者 boolean):

字段只能接受1,0 (或ture false)

我们就可以认为 1 (true) 表示 男

2。

如果你的数据库支持 set类型 (选择类型)

(mysql支持 sqlserver似乎不支持 oracle不清楚)

字段属性设置为 set("男","女")

表示这个字段的值 只能是 "男" 或 "女" 中的一个值

<!--

还有enum类型表示多选

关于这两个个类型 你可以去百度搜索一下 详细的资料

不过关键还是看你的数据库支持这种类型吗?

其他的不知道,但mysql一定支持的

-->

1

创建sm数据库中的选课表sc,包含的列为学号、课程编号、成绩。

create

table

sc(

学号

varchar(10)

not

null,

--数据类型自己定

课程编号

varchar(10)

not

null,

成绩

decimal(3,

0)

)

2

用sql语句给表student的“学号”列添加主键约束。

alter

table

student

add

constraint

pkstudent

primary

key

(学号)

3

用sql语句给表student的“性别”列添加check约束。

alter

table

student

add

constraint

chkstudentsex

check

(

性别

=

'女'

or

性别

=

'男')

4

用sql语句给表course的“课程编号”

列添加主键约束。

alter

table

course

add

constraint

pkcourse

primary

key

(课程编号)

5

用sql语句给表course的“课程名称”

列添加unique约束。

alter

table

course

add

constraint

ukcourse

unique

(课程编号)

6

用sql语句给表sc的“学号”列添加外键约束,参照对象是表student的“学号”列。

alter

table

sc

add

constraint

fkscxh

foreign

key

(学号)

references

student

(学号)

7用sql语句给表sc的“课程编号”列添加外键约束,参照对象是表course的“课程编号”列。

alter

table

sc

add

constraint

fksckc

foreign

key

(课程编号)

references

course

(课程编号)

8用sql语句给表sc的“学号”“课程编号”列添加组合主键约束。

alter

table

sc

add

constraint

pksc

primary

key

(学号,课程编号)

工具/材料:以Management Studio为例。

1、首先在桌面上,点击“Management Studio”图标。

2、然后在“Management Studio”界面中,点击左上角的“新建查询”按钮。

3、之后在查询界面中,输入删除表中性别为男的记录的sql语句,“delete from Student where sex ='男' ”。

4、接着在查询界面中,点击“执行”按钮。

5、最后在查询界面中,显示成功删除2行记录。

Innodb存储引擎支持FOREIGN KEY和REFERENCES子句。Innodb存储引擎执行ADD [CONSTRAINT [symbol]] FOREIGN KEY () REFERENCES ()。请参见15264节,“FOREIGN KEY约束”。对于其它存储引擎,这些子句会被分析,但是会被忽略。对于所有的存储引擎,CHECK子句会被分析,但是会被忽略。

手册上注明:对于所有的存储引擎,CHECK子句会被分析,但是会被忽略。

也就是check是无效的,你可以用程序去实现,或者通过外键进行约束

楼上说的答非所问啊,人家是建表,你给个查询出来

比如建立个学生表,里边包括,学号,姓名,性别,其他字段略

123456create table 学生表(学号 char(5) not null primary key,姓名 varchar(10) not null,性别 char(2) default '男' check (性别 in ('男','女')))

其中default '男'

就是默认为男

check (性别 in ('男','女')

就是性别只可以为男或女

以上就是关于SQL数据库中要表示当性别列等于0时为女、等于1时为男用CASE WHEN语句怎么写全部的内容,包括:SQL数据库中要表示当性别列等于0时为女、等于1时为男用CASE WHEN语句怎么写、怎样用SQL语句表示性别只能为男和女、SQL 性别 约束等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存