Oracle笔记

发布 2021-05-11 22:12:28 阅读 7868

现在使用的oracle使用的是10g版本,oracle的主要版本分以下几个:

·oracle 8i:internet,表示此时oracle公司正式开始进军互联网。

·oracle 9i:与oralce8i非常相似。

·oracle 10g:g表示网格技术

例如:以baidu搜索为准,现在想使用一个软件,但是此软件在离自己非常近的地方就存在了**地址,但是与自己非常远的地方也同样存在一个**地址,那么有没有可能现在通过搜索引擎没有搜索到离自己近的**,而是使用了更远的**,那么这样一来肯定就会造成资源的浪费。

所以新的网络概念就是将网络划分为一个个的风格,通过网格表示一个区域。

选择oracle 10g下的install目录中的就可以执行oracle的安装指令了。

如果不能安装有可能是防火墙造成的,此时可以将防火墙暂时禁用。

1. 选择安装路径,选择企业版进行安装,之后输入数据库的名称:“mldn”此名称为以后的服务选项。

2. 将所有的用户口令统一设置成:oracleadmin

3. 安装完成之后,任何按钮都不用点,因为有些用户需要进行解锁操作,如果此时没有配置成功,则只能通过命令行的方式进行用记的解锁。

4. 选择口令管理,主要观察以下几个用户。

普通用户:scott用户的密码tiger

普通管理员:system用户的密码manager

超级管理员:sys用户的密码change_on_install

5. 此时选择确定,那么就可以使用固定的用户名和密码进行数据库的连接了。

6. 完成之后,直接选择退出即可,此时会启动一个em(企业管理器)的工具,但是在学习基本上不用这种前台,关闭即可。

7. oracle安装完成之后实际是会在系统中进行服务的注册,在注册的服务中有以下两个服务必须启动,否则oracle无法正常使用。

oracleoradb10g_home1tnslistener:表示监听服务,如果客户端要想连接到数据库,此服务必须打开,在日后的程序开发中此服务起作用。

oracleservicemldn,表示数据库的主服务,命名规则:oracleservice数据库名称,此服务必须启动,否则oracle根本无法使用。

之后直接通过命令行的方式就可以进入到sqlplus的控制中心,进行命令的输入。

sql:plus是oracle提供的一个命令行执行的工具软件,安装之后会自动在系统中进行注册,sqlplus中有两种命令。

sqlplus:以命令行的方式进入数据库连接(scott/tiger)

sqlplusw:以窗口的形式启动命令行工具(当自己有好几个数据库时要输入主机字符串,即自己想进的那个服务器,否则默认进入最后一个建立好的数据库,一般不填就可以)

之后可以进行查询操作:

select * from emp;//此时表示发出查询命令,查询数据库中emp这个表的数据。

如果发现此时显示的内容比较乱,可以进行环境变量的设置:即行字符数和页行数的设置。

set linesize 300(行的长度);

set pagesize 30(页的行数);

在sqlplusw中存在大量的可用命令。

由于在sqlplusw中无法通过光标移动去修改输入的内容,所以一般使用记事本程序进行编辑,直接在命令窗口中输入“ec 文件名称”即可,输入完之后,会提示用户是否要创建此文件,点是。编辑完成之后,就可以通过@文件名称的方式执行此命令。

除了在sqlplusw中建立这个文件之外,也可以通过@找到磁盘上的文件,现在在d盘上有一个文件,文件中也是查询指令,执行的时候要指定文件的路径:@路径,效果完全一样,假如文件的后缀是”.sql”的话,则不用输入后缀也可,默认找到的文件的后缀就是”.

sql”

过程演示: a; 写语句 @ a;

2.在d盘建立文件 ;写语句 @d:/

在sqlplusw中也可以使用其他用户连接,例如:之前用的是sys或system用户。

conn 用户名/密码[as sysdba|sysoper]一般用前者。

如果现在连接的是超级管理员sys,则在连接的最后必须写上sa sysdba。以系统管理员身份进行登陆:conn sys/change_on_install as sysdba;

那么这个居委会再次发出之前的命令(select * from emp;),会提示错误,此时提示错误表示emp不存在;因为emp表是属于scott用户下的表,而sys用户本身没有,所以现在在不同用户下想访问emp表的话,则必须加上用户名,即:scott/emp;

