oracle sql练习_《北京尚学堂学习》——Oracle数据库

  1. 数据库相关概念
    1. 请解释什么是DB, DBMS, DBAS, DBA, DBS?

DB:数据库(Database)的缩写,是指存放数据的仓库,存放在计算机中,按照一定的格式存放,可为用户共享

DBMS:数据库管理系统(Database Management System)的缩写,如何科学的组织和存储数据,如何高效的获取和维护数据,靠数据库管理系统来完成

DBAS:数据库应用系统(Database Application System)的缩写,在数据库管理系统的基础上,使用数据库管理系统的语法,开发直接面对最终用户的应用程序

DBA:数据库管理员(Database Administrator)的缩写,数据库管理系统的操作者

DBS:数据库系统(Database System)的缩写,数据库+数据库管理系统+数据库应用系统+数据库管理员+最终用户。

  1. 请列举常用的关系型数据库并简述其特点.
  1. Oracle
  2. Mysql
  3. DB2
  4. Microsoft SQL Server
  5. Microsoft Access

特点:关系型数据库最典型的数据结构是表,由二维表,及其之间的联系所组成的一个数据库组织。支持事务一致性。

优点:1.易于维护:都是表结构,格式一致

2.使用方便:SQL语言通用

3.支持复杂操作:支持SQL,可用于一个表以及多个表之间的非常复杂的查询

缺点:1.性能差:读写性能比较差,尤其是海量数据的高效率读写,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈

2.存储方式不灵活:固定的表结构,灵活度稍欠。

  1. Oracle入门
    1. 简述Oracle数据库的版本变更及特点.

Oracle数据库是一组文件的集合。Oracle数据库由:数据文件、控制文件、日志文件组成

  1. 数据文件(.DBF):数据文件是二进制文件,用于保护用户应用程序数据和Oracle系统内部的文件,这些文件在操作系统中就是普通的操作系统文件,Oracle在创建表空间的引用时会创建数据文件
  2. 控制文件(.CTL):控制文件是一个二进制文件,主要记录数据库的名称,数据库的数据文件存放的位置等信息,一个控制文件只能属于一个数据库,如果控制文件丢失,这数据库就无法操作

3.日志文件(.LOG):日志文件在Oracle数据库中分为重做日志(Redo Log)文件和归档日志文件,重做日志文件是数据库正常运行不可缺少的文件,重做日志文件主要记录了数据库的操作过程。用于备份和还原数据库,以达到数据库的最新状态。

  1. 什么是C/S? 什么是B/S? 请简述两者区别.

C/S::客户机服务器模式

B/S:浏览器服务器模式

区别:二者没有本质区别,之所以在C/S架构上提出B/S架构是为了节约客户端更新、维护的成本,以及广域资源的共享

1. B/S属于C/S,浏览器只是特殊的客户端

2.C/S可以使用任何通信协议,而B/S这个特殊的C/S架构规定必须实现HTTP协议

3.浏览器是一个通用客户端,本质上开发浏览器,还是实现一个C/S系统

  1. Oracle的安装和卸载
    1. 请简述Oracle的卸载步骤?

1停止使用 Oracle 的服务

停用 oracle 服务,进入计算机管理,在服务中,找到 oracle 开头的所有服务,右击选择 停止。

2运行卸载 Oracle 数据库程序

在开始菜单中找到 Oracle 安装产品,点击运行 Oracle 自带的卸载程序 UniversalInstaller 工具卸载。

3删除使用 Oracle 的服务

开始菜单中,找到 UniversalInstaller,运行 Oracle Universal Installer,单击卸载产品,

在产品清单窗口中,单击全部展开,除了 OraDb11g_home1 外,勾选其他项目,单击删除, 根据软件提示单击下一步最终完成卸载。

4删除注册表中 Oracle 相关项

在 命 令 窗 口 , 输 入 regedit , 打 开 注 册 表 , 依 次 展 开 HKEY_LOCAL_MACHINESOFTWARE,找到 oracle,删除之。

依次展开 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 中,删除所有 oracle 开头的项。

依 次 展 开 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplication,删除 所有 oracle 开头的项。

