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
(学号,课程编号)
其实企业管理器 *** 作是比较麻烦的
你修改表 或者直接在查询分析器这样写就OK了
sex nchar(10) check (sex in ('男','女'))
如果你一定要在企业管理器做
1)选中字段,选择check约束--->添加(约束)
2)左边筐里出现 常规下--》表达式---->点击(旁边的按钮)
3)出现表达式框 在这里写([sex]='男' OR [sex]='女')
现在要说的是在列这一层次过滤的基于表定义之前就规范好的 CHECK 约束。(MySQL 版本 >= 8016)
mysql> create table f1 (r1 int constraint tb_f1_r1_chk1 check (mod(r1,3)=0));
Query OK, 0 rows affected (003 sec)
mysql> create table f2 (r1 int constraint tb_f2_r1_chk1 check (mod(r1,3)=0) not enforced);
Query OK, 0 rows affected (002 sec)
这里 CHECK 约束的相关限制如下:
1 constraint 名字在每个数据库中唯一。
也就是说单个数据库里不存在相同的两个 constraint,如果不定义,系统自动生成一个唯一的约束名字。
2 check 约束针对语句 insert/update/replace/load data/load xml 生效;针对对应的 ignore 语句失效。
3 并非每个函数都可以使用,比如函数结果不确定的:NOW(),CONNECTION_ID(),CURRENT_USER()。
4 不适用于存储过程和存储函数。
5 系统变量不适用。
6 子查询不适用。
7 外键动作(比如 ON UPDATE, ON DELETE) 不适用。
8 enforced 默认启用,如果单独加上 not enforced ,check 约束失效。
上楼的回答完全正确,这里我回答更详细一点,希望您能更容易理解:
1数据表中设置该字段为bit型
2在表单中设置不管你是用单选组还是下拉框,都把其value值设为0和1,分别表示男和女,这样插入表中的数据将是0或1。
3在读取的时候作一个判断,设置变量a,若读取值为0,则a=男,若为1则a=女,最后把a输出显示即可
以上就是关于SQL 性别 约束全部的内容,包括:SQL 性别 约束、sql check约束中怎么把性别字段的check约束设成男或女(在企业管理器中)、sql check约束中怎么把性别字段的check约束设成男或女(在企业管理器中)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)