假如忘记了现在是哪个用户登陆的可以查询:show user;//显示当前正在连接的用户。

一个数据库中会存在多张表,那么可以通过以下命令得到一个数据库中全部表名:select * from tab;

在开发中使用最多的就是查看表的结构,例如:可以使用desc 表名;的形式查看一个表的完整结构。

在列的类型中主要有以下几种类型:

·number(4):表示是数字,长度为4

·varchar2(10):表示字符串,只能容纳10个长度。

·date:日期类型。

·number(7,2):表示数字,其中2位小数位,5位整数位共7位。

在sqlplusw中可以输入一个”/”重复执行上一条语句的操作。

scott用户用的几个表。

2.1、雇员表(emp)

雇员表中记录的是一个个雇员的基本信息:

2.2、部门表(dept)

一个个具体的部门信息:

2.3、工资筹等级表(salgrade)

2.1、奖金表(bonus)

表示一个雇员的工资及奖金:

1、查询语句的基本格式。

2、使用distinct关键字去掉重复的查询列。

3、使用限定查询。

4、对查询结果进行排序。

5、掌握oracle中提供的名主要单行函数。

对于各个不同的数据库来讲,重点是掌握sql语句,因为现在的数据库全部是以sql语句为操作的标准,在实际中,各个数据库就是提供的函数不同。

sql(structured query language,结构化查询语言)是一个功能强大的数据库语言。sql通常用于与数据库的通讯。ansi(美国国家标准学会)声称,sql是数据库管理系统的标准语言。

sql功能强大,概括起来,可分为:

·dml(data manipulation language,数据库操作语言)——用于检索或者修改数据。

·ddl(date definition language,数据库定义语言)——用于定义数据的结构,如创建、修改或者删除数据库对象。

·dcl(date control language,数据控制语言)——用于定义数据库用户的权限。

语法格式:如:select * from empselect empno, ename, job from emp;

查询的时候可以指定查询的返回列的名称,即为一个列起别名。

现在要求查询出所有的工作,肯定要查询的是一个job字段。

可以发现以上查询的数据中有许多的重复值,可以在查询的时候加上distinct解决。

所以简单查询的语法格式应为:

但是,在消除重复列的时候,有一点必须说明,如果同时查询多列,则必须保证所有列都重复才能消掉。

一个新要求:

要求查询出雇员的编号,姓名,工作,但是显示的格式:

·编号是:7369的雇员,姓名是:smith,工作是:clerk

要想实现此种功能,则可以使用oracle中提供的字符串连接操作,使用”||表示,如果要加入一些显示信息的话,所有的其他的固定信息要使用”’”括起来。

在查询中也可以使用四则运算,例如要求出每个雇员的姓名及年薪。

在程序中中sal * 12意义很不明确,所以最好为这个运算结果起一个别名,但是在起列名的时候一定要回避中文。

同时注意+-x/是有优先顺序的。

之前的查询是将一张表的全部记录查询出来,那么现在如果希望可以根据指定的条件查询的话,则必须指定限定查询,限定查询的语法格式:

范例:查询出工资大于1500的所有雇员信息。

·数学计算中,工资大于:sal > 1500

范例:查询每月可以得到奖金的雇员信息。

·奖金是comm字段。

·只要字段中存在内容,则表示此内容不为空(null),如果存在内容,则会显示具体的值。

oracle笔记

1 查看表的结构 desc tabledescription 2 set timing on 打开操作表的时间记录。3 消除重复行 distinct 4 大小写不区分的是列名,而不是里面的数据。1 可以对某一列直接进行加减乘除。两列相加。2 如果有一列为null,所得结果也为空。使用nvl函数处理n...

Oracle笔记

第1页1.oracle 的使用 1.1.sqlplus 的命令 初始化表的位置 set nls lang american 设置编码才可以使用下面脚本 cd oracle home rdbms cd demo 我们目前使用的是oralce 9i 9201 版本 select from v versi...

oracle笔记

clear 清屏。col title for a20 设置title的字符最多有20个。oracle介绍。rdbsrdb 基本的存储结构是,二维表。表头。行。列。字段。sql的分类 dsl 关键字 select dml 操作 insert delete update ddl 定义 create dr...