⾦仓数据库mysql的⼀般实例
实验⼀
实验⽬的:理解和掌握关系数据库标准sql语⾔,能够熟使⽤sql语⾔完成各种数据库操作和管理任务。实验⼯具:安装有⾦仓数据库的windows7系统。
实验过程:
1,创建模式:
代码:create schema TT AUTHORIZATION system;
setsearch_path to "TT";
2,创建表:
1)表Student
代码:create table Student
(Snochar(9) primary key,
数据库应用案例Sname char(20),
Ssex char(2),
Sage smallint,
Sdept char(20)
);
2)表Course
代码:
create table Course
(Cno char(4) primary key,
Cname char(40) not null,
Cpno char(4),
Ccreditsmallint,
foreign key(Cpno) REFERENCES Course(Cno)
);
3)表SC
代码:
create table SC
(Sno char(9),
Cno char(4),
Grade smallint,
primary key(Sno,Cno),
foreign key(Sno) REFERENCES Student(Sno),
foreign key(Cno) references Course(Cno)
);
结果截图:
3.插⼊数据:
如插⼊表Student的⼀条信息代码:
insert into Student values('1','李思','m',123,'123333');
4.修改基本表
1)显⽰当前搜索路径。
show search_path;
截图:
2)向Student表加⼊“⼊学时间”列,类型为⽇期型
alter table Student ADD S_entrance DATE;
效果截图
3)将年龄的数据类型由字符型改为整型(原来假设为字符型)alter table Student alter column Sage int; 4)增加课程名称必须取惟⼀值的约束条件。
alter table Course add unique(Cname);
5.删除基本表
删除Student表
drop table Student CASCADE;
6. 数据查询
查询全体信息记录
select *from Student;
查询全体学⽣的姓名select Sname from Student;
7.创建视图:
CREATE VIEW S_G(Sno,Gavg) as
select Sno,Avg(Grade)
from SC
group by Sno;
将Student中所有的”m”作为⼀个视图
CREATE VIEW F_Student(F_sno,name,sex,age,dept) as select *
from Student
where Ssex='m';
查询视图
select Sno,gavg
from S_G
where Sno=null;