扩展删除(以下不是必须的注册表删除项),如果安装不成功可以自己也把这些删除了

在 HKEY_CLASSES_ROOT,删除以 Ora、Oracle、Orcl 或 EnumOra 为前缀的键 删 除 HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerMenuOrderSt artMenuPrograms 中所有以 oracle 开头的键。

删 除 HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INI 中 除 Microsoft ODBCforOracle 注册表键以外的所有含有 Oracle 的键。

5删除 Oracle 环境变量

右键点击我的电脑-->属性-->高级-->环境变量,删除环境变量 ORACLE_HOME、 TNS_ADMIN 等环境变量,删除 PATH 中等环境变量有关 Oracle 的设定的路径信息。

6删除“开始”菜单中 Oracle 目录

打开资源管理器,在地址栏中输入“%userprofile%「开始」菜单程序”回车,删除安 装的 Oracle 目录。然后再到地址栏中输入“%allusersprofile%「开始」菜单程序”回车, 删除安装的 Oracle 目录。

7重新启动计算机

重启电脑。

8删除 ProgramFilesOracle 目录

如果在 ProgramFilesOracle 目录存在,则删除 ProgramFilesOracle 目录。

9删除 Oracle 安装目录

删除 Oracle 的安装目录 app 等目录。

  1. 请简述什么是SID?

SID是一个数据库的唯一标识符!是建立一个数据库时系统自动赋予的一个初始ID,

SID主要用于在一些DBA操作以及与操作系统交互,从操作系统的角度访问实例名,必须通过ORACLE_SID,且它在注册表中也是存在的.

  1. Oracle目录结构和系统用户
    1. 请列举三个Oracle的系统用户及其默认密码

1.sys用户

sys 是 Oracle 中的超级账户,拥有的权限最大。可以完成数据库的所有管理任务。默认密码是change_on_install.

2system 用户

System没有 sys 权限大,通常用来创建一些用户查看管理信息的表或视图。不建议使 用 system 用户来创建一些与管理无关的表或者视图.默认密码manager

3.scott 用户

scott:是 oracle 提供的示例用户,提供了一些学习 oracle 操作的数据表。如: emp、dept、 salgrade、bonus .默认密码是tiger

  1. 请列举三个Oracle常用目录并说明作用

1.admin 目录

记录 Oracle 实例的配置,运行日志等文件。每个实例一个目录。 SID:System IDentifier 的缩写,是 Oracle 实例的唯一标记。在 Oracle 中一个实例只能 操作一个数据库。如果安装多个库那么就会有多个实例,我们可以通过实例 SID 来区分。 由于Oracle中一个实例只能操作一个数据库的原因oracle中也会使用SID来作为库的名称。

2.cfgtoollogs 目录

下面子目录分别存放当运行 dbca,emca,netca 等图形化配置程序时的 log。

3.checkpoints 目录

存放检查点文件

4.diag 目录

Oracle11g 新添加的一个重组目录。其中的子目录,基本上 Oracle 每个组件都有了自己 单独的目录,在 Oracle10g 中我们一直诟病的 log 文件散放在四处的问题终于得到解决,无 论是 asm 还是 crs 还是 rdbms,所有组件需要被用来诊断的 log 文件都存放在了这个新的目 录下。

5.flash_recovery_area(闪回区)目录

闪回区:分配一个特定的目录位置来存放一些特定的恢复文件,用于集中和简化管理数

据库恢复工作。闪回区可存储完全的数据文件备份、增量备份、数据文件副本、当前的控制 文件、备份的控制文件、spfile 文件、快照控制文件、联机日志文件、归档日志、块跟踪文 件、闪回日志。

6.oradata 目录:存放数据文件

  1. Oracle客户端
    1. 请问Oracle的常用客户端有哪些?
  1. SQL Plus:Oracle自带的操作数据库的客户端
  2. PL/SQL:第三方操作Oracle数据库的工具,使用第三方客户端要开启OracleOraDb11g_home1TNSListener服务
    1. 如何使用SQL Plus连接Oracle?
  1. 使用sys用户连接Oracle,需要指定角色(sysdba/sysoper)

d314c456227aec96a6451090d70ca026.png

69dd23cd68a5626c9b99f0070aab8ecb.png

