zoukankan      html  css  js  c++  java
  • Oracle第四课课后作业

    Oracle第四课课后作业

    一、DQL操作

    1. 按照emp表中的入职时间降序查询

      SELECT * FROM emp e ORDER BY e.hiredate DESC;
    2. 获取emp表中的所有职位信息,不要重复显示

      SELECT DISTINCT job FROM emp;
    3. 显示每个员工的sal增加500后的信息

      SELECT ename,sal 原工资,sal+500 现工资 FROM emp;
    4. JavaScript中找出数组重复的元素

      [10,9,3,7,2,8,4,5,7,9],找出9和7

      <script>
      var arr=[10,9,3,7,2,8,4,5,7,9];
      arr.sort();
      for(i=1;i<=arr.length;i++)
         if(arr[i]==arr[i-1])
            console.log(arr[i]);
      </script>

    二、DDL(data definition language):数据定义语言

    • 关键词

      create(创建),alter(修改),drop(销毁)
    • 操作的对象

      • 表空间

        -- 授予管理员权限
        grant dba to user_test;
        -- 授予创建表空间的权限
        grant create tablespace to user_test;
        -- 创建表空间
        create tablespace sp1 datafile 'sp1.dbf' size 1m;
        -- 创建临时表空间
        create temporary tablespace tsp1 tempfile 'tsp1.dbf' size 2m;
        -- 创建用户时指定表空间和临时表空间
        create user user_test identified by user_test default tablespace sp1 temporary tablespace tsp1;
        -- 授予删除表空间权限
        grant drop tablespace to user_test;
        -- 删除表空间
        drop tablespace sp1 including contents and datafiles;
        -- 删除临时表空间
        drop tablespace tsp1 including contents and datafiles;
        -- 授予扩大表空间的权限
        grant alter database to user_test;
        -- 扩大表空间
        alter database datafile 'sp1.dbf' resize 2m;
        -- 授予在表空间增加数据文件的权限
        grant alter tablespace to user_test;
        -- 增加数据文件
        alter tablespacesp1 add datafile 'sp1_2.dbf' size 1m;
        • 数据类型

          number:数字类型
          integer:整数
          char:定长字符串
          varchar:变长字符串
          timestamp:时间戳
          blob:二进制数据
          clob:放大量的字符数据
          bfile:二进制文件
        • 对表的操作

          -- 创建表
          create table t1(id number);
          -- 增加一列
          alter table t1 add name char(4);
          -- 修改列的宽度
          alter table t1 modify name char(5);
          -- 删除一列
          alter table t1 drop column age;
          -- 增加系统默认名字的主键约束
          alter table t1 add primary key(id);
          -- 增加自己命名的主键约束
          alter table t1 add constraint t1_pk primary key(id);
          -- 删除主键
          alter table t1 drop primary key;
          -- 删除指定约束的主键
          alter table t1 drop constraint t1_pk;
          -- 增加唯一约束
          alter table t1 add constraint t1_uk unique(name);
          -- 增加默认约束
          alter table t1 modify age default 18;
          -- 增加检查约束
          alter table t1 add constraint t1_sex check(sex = 0 or sex = 1);
          -- 增加外键约束
          (什么都不写相当于no action,当子表有关联时删除父表记录会报错)
          alter table t1 add constraint t1_fk foreign key(clazz) references t_clazz(id);
          (设置为set null,删除父表记录时,把子表相应外键置为空)
          alter table t1 add constraint t1_fk foreign key(clazz) references t_clazz(id) on delete set null;
          (设置为cascade级联删除,删除父表时,子表相应的记录也会被删除)
          alter table t1 add constraint t1_fk foreign key(clazz) references t_clazz(id) on delete cascade;
          -- 删除外键约束
          alter table t1 drop constraint
          -- 删除表
          drop table t1;
          truncate table t1;

    三、DML(data manipulation lanuage)数据操纵语言

    • 关键词

      insert(插入),delete(删除),update(修改)
    • 对表中的数据进行操作

      -- 插入数据
      -- 不指定添加的字段
      insert into t_clazz values(1,'name1','');
      -- 指定添加的字段
      insert into t1(id,name,age,sex,clazz) values(3,'name1',10,0,1);
      -- 修改
      -- 修改所有记录
      update t_clazz set name='新名称';
      -- 修改指定记录
      update t_clazz set name='新名称1' where id=1;
      -- 删除
      delete from t_clazz where id=1;

    四、DQL(data query language)数据查询语言

    • 关键词

      select
    • 查询表中的信息

      -- 查询当前用户下所有表的信息
      select * from user_tables t;
      -- 查询当前表的所有字段信息
      select * from user_tab_columns where table_name='T_CLAZZ';
      -- 给表起别名
      as 或者是空格
      select sal,empno,ename,sal+100 sal2 from emp;
      -- 判断字段是否为空
      select sal from emp where sal is null;
      -- where过滤
      select empno,ename,sal from emp where sal>=3000;
      -- distinct去重
      -- 查询部门里有员工的部门号
      select distinct deptno from emp;
      -- distinct对后面的字段都进行过滤
      select distinct deptno,sal from emp;
      -- 排序,升序asc,降序desc
      -- 默认为升序
      select * from emp order by sal;
      -- 部门升序,部门中的员工工资降序
      select * from emp order by deptno asc,sal desc;

    五、truncate,drop,delete三个的区别

    1. truncate和drop属于DDL,针对的是表,delete属于DML,针对的是表中的数据

    2. delete删除后不会释放空间,可以恢复数据,truncate和drop都会释放空间,不能恢复,truncate只删除表里的内容,drop删除的是全部,表上的所有对象都会删除掉

    3. 有害化排序:delete->truncate->drop



    软件下载提取码:qwer
  • 相关阅读:
    《手把手教你》系列技巧篇(三十二)-java+ selenium自动化测试-select 下拉框(详解教程)
    《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇(详解教程)
    《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)
    《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)
    ApplicationContext在非Service类中调用Spring的Serivce类
    java多字段排序
    PropertyDescriptor动态setter和getter设置对象属性
    presto timestmp使用
    【效能提升】我们排查一个bug的过程是怎么样的?
    【效能提升】上线前漏了SQL脚本,漏加上某个配置项了?
  • 原文地址:https://www.cnblogs.com/ty0910/p/14293003.html
Copyright © 2011-2022 走看看