oracle复习总结

oracle复习总结
oracle复习总结

一、

1.储存模式是一种包含了诸如段。视图。过程。函数程序包。触发器。用户自定义的对象集合类型序列同义词和数据连接对象的逻辑结构。

2.用户角色,对象权限系统权限

Select,insert,update,delete可以使用的权限是execute

二.SQL语言

1.创建表create table 表名

2.约束

(1)非空约束not null

(2)唯一约束unique

(3)主键约束primary key 最多只能有一个主键约束主键约束可以使用一列组成,不能有重复的不能为空

(4)外键约束foreign key

外键是指引用一个表中的某个列或某几个列,或本表中另一个列或者几个列被引用的列应该是主键列或者唯一性约束列。

约束关键词constraint 名称foreign key references引用表名引用表主键

(5)检查约束check constraint名称check表达式

(6)缺省约束default

3.修改表

(1)增加列

Alter table 表名add 新列名数据类型

(2)更新列

Alter table 表名modify 列名数据类型

(3)删除列

Alter table 表名drop column 要删除的列名

(4)删除表

Drop table 表名

2.DML

1.检索所有列

Select *from emp

Select ename,job from emp;

Select ename,to_char(hiredate,?yyyy-mm-dd?) from emp

Select distinct deptno,job from emp取消重复行

Select ename,sal*12from mep

处理null

Select ename,sal,comm.,(sal+comm)from emp

连接字符串

Select ename||?is a ?||job as”employ detail”from emp

使用简单where子句

Select ename,sal from emp where sal>2000

Select job,sal from emp where ename=?SCOTT?;

Select job ,sal from emp where lower (ename)=?scott?;

Where 子句和between and

Select ename,sal ,hiredate,job from emp where sal between 1000 and 2000

Where 子句中使用like 操作符

Select ename,sal from emp where ename like?S%?;

Order by 子句

1,升序排列

Select ename ,sal from emp where deptno=30 order by sal;

2.降序排列

Select ename,sal ,comm. From emp where deptno=30 order by sal desc

3.使用多列排序

Select ename ,sal ,commm from emp where deptno=30 order by sal asc ,comm. Desc

4.数据分组

Grop by

1,分组函数

Select max(sal),min(sal)from emp

2, 取消重复值

Select count (distinct deptno)as distinct_dept from mep

3.group by having 子句

Select column,group_function from 表名where condition group by groupby_expression having group_condition

使用group by进行单列分组select deptno,avg(sal),mac(sal)from emp group by deptno

使用groupby进行多列分组

Select deptno,job,avg(sal),max(sal)from emp group by deptno ,job;

使用having子句限制分组显示select deptno,avg(sal),max(sal)from emp group by deptno having avg(sal)<2000

4.连接查询

1.不使用表名

Select dept.dname,emp.ename from dept,emp where dept.deptno=emp.deptno

2.相等连接

Select table1.column,table2.column from table1,table2 where table.column=table2.column

3.使用and指定其他条件

Select e.ename,e.sal,d.dname from emp e,dept d where e.deptno=d.deptno and d.deptno=10

4不等连接

Select e.ename,e.sal,s.grade from emp e,salgrade s where e.sal between s.losal and s.hisal

5自连接

Select manager.ename from emp manager ,emp worker where manager .empno=worker.mgr and worker.ename=?BLAKE?

6内连接外连接

Select table1.coulmn,table2.coulmn from table1 inner left\right\\\full join table2 on table1.coulmn=table2.coulmn

内连接

Select d.dname,e.ename from dept d ,emp e where d.deptno=e.deptno and d.deptno=10

左外连

Select d.dname,e.ename from dept d left join emp e on d.deptno=e.deptno and d.deptno=10

嵌套查询

Select ename,sal,deptno from emp where deptno=(select deptno from emp where ename=?SCOTT?)

多行子查询

Select ename,job,al,deptno from emp where jon in (select distinct job from emp where deptno=10) 多列子查询

Select ename ,job ,sal,deptno from emp where (deptno ,job )=(select deptno ,job from emp where

ename=?SMITH?)

成对比较

Select ename ,sal,comm.,deptno from emp where (sal,nvl(comm.,-1))in (select sal,nvl(comm.,-1)from emp where deptno=30)

4.合并查询

Union 并集走掉结果集中的重复行union all两个结果记的并集不会取消重复行intersect两个结果集的交集minus两个结果集的差集

Insert

(1)插入单行数insert into table column1 coulmn2 values values1 values2

不使用列插入单行数据

Insert into dept values(50,?TRAIN??BOSTON?)

使用列插入单行数据

Insert into emp (emp,ename ,job hiredate )values(1244,?john?,?clerk?,?01-3-86?)

使用子查询插入数据

Insert into employee(empno,ename,sal,deptno)select empno,enmae,sal,deptno from emp where deptno=20

使用first

Select first when deptno =10 then into dept 10 when deptno=20then into dept 20 else into other select *from emp

555 update

2.3事务锁

