oracle备考复习

1、建表 字段 数据类型(常用的)

create table students
(
	sid number(5)
		constraint stu_pk primary key,
	name varchar2(10) not null,
	sex varchar2(6) 
		constraint sex_chk_s check(sex in ('m','w')),
	dob date ,
	specialty varchar2(10)
);

create table departments
(
	did number(3) 
		constraint dept_pk primary key,
	dname varchar(8) not null,
	address varchar(30)
);

create table teacher
(
	tid number(5) 
		constraints ther_pk primary key,
	did number(3)
		constraints tr_fk_d references departments(did)
);

主键:constraint constraint_name primary key,

非空:not null,

检查约束:constraint constraint_name check(sex in ('m','w')),

默认值:default sysdate,

外键:constraint con_name references dept(dno),

2、添加约束:表与表之间的关系(主外键)、字段取值范围

alter table table_name add constraint c_name c_expression;
alter table stu add constraint s_pk primary key(id);
alter table stu add constraint t_fk_s foreign key(id) references d(id);
alter table stu modify name not null;
alter table stu add constraint s_c check(sex in ('w','m'));


3、会写DML(增删改的语句)例如 插入一些测试数据 修改 删除

INSERT INTO students 
  VALUES(10101,NULL,'王晓芳', '女', '07-5月-1988','计算机');
INSERT INTO students
  VALUES(10205,NULL,'李秋枫', '男', '25-11月-1990','自动化');
INSERT INTO students
  VALUES(10102,10101,'刘春苹', '女', '12-8月-1991','计算机');


4、会有几条查询的语句 涉及到 多表、排序 分组 子查询(难点)

SELECT * FROM teachers t1
  WHERE wage >
    (SELECT AVG(wage) FROM teachers t2
       WHERE t2.department_id = t1.department_id);


5、写一到两个PL/SQL程序包含过程

CREATE OR REPLACE PROCEDURE display_teacher(
      v_no teachers.department_id%TYPE)
    AS
    v_wage teachers.wage%TYPE;
    v_maxwage teachers.wage%TYPE;
    v_minwage teachers.wage%TYPE;
    BEGIN
      SELECT AVG(wage) INTO v_wage
        FROM teachers WHERE department_id = v_no;
      SELECT MAX(wage) INTO v_maxwage
        FROM teachers WHERE department_id = v_no;
      SELECT MIN(wage) INTO v_minwage
        FROM teachers WHERE department_id = v_no;
      DBMS_OUTPUT.PUT_LINE
        ('该系平均工资为:'||v_wage);
      DBMS_OUTPUT.PUT_LINE
        ('该系最高工资为:'||v_maxwage);
      DBMS_OUTPUT.PUT_LINE
        ('该系最低工资为:'||v_minwage);    
    EXCEPTION
      WHEN NO_DATA_FOUND THEN
        DBMS_OUTPUT.PUT_LINE('该系不存在。');
    END display_teacher;


      

加分题:写一个程序 能够读取指定目录下的文件(可以是多级目录) 然后可以对指定的文件名进行过滤
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值