Oracle 课堂四

这篇博客详细介绍了Oracle数据库的一些关键操作,包括查询最高积分的系名及积分、查找特定场地的比赛冠军、筛选参与者、修改违规成绩以及删除项目。还探讨了数据库约束(非空、主键、唯一、检查和外键)的创建与管理,并讲解了如何创建、修改和删除视图。此外,还涉及到了序列的创建、修改和删除,以及索引的建立和管理。最后,文章讨论了Oracle用户管理,包括创建用户、赋权、角色定义、用户修改和删除。
摘要由CSDN通过智能技术生成
    有某个学生运动会比赛信息的数据库,保存了如下的表:
    运动员sporter表:(运动员编号sporterid,运动员姓名name,运动员性别sex,所属系department)
    项目item表(项目编号itemid,项目itemname,loc地区)
    成绩grade表(运动员编号sporterid,项目编号itemid,积分mark)
    
1.求出总积分最高的系名及总积分
SELECT department,sum(mark)
FROM sporter s,grade g
WHERE s.sporterid=g.sporterid
GROUP BY department
HAVING sum(mark)=(SELECT max(sum(mark))
                  FROM sporter s,grade g
                  WHERE s.sporterid=g.sporterid
                  GROUP BY department);

2.查询在一操场进行比赛的项目名称及其冠军的姓名
SELECT itemname,NAME
FROM sporter s,item i,grade g
WHERE s.sporterid=g.sporterid and i.itemid=g.itemid and loc='一操场' and mark=6;
 
3.找出参加了王玥所参加过的项目的其他同学的姓名
SELECT NAME
FROM sporter s,grade g
WHERE s.sporterid=g.sporterid
      AND itemid IN(SELECT itemid
                    FROM sporter s,grade g
                    where s.sporterid=g.sporterid and name='王玥') and name!='王玥';

4.经查,王玥因为使用了违禁药品,其成绩都记为0分,请在数据库中做出相应修改
update grade set mark=0 where sporterid=(select sporterid from sporter where name='王玥');

5.经组委会协商,需要删除女子跳高比赛项目

一、约束
1、not NULL:非空约束,不允许为null值
建表时创建:
CREATE TABLE 表名(
  列名 数据类型 DEFAULT 默认值 NOT NULL,
  ...
);

修改表时创建非空约束:
ALTER TABLE  表名 MODIFY(列名 NOT NULL);

由not NULL 修改为null
ALTER TABLE  表名 MODIFY(列名 NULL);

CREATE TABLE A(
  ID NUMBER(4) DEFAULT 1 NOT NULL,
  NAME VARCHAR2(20) NOT NULL
);

INSERT INTO A(NAME) VALUES('aaa');
INSERT INTO A(ID) VALUES(5);

2、主键:又称为唯一索引键 不允许主键列的值为Null且不允许重复
PRIMARY KEY.
建表时创建:
CREATE TABLE 表名(
  列名 数据类型 DEFAULT 默认值 primary key,
  ...
);

CREATE TABLE 表名(
  列名 数据类型 DEFAULT 默认值,
  ...
  列名 数据类型 DEFAULT 默认值,
  constraint 约束名 primary key(约束内容)
);

修改表时创建:
ALTER TABLE  表名 ADD CONSTRAINT 约束名 PRIMARY KEY(约束内容);

删除主键约束:
ALTER TABLE  表名 DROP CONSTRAINT 约束名;

DROP TABLE A;
CREATE TABLE A(
  ID NUMBER(4) PRIMARY KEY,
  NAME VARCHAR2(20)
);

INSERT INTO A(NAME) VALUES('aaa');
INSERT INTO A(ID,NAME) VALUES(1,'aaa');

DESC A;
ALTER TABLE A MODIFY(ID NULL);    ---不能将主键约束的not null修改为null

ALTER TABLE A DROP CONSTRAINT SYS_C009789;

3、唯一约束 : 不允许重复值
建表时创建:
CREATE TABLE 表名(
  列名 数据类型 DEFAULT 默认值 unique,
  ...
);

CREATE TABLE 表名(
  列名 数据类型 DEFAULT 默认值, <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值