事务用于确保数据库的一致性主要由insert update delete select。。。。for update

提交事务commit

回退事务rollback

三.数据库对象

1,同义词

Create synonym 名字for object_name

2序列

创建序列

Create sequence 名字Start with 名字increment by 数字(初始值)maxvalue 数字cycle和nocycle

使用序列

Select s_test.nextval from dual

Select s_test.currval form dual

使用序列填充主键

Creaete table student(

Id integer constraints_test primary key,

Name varchar2(20);

Insert into student (id,name)values (s_test.nextval,?fendou?)

3.视图

1.视点集

2.简化操作

3.定制数据

4.合并分割数据

5.安全性

4.创建并使用视图

Create or replace view view_name as subquery constranint constraint_name

Create view emp_view as select empno ,ename,deptno from emp where deptno=30

Insert into emp_view values(2009,?fendou?,30)

创建具有check option 约束的视图

Creaete or replace emp_view as select empno,ename,deptno from emp where deptno=30 wieh check option constraint emp_view_ck

5.索引

索引加快数据的一种有效方式

Creaete unique index index_name on table_name column_name (column_name…) Tablespace tablespace_name

Create index i_emp_index on emp(deptno)

Create endex i_emp_edno on emp(empno,deptno)

修改索引

Alter index i_emp_edno rename to i_emp_no

Drop index i_emp_no;

临时表

Create global temporary 表名列类型

On commit preserve rows 会话中断时

Commit时

Create global temporary table temp_test2 (

tempId int

)

On commit delete rows;

四.PL SQL 编程简介

1,块结构

Declare

名称类型值

Begin

执行异常处理部分

End

已知矩形面积和高求宽度

Declare

V_width int;

V_heitht int:=2;

V_area int:=6;

Begin

Set the width eaual to the area divided by the height

V_width:=v_area/v_height;

Dbms_output.put_line(“v_width=”||v_width);

Exception

When zero_divide then

Dbms_output.put_line(…divison by zero?);

End

2,变量和类型

Int varchar2 number

条件逻辑

If then else elseif end if

循环

While循环for循环简单循环

Loop

Statements

End loop

While循环

oracle复习大纲(1)

chapter 7 1.Oracle数据库物理存储结构的组成及各个部分的功能、性质。 数据文件:用于存储数据库中的所有数据 控制文件:用于记录和描述数据库的物理存储结构信息 重做日志文件:用于记录外部程序(用户)对数据库的改变操作 归档文件:用于保存已经写满的重做日志文件 初始化参数文件:用于设置数据库启动时的参数初始化值 跟踪文件:用于记录用户进程、数据库后台进程等的运行情况 口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令; 警告文件:用于记录数据库的重要活动以及发生的错误; 备份文件:用于存放数据库备份所产生的文件。 2.数据文件管理: (1)数据文件与表空间的关系 从物理角度看,数据库由数据文件构成,数据存储在数据文件中;从逻辑角度看,数据库是由表空间构成的,数据存储在表空间中。一个表空间包含多个数据文件,但一个数据文件只能属于一个表空间。 在oracle数据库中,数据文件是依附于表空间而存在。一个表空间可以包含多个数据文件,但一个数据文件只能从属于一个表空间。在逻辑上,数据库对象都存放在表空间中,实质上是存放在表空间所对应的数据文件中。 (2)数据文件的添加、数据文件大小的修改autoextend on 、resize(操作)、数据文件的移植 添加: 向表空间添加一个大小为xMB的数据文件: alter tablespace 表空间名add datafile ‘路径\*.dbf’ size xMB; 向表空间添加一个自动增长的数据文件: alter tablespace 表空间名add datafile ‘路径\*.dbf’ size xMB autoextend on next 1M maxsize 50MB; 向临时表空间添加一个大小为xMB的数据文件: alter tablespace 表空间名 add tempfile‘路径\*.dbf’ size xMB; 修改: ①修改大小 修改数据文件大小为yMB: Alter database datafile ‘路径\*.dbf’ resize yMB; 修改文件的自动增长方式: Alter database datafile ‘路径\*.dbf’ autoextend on next 1M maxsize unlimited;

Oracle数据库基本知识点

1、数据库基本语句 (1)表结构处理 创建一个表:cteate table 表名(列1 类型,列2 类型); 修改表的名字 alter table 旧表名 rename to 新表名 查看表结构 desc 表名(cmd) 添加一个字段 alter table 表名 add(列类型); 修改字段类型 alter table 表名 modify(列类型); 删除一个字段 alter table 表名 drop column列名; 删除表 drop table 表名 修改列名 alter table 表名 rename column 旧列名 to 新列名; (2)表数据处理 增加数据:insert into 表名 values(所有列的值); insert into 表名(列)values(对应的值); 更新语句:update 表 set 列=新的值,…[where 条件] 删除数据:delete from 表名 where 条件 删除所有数据,不会影响表结构,不会记录日志, 数据不能恢复--》删除很快: truncate table 表名 删除所有数据,包括表结构一并删除: drop table 表名 去除重复的显示:select distinct 列 from 表名 日期类型:to_date(字符串1,字符串2)字符串1是日期的字 符串,字符串2是格式 to_date('1990-1-1','yyyy-mm-dd')-->返回日期的 类型是1990-1-1 (3)查询语句 1)内连接 select a.*,b.* from a inner join b on a.id=b.parent_id

