星空网 > 软件开发 > 数据库

数据库学习随笔

这篇随笔用来记录数据库的学习,随时更新补充,主要写一些比较少关注的内容

 

 

PERSISTED:

 

说明物理存储计算列的值(书本上的解释,什么鬼意思...)

 

现实操作中,CHECK、FOREIGN KEY 和 NOT NULL 约束要求计算列是持久化(PERSISTED)的。

大概它的作用就是这个吧?

 

AS CONVERT (AS是计算列关键字,CONVERT将字符串从一个字符集转化为另一个字符集):

CREATE TABLE test.测试
(
字符串 char(10) PRIMARY KEY

新字符串 AS CONVERT(TINYINT,SUBSTRING(字符串,3,2)) PERSISTED NOT NULL  --从字符串第三位开始(包括第三位),截取两个字符

)

 

CHECK 里面使用 OR  IN

CREATE TABLE test.学生(
学号 char(10) PRIMARY KEY,
姓别 char(2) CHECK(姓别='男' OR 姓别='女'),
状态 char(4) CHECK(状态 IN('正常','留级','休学','退学'))
)

 

联合关键字?

(1)学号和课程编号两列构成主关键字(需要表级完整性约束)

(2)学号参照学生表的学号(约束选课的学生必须存在)

(3)课程编号参照课程表的课程编号(约束被选的课程必须存在)

CREATE TABLE test.选课
(
学号 char(10) FOREIGN KEY REFERENCES student.学生,
课程编号 char(6) FOREIGN KEY REFERENCES student.课程,
考试成绩 tinyint CHECK(考试成绩 BETWEEN 0 AND 100) DEFAULT NULL
PRIMARY KEY(学号,课程编号)
)

 

如果某列定义了外部关键字约束,则需要先删除相关的约束,才能删除此列。

CREATE TABLE test.课程(
责任教师 char(6) CONSTRAINT duty_teacher
FOREIGN KEY REFERENCES student.教师(编号),
)

第一步:ALTER TABLE test.课程 DROP duty_teacher

第二步:ALTER TABLE test.课程 DROP COLUMN 责任教师

 

ON DELETE SET NULL --当删除时,该列置为空值

ON UPDATE CASCADE --级联更新

 




原标题:数据库学习随笔

关键词:数据库

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

泰国站:https://www.goluckyvip.com/tag/7908.html
低成本获客:https://www.goluckyvip.com/tag/7909.html
美国 股票 开户:https://www.goluckyvip.com/tag/79097.html
物流恐再暴涨:https://www.goluckyvip.com/tag/791.html
TiDB:https://www.goluckyvip.com/tag/7910.html
德国包装法标识:https://www.goluckyvip.com/tag/79109.html
长治婚庆女司仪和主持人:https://www.vstour.cn/a/366176.html
北京丰台区水上乐园哪家好玩?:https://www.vstour.cn/a/366177.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流