-- create schema studentdb ;
/*select *from student;
select *from course;
select *from sc;
*/use studentdb;
drop table sc;
drop table student;
drop table course;
create table student(
sno char(10) primary key,
sname varchar(30) not null,
s*** char(9),
sage smallint,
sdept varchar(50),
constraint ck1 check( s*** in('男','女') )
);/*
check子句的用法
mysql的檢視不支援check,我個人是很希望它能支援的。但如果你很需要在表中使用這樣的功能,我建議大家使用觸發器來實現。
create table t25
(s1 int, s2 char(5),
primary key (s1))
engine=innodb//
create trigger t25_bi
before insert on t25
for each row
if left(new.s2,1)<>'a' then set new.s1=0; end if;//
create trigger t25_bu
before update on t25
for each row
if left(new.s2,1)<>'a' then set new.s1=0; end if;//
我只需要使用before insert和before update語句就行了,刪除了觸發器不會對錶有影響,
同時after的觸發器也不能修改new的過程變數(transition variables)。為了啟用觸發器,
我執行了向表中的行插入s1=0的資料,之後只要執行符合left(s2,1) <> 'a'條件的動作都會失敗:
*/create table course(
cno char(12) primary key,
cname varchar(50),
cpno char(12),
ccredit smallint ,
constraint fk1 foreign key(cpno) references course(cno)
);create table sc (
sno char(10),
cno char(12),
grade smallint,
primary key(sno,cno),
constraint fk2 foreign key(sno) references student(sno),
constraint fk3 foreign key(cno) references course(cno)
);alter table sc drop foreign key fk2 ;
alter table sc drop foreign key fk3 ;
alter table sc add constraint fk2 foreign key(sno) references student(sno) on delete cascade on update cascade ;
alter table sc add constraint fk3 foreign key(cno) references course(cno) on delete cascade on update cascade ;
-- student表資料
insert into student(sno,sname,s***,sage,sdept) values('200215121','李勇','男',20,'cs');
insert into student values('200215122','劉晨','女',19,'cs');
-- insert into student values('200215123','王敏','女',18,'ma'),('200215124','張立','男',19,'is');
-- 注意上面的語句在mssql中不支援
insert into student values('200215123','王敏','女',18,'ma');
insert into student values('200215124','趙雲','男',20,'is');
insert into student values('200215125','張立','男',19,'is');
select *from student;
-- delete from student;
-- course 表資料
insert into course(cno,cname,cpno,ccredit) values('1','資料庫' ,null,4);
insert into course(cno,cname,ccredit) values('2','數學',2);
insert into course values('3','資訊系統',null,4);
insert into course values('4','作業系統',null,3);
insert into course values('5','資料結構',null,4);
insert into course values('6','資料處理',null,2);
insert into course values('7','pascal語言',null,4);
update course set cpno='5' where cno='1' ;
update course set cpno='1' where cno='3' ;
update course set cpno='6' where cno='4' ;
update course set cpno='7' where cno='5' ;
update course set cpno='6' where cno='7' ;
select *from course ;
-- delete from course;
-- sc表資料
insert into sc values('200215121','1',92) ;
insert into sc values('200215121','2',85) ;
insert into sc values('200215121','3',88) ;
insert into sc values('200215122','2',90) ;
insert into sc values('200215122','3',80) ;
insert into sc values('200215123','1',85);
insert into sc values('200215123','5',89);
insert into sc values('200215124','2',90);
select *from sc;
-- delete from sc;
實驗二 定義VLAN
實驗二 定義vlan vlan 802.1q 本交換機隔離 網路拓撲 實驗專案 vlan 802.1q 本交換機隔離測試 實驗環境 pc1連線在交換機的0 1 口 pc2連線在交換機的0 2 口 實驗配置 config t config vlan 1 建立vid 為1 的vlan config vl...
python實驗二 python實驗二
安徽工程大學 python 程式設計 實驗報告 班級 物流191姓名 王悅學號 3190505103 成績 日期20200316指導教師 修宇 實驗名稱 實驗二 順序結構程式設計 實驗目的 1 掌握資料的輸入輸出的方法 2 熟悉順序結構程式中語句的執行過程 3 掌握順序結構程式的設計方法。實驗條件 ...
資料庫 實驗二
1.簡單查詢 a 查詢 商號碼為s1的 商的名稱sname,所在城市city select sname,city from s where sno s1 b 查詢顏色為紅色的零件號碼 select pno from p where color 紅 c 查詢工程所在地為天津的工程名稱jname sel...