資料庫學習隨筆

2022-07-12 10:48:12 字數 1619 閱讀 5613

這篇隨筆用來記錄資料庫的學習,隨時更新補充,主要寫一些比較少關注的內容

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)constraintduty_teacher

foreign key references student.教師(編號),

)第一步:alter table test.課程 drop duty_teacher

第二步:alter table test.課程 drop column 責任教師

on delete set null--當刪除時,該列置為空值

on update cascade--級聯更新

資料庫學習隨筆

sql structured query language 是一種規則,定義了如何操作所有關係型資料庫 如 oracle,mysql db2 sql 通用語法 單行多行書寫,分號結尾 不區分大小寫,但關鍵字建議大寫 注釋單行 這是一段注釋 或 這是一段注釋 多行 這是一段注釋 sql 分類 ddl ...

資料庫隨筆

目前軟體開發行業中,無論是移動端開發還是後端開發,基本上都會碰到資料庫的開發,這裡就談談筆者對於資料庫的感想 在移動端亦或是後端開發中,很多時候,我們會感覺到無論是 orm 還是其他方案,都會存在著一些缺點,其實這 於資料庫本身和開發語言本身的衝突,現代化的語言基本上都是物件導向開發,物件導向是從軟...

PG資料庫學習隨筆 1

啟動過程中遇到這個報錯 root db01 createdb mydb createdb could not connect to database template1 fatal role root does not exist我的是centos7系統.使用的yum裝的pg,從網上找了好久,沒有找...