Oracle复习

一.创建用户 在YGGL数据库中创建一个用户MANAGER,授予DBA角色和SYSDBA系统权限,它可以替代system系统用户。 CONNECT SYSTEM/123456 AS SYSDAB CREATE USER MANAGER PROFILE "DEFAULT" IDENTIFIED BY manager DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK; GRANT SYSDBA TO "MANAGER"; GRANT "COUNTNECT" TO "MANAGER"; GRANT "DBA" TO "MANAGER"; ALTER user MANGER GRANT CONNECT THROUGH SYSTEM; 二:创建角色 在YGGL数据库中创建一个角色ADMIN,授予DBA角色和SYSDBA系统权限。CREATE ROLE ADMIN IDENTIFILED BY "manager"; GRANT SYSDAB TO ADMIN ; GRANT SYSOPER TO ADMIN; GRANT "CONNECT" TO ADMIN; GRANT "DBA" TO "ADMIN"; 一.创建概要文件 在YGGL数据库中创建概要文件YGGL_PROFILE并分配给用户MANAGER。CREATE PROFILE "XSCJ _PROFILE"LIMIT COMPOSITE_LIMIT DEFAULT FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 20 PASSWORD_GRACE_TIME 60 PASSWORD_LIFE_TIME 30 PASSWORD_REUSE_MAX UNLIMITED PASSWORD_REUSE_TIME 120 PASSWORD_VERIFY_FUNCTION DEFAULT (1)使用命令方式分别向YGGL数据库个表中插入一行记录 INSERT INTO ZPEMPLOYEES V ALUES('011112','罗林 ',TO_DATE('26-06-1973','DD-MM-YYYY'),1,'解放路100 ',210002,4055663,5); INSERT INTO ZPDEPARTMENTS V ALUES('6','人力资源',NULL); INSERT INTO ZPSALARY V ALUES ('011112',1200.09,50) (2)修改表salry的记录值 UPDATE ZPSALARY SET InCome=2890 WHERE EmployeeID='011112'; (3)删除Salary中的一行记录 DELETE FROM ZPSALARY WHERE EmployeeID='01112'; 3.索引和完整性 (1).对YGGL数据库中的Employees表的DepartmentID列建立索引 CREATE INDEX PK_XS_BAK ON ZPEMPLOYEES(DepartmentID) TABLESPACE USERS PCTFREE 48 INITRANS 10 MAXTRANS 100 STORAGE (INITIAL 64K NEXT 64K MINEXTENTS 5 MAXEXTENTS 20

Oracle数据库期末复习知识点整理

基础知识 表3.2 Oracle数据类型

表3.3 XSB的表结构

操作表 创建表 CREATE TABLE [schema.] table_name ( column_namedatatype [DEFAULT expression] [column_constraint][,…n] [,…n] ) [PCTFREE integer] [PCTUSED integer] [INITRANS integer] [MAXTRANS integer] [TABLESPACE tablespace_name] [STORGE storage_clause] [CLUSTER cluster_name(cluster_column,…n)] [ENABLE | DISABLE ] [AS subquery] 【例】使用CRETE TABLE命令为XSCJ数据库建立表XSB,表结构参照表3.3。 打开SQL*Plus工具,以system方案连接数据库,输入以下语句: CREATE TABLE XSB ( XH char(6) NOT NULL PRIMARY KEY, XM char(8) NOT NULL, XB char(2) DEFAULT '1' NOT NULL, CSSJ date NOT NULL, ZY char(12) NULL, ZXF number(2) NULL, BZ varchar2(200) NULL ); 修改表 ALTER TABLE [schema.] table_name [ ADD(column_namedatatype [DEFAULT expression][column_constraint],…n) ] /*增加新列*/ [ MODIFY([ datatype ] [ DEFAULT expression ] [column_constraint],…n) ] /*修改已有列的属性*/ [ STORAGE storage_clause ] *修改存储特征*/ [ DROP drop_clause ] /*删除列或约束条件*/ 【例】使用ALTER TABLE语句修改XSCJ数据库中的表。

关于数据库知识点的再学习和整理

个人声明:本文档所有代码并没有经过上机验证,仅供参考,另外,因为只是自己总结的关于最基本的知识点,所以难免遗漏,所以请参阅相关材料观看,最后,版权所有,翻版没事!哈哈~~~~ 1,关系模型的数据结构非常简单,它只含有单一的数据结构——关系,在用户看来就是一张二维表,关系数据库就是用二维表表示关系以及他们之间的联系。 2.关于数据库的操作主要就是增删改查,其中尤其以查最重要,下面正对这几种数据库操作做一些sql语句方面的简单整理,以用来加强印象: 由于今天使用了mysql数据库,所以呢,先将一些使用的必须基本命令总结一些: 首先是安装了mysql数据库之后,进入dos命令提示窗口, 接下来我们要进入我们的数据库,那么要先进入mysql的bin路径下, 然后输入mysql -u root -p,然后会提示输入密码,然后进入, 进入后的命令提示符是mysql> 在mysql新建表之间和使用oracle 10g还是不一样的,先新建数据库, Create database 数据库名字; 增 A.首先是新建表:create table table_name( [列级完整性约束条件] [,[列级完整性约束条件]] ...... [,<表级完整性约束条件>]); E.g creatable table students( id int(4) primary key, Name char(20) not null, Foreign key id references teachers(no)); B.接着是添加信息:insert into [[,]...] values(常量[,常量]...); E.g insert into students values(1,'tom'); 注意,如果不列出来表格的属性的话,就说明添加一条完整的信息。 如果列出来表格的属性的话,那么没有列出来的就做,空值处理。 C.添加约束条件(注意,下面的语法只在oracle 10g中验证过,仅供参考)。 关于创建表格约束的时候是使用add constraint还是modify语法,我进行了可行性的测试,现在结果如下: 《》关于创建外键,两种语法都可以,语法如下 1,alter table 表格名add constraint 外键名foreign key(列名)references 被参照的表名(列名); 2,alter table 表格名modify foreign key(列名)references 被参照的表名(列名); 注意:alter table 表格名modify 列名foreign key references 被参照的表名(列名);是不可以的。 《》关于创建主键,两种方法都可以,语法如下 1,alter table 表格名add constraint 外键名primary key(列名) enable; 2,alter table 表格名modify 列名primary key;

Oracle_RAC知识汇总

一、Oracle RAC原理 ORACLE RAC原理在一个应用环境当中,所有的服务器使用和管理同一个数据库,目的是为了分散每一台服务器的工作量,硬件上至少需要两台以上的服务器,而且还需要一个共享存储设备。同时还需要两类软件,一个是集群软件,另外一个就是Oracle数据库中的RAC组件。同时所有服务器上的OS都应该是同一类OS,根据负载均衡的配置策略,当一个客户端发送请求到某一台服务的listener后,这台服务器根据我们的负载均衡策略,会把请求发送给本机的RAC组件处理也可能会发送给另外一台服务器的RAC组件处理,处理完请求后,RAC会通过集群软件来访问我们的共享存储设备。 逻辑结构上看,每一个参加集群的节点有一个独立的instance,这些instance访问同一个数据库。节点之间通过集群软件的通讯层(communication layer)来进行通讯。同时为了减少IO的消耗,存在了一个全局缓存服务,因此每一个数据库的instance,都保留了一份相同的数据库cache。 二、RAC中的特点是: 每一个节点的instance都有自己的SGA 每一个节点的instance都有自己的background process 每一个节点的instance都有自己的redo logs 每一个节点的instance都有自己的undo表空间 所有节点都共享一份datafiles和controlfiles Oracle还提出了一个缓存融合的技术(Cache fusion) 目的有两个 1.保证缓存的一致性 2.减少共享磁盘IO的消耗 因此在RAC环境中多个节点保留了同一份的DB CACHE 缓存融合(Cache fusion)工作原理: -**************************************** 1.其中一个节点会从共享数据库中读取一个block到db cache中 2.这个节点会在所有的节点进行交叉db block copy 3.当任何一个节点缓存被修改的时候,就会在节点之间进行缓存修改 4.为了达到存储的一致最终修改的结果也会写到磁盘上 三、ClusterWare组件 ******************* 有四种Service Crsd - 集群资源服务 Cssd - 集群同步服务 Evmd - 事件管理服务 oprocd - 节点检测监控 有三类Resource VIP - 虚拟IP地址(Virtual IP) OCR - Oracle Cluster Registry(集群注册文件),记录每个节点的相关信息

Oracle知识点总结

Oracle知识点总结 根据阎赫老师讲义整理Zealjiang 1、Oracle数据库的安装和配置 ⑴Oracle Internet级数据库 SQLServer 中小企业级数据库 Access 桌面级数据库 ⑵Oracle的安装 注意:来源和目标的目录不允许有中文或空格 ⑶Oracle数据库启动时必需开启的后台服务 ①OracleOrahome90TNSListener 使第三方的软件或语言访问 ②OracleServiceETC Oracle的实例 CRUD 增删改查 注意:②中的ETC是你起的实例的名字 ⑷Oracle的开发工具 ①DOS界面的开发平台 -> 运行->sqlplus ②Oracle本身基于DOS的平台 ->运行-> sqlplusw ③Oracle Enterprise Manager Console ④PL/SQL Developer7.1.5 ⑸创建一个表的完整流程 ①创建一个数数库 例子:创建一个数据库 ETC , 物理文件放在F:\ ,初始化1m ,自增长开启 create tablespace etc

datafile 'f:\etc.dbf' size 1m autoextend on; 删除表空间 drop tablespace 数据库名称; ②为该数据库创建一个帐号和密码 语法: create user 用户名称 identified by 密码 default tablespace 数据库名称 注意:1、在Oracle中账号和数据库one2one绑定 2、Oracle的密码不允许为纯数字或空 3、需要在system账号完成动作 修改Oracle的账号密码 语法:alter user 用户 identified by 新密码 ③用grant 权限 to 用户为该帐户授权 语法: grant 权限名称 to 用户; 撤销权限 语法:revoke 权限名称 from 用户名; ④在该帐号下创建表

oracle数据库 复习提纲 及其答案详解

Oracle数据库复习提纲 一、Oracle10g简介 1、Oracle10g一共有哪几个版本? Oracle数据库10g标准版1,Oracle数据库10g标准版,Oracle数据库10g企业版,Oracle数据库10g个人版. 2、 Oracle10g中的g是什么含义? Oracle 10g的g就代表grid computing。 3、理解Oracle数据库中的方案、数据块、区间、段、表、表空间之间的关系。 Oracle 数据库的逻辑结构包括方案(schema)对象、数据块(data block)、区间(extent)、段(segment)和表空间(tablespace)等。数据库由若干个表空间组成,表空间由表组成,表由段组成,段由区间组成,区间则由数据块组成 4、标准数据块大小由初始参数(DB_BLOCK_SIZE)指定。 5、理解数据库、表空间、数据文件之间的关系。 每个表空间由一个或多个数据文件组成。数据文件用于在物理上存储表空间中所有逻辑结构的数据。 表空间中数据文件的大小之和就是表空间的存储容量(图中系统表空间存储容量为2MB,用户表空间的存储容量为4MB)。 数据库中表空间的存储容量之和就是数据库的存储容量。 6、叙述Oracle数据库的物理结构。(每个Oracle数据库都由3类文件组成:数据文件、日志文件、控制文件,……) Oracle数据库有一个或多个物理的数据文件。数据库的数据文件包含全部数据库数据。逻辑数据物理地存储在数据文件中。数据文件有下列特征: 一个数据文件仅与一个数据库联系。 当数据库容量越界时,数据文件能够自动扩展。 一个或多个数据文件组成一个表空间。 每个数据库有两个或多个日志文件组,日志文件组用于收集数据库日志。 日志的主要功能是记录对数据所作的修改,所有对数据库作的全部修改记录在日志中。 每个Oracle数据库有一个控制文件,记录数据库的物理结构。 控制文件包含数据库名、数据库数据文件和日志文件的名字、位置和数

Oracle数据库知识总结

AD1. 执行一个SQL脚本文件 SQL>start file_name SQL>@ file_name 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 4. 将显示的内容输出到指定文件 SQL> SPOOL file_name 在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。 5. 关闭spool输出 SQL> SPOOL OFF 只有关闭spool输出,才会在输出文件中看到输出的内容。 7. COL命令: 主要格式化列的显示形式。 1). 改变缺省的列标题 COLUMN column_name HEADING column_heading For example: Sql>select * from dept; DEPTNO DNAME LOC ---------- ---------------------------- --------- 10 ACCOUNTING NEW YORK sql>col LOC heading location sql>select * from dept; DEPTNO DNAME location --------- ---------------------------- ----------- 10 ACCOUNTING NEW YORK 2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上: Sql>select * from emp Department name Salary ---------- ---------- ---------- 10 aaa 11 SQL> COLUMN ENAME HEADING ’Employee|Name’ Sql>select * from emp Employee Department name Salary ---------- ---------- ---------- 10 aaa 11 note: the col heading turn into two lines from one line. 3). 改变列的显示长度: FOR[MAT] format Sql>select empno,ename,job from emp; EMPNO ENAME JOB ---------- ---------- --------- 7369 SMITH CLERK

