基本表的修改
基本表的刪除
最簡單的建立資料庫語句——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...