從零開始設計乙個資料庫 基本表的定義

2021-10-01 16:27:14 字數 2274 閱讀 3907

基本表的修改

基本表的刪除

最簡單的建立資料庫語句——create database 《資料庫》

開啟資料庫——use 《資料庫名》

基本表建立的一般格式:

create table 《表名》

(《屬性名1>《資料型別》[列級完整性約束條件]

[,《屬性名2>《資料型別》[列級完整性約束條件],

…[,《表級完整性約束條件》]

)資料型別

資料型別

含義char(n)

長度為n的定長字串

varchar(n)

最大長度為n的變長字串

smallint

短整數real

取決於機器精度的浮點數

float(n)

浮點數,精度至少為n位

numeric(p,d)

定點數,由p位數字(符號,小數點除外)組成,小數後面由d位數字

decimal(p,d)

定點數,由p位數字(符號,小數點除外)組成,小數後面由d位數字

date

日期,包含年、月、日,格式為yyyy-mm-dd

time

時間,包含一日的時、分、秒,格式為hh:mm:ss

列級完整性約束條件

primary key [(《屬性列(組)>)]——定義主鍵約束,保證屬性值的唯一性和非空性

定義外來鍵約束

foreign key (《外來鍵》)

references 《被參照表名》 (《與外來鍵對應的主鍵名》)

當修改被參照表中元組的主鍵值時,級聯修改參照表中的所有關聯元組對應外鍵值或拒絕執行修改操作。

當刪除被參照表中元組時,級聯刪除參照表的所有關聯元組或拒絕執行刪除操作。

例子:建立乙個表

carate table sc

(sno char(6),

cno char(6),

grade dec(4,1),

primary key(sno,cno)

foreign key(sno) references s(sno),

foreign key(cno) references c(cno)

);

使用者定義完整性定義

允許屬性值是否為空,預設為「null」,對關係的主屬性必須限定為「not null」

,以滿足實體完整性

唯一性約束,即不允許屬性列**現重複的屬性值

預設值約束

檢查約束,通過約束條件表示式設定屬性值列值應滿足的條件

例子:

create table s

(sno char(6) primary key,

sn char(10) not null, //專案不能為空值

sd char(16),

sb date,

*** char(2) default '男', //性別預設為男

check (*** in('男','女')) //性別取值只能為男和女

);

增加列或表約束規則

alter table 《表名》

add < 屬性列名》《資料型別》[完整性約束 | 完整性約束]

例子:

alter table s add sh char(30);
lter table s add priamry key (sno);
修改原有列的型別

alter table 《表名》

alter column 《屬性列名》《資料型別》;

例子:

alter table s

alter column sn char(12);

刪除原有的列或約束規則

alter table 《表名》

drop ;

解釋什麼是restrict: 在沒有檢視或約束引用該屬性時,該屬性列才能被刪除

解釋什麼是cascade: 表示刪除某列時,所有引用該列的檢視和約束也被自動刪除。

例子:

alter table s

drop column ***;

刪除基本表

drop tbale 《表名》 [cascade | restrict]

例子:

drop tbale s cascade;

從零開始設計乙個漂亮的移動 APP

我從 13 歲時開始學習平面設計。通過網上教程慢慢學會了設計 並習慣於每天使用 photoshop 和 affinity designer 軟體。這些經歷教會了我如何像設計師一樣思考。我堅持設計和開發應用將近有一年時間。我參加了麻省理工學院的乙個專案,是與乙個團隊合作開發 universeaty。兩...

教你從零開始寫乙個雜湊表 導讀

雜湊表是乙個可以提供快速實現關聯陣列api的資料結構。跟 雜湊表 有關的一些術語也許有些讓人產生困惑,因此我在下文列了一些摘要。雜湊表由一系列的桶組成,每乙個桶儲存乙個鍵值對。為了找到存放鍵值對的桶,關鍵字要傳遞給雜湊函式。雜湊函式返回乙個指明桶陣列下標的整數。當我們想要查詢乙個鍵值對時,我們對雜湊...

從零開始的MySQL學習,資料庫索引

二 如何建立索引 三 檢視索引 四 刪除索引 create index 索引的名字 on tablename 列的列表 舉例 create table stu01 id int 2 not null name varchar 10 not null score int 4 index index s...