Oracle数据库开发知识点

Oracle数据库开发指南 前言 参考 第一部分基础 一、数据库对象 表空间Tablespace:存储数据库对象的容器 模式Schema 表Table 表名最长为30个字符,不能以数字开头。一个表最多254个列。 CREATE TABLE tablename AS select_statement,通过子查询建立新表 DESC tablename,查看表或其它数据库对象的定义 ALTER TABLE tablename RENAME new_tablename,修改表名 RENAME tablename TO new_tablename,修改表名,注意修改表名后,视图必须重建。 索引Index 保证表中数据的唯一性;减少定位和检索数据所需要的I/O操作 Oracle允许对列值创建索引,也可对表达式创建索引。所以既可是UNIQUE,也可是UNIQUE Oracle对DESC(降序)索引认为是基于函数的索引。 序列Sequence 使用序列为表的码值生成唯一的序列值 聚簇Cluster 视图View 由一个预定义的查询构成,可看作为数据库的逻辑表。 SELECT text_length FROM user_views WHERE view_name = …viewname? Set long 5000 SELECT text FROM user_views WHERE view_name = …viewname? 快照Snapshot 快照与视图都是基于查询结果的。但快照使用物理的存储空间,快照中的数据一般都是静态的,只有刷新时才改变。 快照的目的是提供某个时间点的数据。 二、数据类型 CHAR(n),255字符 V ARCHAR2(n):2000字符 LONG,2G字符,只能用在列SELECT列表,UPDATE语句的SET子句或INSERT语句的V ALUES子句中,一个表中只能有一个LONG列,LONG列不能建索引,也不能有完整性约束,不能用于表达式。DATE

