一.實驗環境:
mysql workbench
二.實驗內容與完成情況:
5.建立乙個教職工表teacher(tno,tname,tage,telphone,t***,id),將教工號tno設定為主鍵,性別預設值為"男"
create
table teacher
( tno char(7
)primary
key,
#設定主鍵
tname varchar(10
),tage int
, telphone char(12
),t*** char(2
)default
'男',
#性別預設值為"男"
tid varchar(20
))engine
=innodb
;
6.
根據教職工表teacher完成以下內容:
設定telphnoe預設值為00000000
alter
table teacher modify telphone char(12
)default
'0000000'
;
或
alter
table teacher change column telphone telphone char(12
)default
'00000000'
;
設定t***的check檢查約束為:輸入值只能是「男」或「女」
alter
table teacher modify t*** char(2
)default
'男'check
(t***=
'男'or t***=
'女')
;
設定check後,進行檢驗,發現check並沒有起效果:
主要原因在於mysql不支援check操作,因此在這裡用enum設定只能是"男"或「女」:
alter
table teacher change column t*** t*** enum
('男'
,'女'
)default
'男';
再次檢驗:
可知設定成功。
設定id的位數為15位或者18位,每位都是數字
delimiter
//create
trigger tr_id after
insert
on teacher #建立觸發器
for each row
begin
declare iresult int
default0;
if(length(new.tid)
!=15
and length(new.tid)
!=18
)#如果id長度不為15或18則報錯
then
signal sqlstate'45000'
set message_text =
'the length is not allowed'
;endif;
select new.tid regexp
'^[0-9]*$'
into iresult;
#如果id內容存在非數字則報錯
if(iresult=0)
then
signal sqlstate'45000'
set message_text =
'id must be consisted of nums'
;endif;
end//
檢查:
插入長度不為15和18的元素:插入失敗
插入長度為15和18的元素但包含非數字:插入失敗
插入長度為15且均為數字的資料:插入成功
7設有訂報管理子系統資料庫dingbao中的表*****,表內容如下:
請在掌握資料庫完整性知識的基礎上,根據表的內容設定盡可能多的完整性規則用於該錶,用於保障該錶的正確性和完整性。
約束性:
**如下(其中一種實現):
create
table *****
( pno char(7
)primary
key,
pna char(20
)unique
notnull
, ppr float
notnull
)engine
=innodb
;delimiter
//create
trigger trig after
insert
on ***** #建立觸發器
for each row
begin
declare iresult int
default0;
if(length(new.pno)!=6
or ppr<0)
then
signal sqlstate'45000'
;endif;
select new.pno regexp
'^[0-9]*$'
into iresult;
#如果id內容存在非數字則報錯
if(iresult=0)
then
signal sqlstate'45000'
;endif;
end//
Sql資料庫語言
我今天學習了一下資料庫簡單的sql 語言。1.建立資料庫 cerate database users 2.建立資料庫的位置 on primary filename d data data mdf size 50mb,maxsize 100mb,filegrowth 2mb log on name u...
資料庫分類 SQL資料庫 NoSQL資料庫
一 資料庫產品 二.sql資料庫 sql 是所有關係型資料庫的公共語言 關係型資料庫,是建立在關係模型基礎上的資料庫,借助於集合代數等數學概念和方法來處理資料庫中的資料,我們平常使用的資料庫,像mysql,oracle,sql server等都是傳統的關係型資料庫。關係模型指的就是二維 模型,而乙個...
SQL資料庫 管理資料庫
建立完資料庫,如何對它進行管理呢?管理資料庫包括對資料庫修改大小 新增資料檔案或日誌檔案 分離和附加資料庫等,同樣有語句和ssms兩種方法。接下來主要展示用sql語句方法更改,用介面的方式只需要在屬性裡更改就可以 將乙個新的事務日誌檔案xscjl log,初始大小100mb加入xscj中。alter...