H埋土数据库实验(一到二)

        就觉得被数据库折磨了快一个学期了,应该留下点什么,帮助后来的学弟学妹们减轻一下负担,拯救一下发量,缓解一下熬夜爬上眼眶的黑眼圈······

        开始上正餐。

        实验一:建立数据库

//有的老师直接给你数据库,有的老师让你手动创建一个(当然我是后者(酷死)),总之,自己使用的数据库完整性是一定要保证的。
//教材是数据库系统概念第六版,数据库的数据也可以上网上找好导入SQL里
//实验一要求如下:
//使用企业管理器建立书上的数据库
//在企业管理器中查看数据库的属性,并进行修改,使之符合要求
//通过企业管理器,在建好的数据库中建立表
//要求为属性选择合适的数据类型,定义每个表的主码,是否允许空值和默认值
//在企业管理器中建立以上表间的表级约束:每个表的主码约束;表间的外码约束;实现 check约束
//通过企业管理器向数据库的表中输入记录,要求记录满足数据约束要求
//通过企业管理器实现对数据库表的数据插入、修改和删除数据操作。

//解释:就是把建的库表、主键、外键、还有约束条件截个图,还有流程图,再写几个插入、删除、修改的语句就可。
//插入
insert
into course
value('SD_123','tianjiacaozuo','Datebase',5);
//一定要有  ;   记住,必须是英文输入法的!!!英文、英文、英文!
//删除
delete from department
where dept_name='Biology';
//varchar的常量要用单引号引起来!
//更新
update instructor
set salary=salary*1.5
where ID='10101';

以上就是实验一,仅供参考。有好的写法私我。

        实验二:数据库的简单查询和连接查询

  • 实验目的
    1. 掌握SQL简单查询与连接查询语法。
    2. 掌握SQL Server查询分析器的使用方法;
  • 实验内容
  • 1.找出所有教师的名字
  • 2.找出所有教师所在的系
  • 3.找出所有在computer science系且工资超过100000元的教师姓名
  • 4.找出满足下面条件的所有教师的姓名,他们的工资至少比biology系某个教师的工资要高
  • 5.对于大学中所有讲授课程的教师,找出他们的姓名以及所讲述课程的标识。(用连接语句、条件语句分别实现、更名语句)
  • 6.找出所在建筑名称中包含子串waso的所有系名
  • 7.按工资降序列表,工资相同按姓名升序排列
  • 8.找出工资在100000到200000间教师信息(2种语句)
  • 9.找出2009年秋和2010春同时开课的所有课程的集合。
  • 10.找出2009年秋或2010春同时开课的所有课程的集合。(保留重复数据)select name from instructor;

1.找出所有教师的名字

select name
from instructor;

2.找出所有教师所在的系

select depr_name
from instructor

3.找出所有在computer science系且工资超过100000元的教师姓名

select name
from instructor
where dept_name='Comp.Sci.' and salary>100000;

4.找出满足下面条件的所有教师的姓名,他们的工资至少比biology系某个教师的工资要高

select name
from instructor
where salary>some(select salary 
                    from instructor 
                    where dept_name='Biology');

5.对于大学中所有讲授课程的教师,找出他们的姓名以及所讲述课程的标识。(用连接语句、条件语句分别实现、更名语句)

//条件语句
select name,course_id
from instructor,teaches
where instructor.ID=teaches.ID;
//连接语句
select name,course_id
from instructor inner join teaches
on instructor.ID=teaches.ID;
//inner join 是内联,与on连用,这时侯的条件就不能用where去写
//更名语句
select name,course_id
from instructor as I,teaches asT
where I.ID=T.ID;

6.找出所在建筑名称中包含子串waso的所有系名

select dept_name
from department
where building like '%Waso%;

7.按工资降序列表,工资相同按姓名升序排列

select *
from instructor
ordeer by salary desc,name asc;
//desc降序,asc升序,数据库中默认升序

8.找出工资在100000到200000间教师信息(2种语句)

select *
from instructor
where salary between 100000 and 200000;


select*
from instructor 
where salary>=1000 and salary<=200000;

9.找出2009年秋和2010春同时开课的所有课程的集合。

(select course_id
from section
where semester='Fall' and year=2009)
intersect
(
select course_id
from section
where semester='Spring'and year=2010);

10.找出2009年秋或2010春同时开课的所有课程的集合。(保留重复数据)select name from instructor;

(select course_id
from section
where semester='Fall' and year=2009)
union all
(select course_id
from section 
where semester='Spring' and year=2010);
//union all 保留重复的数据

以上就是实验二,内容仅供参考。有好的写法私我。

        实验好好做,也能收获不少东西。上课一定要好好听,即使老师讲的啥也不是,我们也要从他们的话里挑出精华学到就是赚到,知识是自己的,它比对象好多了,谁也偷不走。就算忘了你也不伤心是不是,哈哈哈哈。

        不出意外,数据库我会把写过的实验都整理出来,不定期的哦,嘻嘻。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值