ORACLE期末复习资料

第二章考点(重点) 1.手动创建数据库(PPT上创建数据库脚本) 编写初始化参数文件 新增参数: instance_name=orcl Db_domain=https://www.360docs.net/doc/6615976960.html, 修改参数: Db_name=orcl Db_block_size=8192 Remote_login_passwordfile=exclusive 设置操作系统环境变量oracle_sid指向数据库实例的名称 Set oracle_sid=orcl(数据库实例的名称) 创建实例 C:\>oradim –new –sidorcl–intpwd sys123 –startmode auto 以管理员身份连接到数据库 Sqlplus实用工具登录数据库:c:\sqlplus/nolog 以数据库管理员身份连接数据库:sql>connect sys/sys123 as sysdba 启动实例 将文本初始化参数文件pfile转化为二进制初始化参数文件spfile:sql>create spfile from pfile; 以nomount形式启动实例:sql>startup nomount Create database创建数据库 Create database orcl Datafile ‘c:\oracle\product\10.2.0\orcl\system_01.dbf’ size [] Autoextend on next [] maxsize [] Sysauxdatafile ‘c:\oracle\product\10.2.0\orcl\systemaux_01.dbf’ size [] Autoextend on next [] maxsize [] Logflie Group1(‘c:\oracle\product\10.2.0\orcl\log_1_01.rdo’) size [], Group2(‘c:\oracle\product\10.2.0\orcl\log_2_01.rdo’) size [] Character set zhs16gbk; 运行数据字典脚本 运行以下三个数据字典脚本 Catalog.sql:创建系统常用的数据字典视图和同义词 Catproc.sql:建立PL/SQL功能的使用环境,还创建几个PL/SQL包用语扩展 DBMS功能 Pupbld.sql:使用SQL*PLUS环境的需要 ●Connect sys/sys123 as sys dba @ c:\oracle\product\10.2.0\db_1\RDBMS\ADMIN]catalog.sql @ c:\oracle\product\10.2.0\db_1\RDBMS\ADMIN]catproc.sql ●Connect system/manager