2.使用system登录,不用指定角色

b9ed7b39ae64800a147a14485b451c9b.png

58512296a4c5efb156e0470232f573ac.png
  1. Oracle常用命令及练习表
    1. 列举常用的Oracle命令有哪些?
  1. Select
  2. Insert
  3. Create
  4. Delect

5.alter

  1. 如何使用命令连接Oracle SQL Plus?

直接在cmd控制台输入SQLPLUS,然后点击回车

  1. Oracle连接配置(listener.ora和tnsnames.ora)
    1. 请问出现如下问题的可能原因是什么? 如何解决?

4f5cf09fceb80270b05f682c7dccfa4e.png

tnsnames.ora配置文件中的连接Oracle的标识与输入的不一致,解决办法:更改tnsnames.ora配置文件中的链接标识

  1. 请说明listener.ora和tnsnames.ora在Oracle中分别起什么作用?

tnsnames.ora:用在oracle client端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样

listener.ora用在oracle server端,可配置Oracle的监听端口。

  1. SQL语言基础
    1. 什么是SQL?

结构化查询语言(Structured Query Language)简称:SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

  1. 使用SQL语言可以做什么?
  1. 数据库数据的增删改查操作(CRUD)
  2. 数据库对象的创建,修改和删除操作
  3. 用户权限/角色的授予和取消

4.事务控制

SQL语言的分类有哪些?

DQL(数据查询语言) select

DML(数据操作语言) insert、update、delete

DDL(数据定义语言) create、alter、drop 、Rename

DCL(数据控制语言) grant、revoke

TCL(事务控制语言) SAVEPOINT 、 ROLLBACK、SET TRANSACTION ,COMMIT

数据操作语言针对表中的数据,而数据定义语言针对数据库对象(表、索引、视图、触发器、存 储过程、函数、表空间等)

  1. select子句
    1. select子句中如何定义列别名?

1、可以通过as关键字给列起别名

2、as可以被省略,一般都省略(中间需要加空格)

3、别名中,尽量不要使用特殊符号,例如空格;如果非要有特殊符号,可以使用双引号括起来,在oracle中双引号表示原样输出

  1. 请总结select在sql语句中的作用.

用于查询表格中的数据

  1. Distinct_字符串连接符_order by
    1. Distinct在sql语句中的作用是什么?

用于去除重复行信息

只能去除重复行,distinct的作用范围是它后面的所有列

  1. Oracle中用什么符号描述字符串?举例说明如何实现字符串的拼接?

字符串连接符:||

单引号表示字符串:‘’

Select‘姓名:’||ename||‘职位:’||job from emp;

  1. Where子句_等值条件和非等值条件
    1. where在SQL语句中有什么作用?

用于进行条件过滤;

1、字符串必须加单引号,而且大小写敏感

2、日期必须用单引号扩起来,而且格式必须是DD-MM月-YY(月条件比较严格,不能随便乱写)

  1. 请说明between和and在SQL语句中的含义?

表示一个范围,包含边界

Or和in作用相同 !=和<>相同

  1. Where子句_模糊查询
    1. 模糊查询中使用的关键字是什么?与之配合的通配符有哪些?分别表示什么含义?

like

1、%表示零个或多个字符的任意字符串

2、_下划线表示任何单个字符

3、[]表示指定范围[a-f]或集合中的任何单个字符

4、^不属于指定范围的任意单个字符

5、*他同于DOS命令中的通配符,代表多个字符

6、?同于DOS命令中的?,通配符,代表单个字符

7、#大致相同,不同的是只代表单个数字

  1. 请说明ESCAPE在模糊查询中的使用场景

在模糊查询中声明转义字符

  1. Where子句_IS NULL_优先级
    1. 查询所有有提成的员工中, 工资大于1500的员工的信息.

select * from emp where comm is not null and sal >1500;

  1. 查询所有CLERK的信息和工资大于1250的SALESMAN的信息

select * from emp where job='CLERK'or job='SALESMAN'and sal>1250;

  1. 查询所有工资大于1250的CLERK和SALESMAN的信息

select * from emp where (name=’CLERK’or name=’SALESMAN’) and sal>1250;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值