数据库基础知识整理与复习总结

数据库基础知识整理与复习总结 1、数据库底层 MySQL数据库的底层是B+树。说到B+树,先说下B树,B树也叫多路平衡查找树,所有的叶子节点位于同一层,具有以下特点:1)一个节点可以容纳多个值;2)除非数据已满,不会增加新的层,B树追求最少的层数;3)子节点中的值与父节点的值有严格的大小对应关系。一般来说,如果父节点有a个值,那么就有a+1个子节点;4)关键字集合分布在整棵树中;5)任何一个关键字出现且只出现在一个节点中;6)搜索可能在叶子结点结束,其搜索性能等价于在关键字全集做一次二分查找。 B+树是基于B树和叶子节点顺序访问指针进行实现,它具有B树的平衡性,并且通过顺序访问指针来提高区间查询的性能,一个叶子节点中的key从左至右非递减排列。特点在于:1)非叶子节点中含有n个关键字,关键字不保存数据,只作为索引,所有数据都保存在叶子结点;2)有的叶子节点中包含了全部关键字的信息及只想这些关键字记录的指针,即叶子节点包含链表结构,能够方便进行区间查询;3)所有的非叶子结点可以看成是索引部分,节点中仅包含其子树中的最大(或最小)关键字;4)同一个数字会在不同节点中重复出现,根节点的最大元素就是B+树的最大元素。 MySQL中的InnoDB引擎是以主键ID为索引的数据存储引擎。InnoDB通过B+树结构对ID建立索引,在叶子节点存储数据。若建索引的字段不是主键ID,则对该字段建索引,然后再叶子节点中存储的是该记录的主键,然后通过主键索引找到对应的记录。因为不再需要全表扫描,只需要对树进行搜索即可,所以查找速度很快,还可以用于排序和分组。 InnoDB和MyISAM引擎都是基于B+树,InnoDB是聚簇索引,数据域存放的是完整的数据记录;MyISAM是非聚簇索引,数据域存放的是数据记录的地址。InnoDB支持表锁、行锁、间隙锁、外键以及事务,MyISAM仅支持表锁,同时不支持外键和事务。InnoDB注重事务,MyISAM注重性能。 2、SQL语言之DQL、DML、DDL和DCL DQL指的是Data Query Language,数据库查询语言,主要是select命令; DML指的是Data Manipulation Language,数据库操作语言,主要有insert、delete、update等命令; DDL指的是Data Defined Language,数据库定义语言,主要是对数据库的某些对象,如database和table进行管理,主要有create、alter、drop等命令,比如创建数据库和表格、更改表结构和设置约束、删除表和数据库; DCL指的是Data Control Language,数据库控制语言,主要是用于授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,主要有grant、rollback 等命令。 DML和DDL的区别:DML操作可以手动控制事务的开启、提交和回滚,而DDL是隐形提交不能回滚。 3、数据库连接协议 JDBC驱动协议:默认TCP协议 客户端和Oracle服务器之间通信协议是TCP的,但是一个数据库连接也会其一个UDP端口。 MySQL的连接方式有两种:Socket和TCP/IP

ORACLE PLSQL知识点整理

ORACLE & PLSQL必备知识点 1、ORACLE 客户端软件的安装与配置; A、ORACLE自带软件 B、P L/SQL DEVELOPER 或TOAD等; C、服务配置 D、 2、SQLPLUS 的使用 A、常用的格式设置命令 B、快捷命令,ed , / C、自动登陆格式设置 3、常用的数据类型的理解与识别; 数值型,字符型,日期型; 4、常用函数的使用 A、字符函数 Char ,upper,lower, substr,lpad,rpad,replace,ltrim,rtrim Instr,length B、数学函数 Abc, mod C、时间日期函数 Sysdate,add_months,last_day,month_between,next_day D、空值函数 Nvl E、汇总函数 Count , sum , avg,max, min F、转换函数 To_char, to_number G、其它函数 Decode,user 5、SELECT 查询语句的使用 A、分组,排序 B、多表一对一关联 C、多表一对多关联(左关联或右关联) D、交集,并集,差集 E、Where 子句的使用 F、ORDER BY 子句 G、GROUP BY 子句 H、HA VING 子句

I、子查询 6、通配符的使用 Like , % , ? 7、表的联合 A、等值联合 B、不等值联合 C、外部联合与内部联合 D、自我联合 8、UPDATE ,INSERT INTO,DELETE语句的使用 A、INSERT ……V ALUES B、I NSERT ……..SELECT 9、表结构的管理 A、创建表 CREATE TABLE B、修改表结构 ALTER TABLE C、删除表 DROP TABLE D、表的约束,关键字 10、索引与关键字的创建与使用 包括索引的优化与提升性能; 11、序列的创建与使用 12、同义词的建立与使用 13、系统(字典)表的使用 A、表对象user_tables B、索引表user_indesx C、约束表user_constraints D、序列对象user_sequences E、视图对象user_views F、同义词对象user_synonyms G、用户TAB对象tab H、对象表user_objects I、学会掌握规律,user_ dba_ 14、数据的导出与导入,使用工具和SQL 15、PL/SQL的使用 A、PL/SQL块的基本语法

Oracle复习题总结

绪论: 1、Oracle,甲骨文,1977年开始研发,总部位于美国加州红木滩市,创始人为Larry Ellison(埃里森) 、 Bob Miner、Ed Oates 2、Oracle服务器=实例+数据库;Oracle实例=内存+后台进程; 第四章:表空间的创建与删除 例4.1 建立名称为data_ts1的数据表空间,大小为50M,区间统一为128KB大小。 SQL> conn system/systempwd@orcl SQL> drop tablespace data _ts1 including conntents; SQL> create tablespace data _ts1 2 tempfile ‘ %oracle_home%\database\data_ts1.dbf ’ SIZE 50M REUSE 3 uniform size 128K; 例4.2 建立名称为temp_ts1的临时表空间,使用temp_ts1.dbf文件存放临时数据。 SQL> conn system/systempwd@orcl SQL> drop tablespace temp_ts1 including conntents; SQL> create temporary tablespace temp_ts1 2 tempfile ‘ %oracle_home%\database\temp_ts1.dbf ’ size 20M reuse 3 uniform size 128k; 例4.3创建10号部门经理用户EMP_MGR10,指定该用户的数据表空间为data_ts1,临时表空间为temp_ts1。授权该用户可以查看SCOTT用户下雇员表中的记录。 SQL> conn system/systempwd@orcl SQL> drop user emp_mgr10 cascade; SQL> create user emp_mgr10 identified by emp_mgr10pwd 2 default tablespace data_ts1 temporary tablespace temp_ts1; SQL> grant connect to emp_mgr10; SQL> conn scott/tiger@orcl 4 tempfile ‘ %oracle_home%\database\temp_ts1.dbf ’ size 20M reuse 5 uniform size 128k; 例4.4 创建和应用撤销表空间。 SQL> conn system/systempwd@orcl SQL> drop tablespace undo_ts1 including conntents; SQL> create undo tablespace undo_ts1 2 datafile ‘ %oracle_home%\database\undo_ts1.dbf ’ size 50M reuse; 例4.5 创建大文件表空间,并指定为SCOTT用户的默认数据表空间。 SQL> conn system/systempwd@orcl SQL> drop tablespace bigfile_ts1 including conntents; SQL> create bigfile tablespace bigfile_ts1 2 datafile ‘ %oracle_home%\database\bigfile_ts1.dbf ’ size 50M reuse; SQL> alter user scott default tablespace bigfile_ts1; 需要注意的是,大文件表空间的段空间管理不能为手工(MANUAL),只能为自动(AUTO)。 例4.6调整数据表空间data_ts1的大小。 SQL> conn system/systempwd@orcl --为表空间data_ts1增加一数据文件,大小为1M。 SQL> alter tablespace data_ts1 2 add datafile ‘ %oracle_home%\database\ data _ts2.dbf ’ size 1M; --重置该数据文件大小为2M。 SQL> alter tablespace 2 datafile ‘ %oracle_home%\database\ data _ts2.dbf ’ siz e 2M;

Oracle 复习资料

Oracle复习题 一、填空 1.oracle有(内置函数)和(用户自定义函数)两种函数 2.用户要得到自己能访问的所有表的信息,要查看(all_tables)视图 3.启动和关闭oracle数据库的命令分别是(startup)和(shutdown) 4.查看一个表或视图的结构的命令是(describe) 5.把查询结果按salary的降序排序应该在查询语句中使用 (order by salary desc) 6.逻辑运算符中优先级最高的是(not)最低的是(or) 7. 通配符%表示(任意零个或多个字符) 8.oracle数据库中的字符串连接符是(||) 9.select instr(‘HelloWorld’,’w’) from dual的查询结果是(0) 10.select trunc(1542.35,-2) from dual的查询结果是(1500) 11.在查询语句中去掉重复记录,应该在查询语句加上(distinct)选项 12.当对一个表定义一个主键时,系统自动会为该表建立(唯一)索引 13.rollup操作符中一共有n个表达式,一共要执行(n+1)次grouping操作 14.改变会话时区,使用(alter session set time_zone)命令 15.当一个select语句块在一条查询语句多次使用时,我们可以使用(with)子句来提高性能 16.正则表达式{m,n}、|分别表示(连续的任意m~n个数字字符),(将两个匹配条件进行逻辑“或”运算) 1.设系统日期为今天,select to_char(to_date(’85-11-12’,’RR-MM-DD’),’YYYY-MM-DD’) from dual的查询结果为(C) A.2085-11-12 B. 85-11-12 C.1985-11-12 D.2185-11-12 2. 与where salary between 2500 and 3500等价的语句是(D) A.salary>2500 or salary <3500 B.salary>2500 and salary <3500 C.salary>=2500 or salary <=3500 D.salary>=2500 and salary <=3500 3. 下面哪一个like命令会返回名字像HOTKA的行(A?C) A.where last_name like ‘_HOT%’ B. where last_name like ‘H_T%’ C. where last_name like ‘%TKA_’ D. where last_name like ‘%TOK%’ 4. oracle数据库默认的最高管理员是(C) A.administrator B.sysman C.sys D.sa 5. 将字符串’05-3月-2009’转换成日期,下列写法正确的是(D) A.to_date(’05-3月-2009’,’dd-mm-yyyy’) B. to_date(’05-3月-2009’,’ yyyy -mm- dd’) C. to_date(’05-3月-2009’,’ yyyy -mon- dd’) D. to_date(’05-3月-2009’,’dd-mon-yyyy’) 6. 下列哪条语句与select employee_id,last_name from employees where salary<(select min(salary) from employees)等价(B)

Oracle数据库 知识点总结

1.constraint约束: alter table [table_name] add constraint [pk_name] primary key(pkname);//添加主键 alter table [table_name] drop constraint [pk_name];//删除主键 alter table [table_name] add constraint [fk_name] foreign key(fkname) references [tablename](fkname);//添加外键 alter table [table_name] drop constraint [fk_name];//删除外键 2.union 关键字: A username, B username rod bruce rose marina select username from A union select username from B 2、几个高级查询运算词 A:UNION 运算符 UNION 运算符通过组合其他两个结果表(例如TABLE1 和TABLE2)并消去表中任何重复行而派生出一个结果表。当ALL 随UNION 一起使用时(即UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1 就是来自TABLE2。 B:EXCEPT 运算符 EXCEPT 运算符通过包括所有在TABLE1 中但不在TABLE2 中的行并消除所有重复行而派生出一个结果表。当ALL 随E XCEPT 一起使用时(EXCEPT ALL),不消除重复行。 C:INTERSECT 运算符 INTERSECT 运算符通过只包括TABLE1 和TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当ALL 随INTERSECT 一起使用时(INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。 3.复合主键一般不设外键 4. 组函数也称为聚合函数。 例如:我们把学生可以分为男生和女生两个组,如果想求每组的人数,平均身高,平均年龄等,就需要用到分组函数了。 在SQL中常用的组函数有以下几个: COUNT():求出全部的记录数 MAX():求出一组中的最大值 MIN():求出一组中的最小值 AVG():求出一组中的平均值 SUM():求和 范例:COUNT()函数

相关主题
相关文档
最新文档