1、1. oracle 安装及基本命令1.1 oracle 简介Oracle 是一个生产中间件和数据库的较大的生产商,oracle 原本的含义:“神谕”,指的是神说的话,中国在商朝时代,把一些刻在龟壳上的文字当成是上天的指示,所以在中国将 oracle翻译成”甲骨文”.Oracel 公司的发展实际上还是靠 IBM1.2 oracle 安装1.2.1 常见版本现在使用的 oracle 是 10G 版本,oracle 中的主要版本分为以下几个:Oracle 8Oralce 8i 表示 oracle 公司正式进军互联网Oracel 9i: 与 8i 极为相似Oracle 10g: g,表示网格计算1.2
2、.2 安装:选择 oracle 10G 下 instal 目录下的 setup.exe 就可以执行 oracle 10G 的安装指令接着 oracle 就进入系统环境检查环节(最好关闭防火墙软件)选择安装的目录选择企业版输入数据库实例名/选中创建带样本的数据库所有账户用同样的口令安装完成后,任何按钮都不要点,如果做其它的操作,可能导致安装失败选择口令管理,出现口令管理对话框,有的地方是被锁定的用户:普通用户:scott 用户的密码 tiger普通管理员:system 用户密码 manager超级管理员:sys 用户密码 admin设置好密码后,点击确定完成后,即可退出1.2.3 oracle
3、必须启动的服务Oracle 安装完成之后要在系统中注册服务,其有两个服务是必须启动 oracle 才能正常启动OracleOraDb10g_home1TNSListener:表示监听服务,用户客户端要想连接到数据库 ,此服务必须打开,在以后的程序开发中此服务作用很大.OracleServiceGYBOSS,表示数据库的主服务,命名规则 OracleService+数据库名称,此服务必须启动,否则 oracle 根本无法使用之后直接通过命令行方式就可以进入 SQLPlus 的控制中心 ,进行命令输入.安装完毕后可能通过三种方式访问数据库:1) 开始/运行/sqlplus2) 开始/程序/Orac
4、le - OraDb10g_home1/SQL Plus3) 打开 IE,输入本机 IP:5560/isqlplus 或者 localhost:5560/isqlplus登录界面如下:1.3 oracle 常见的第三方工具1) PL/SQL Developer2) Toad在采用第三方工具连接数据库前,必须保证数据库的监听程序配置(服务器名,IP,端口号)正确并处于于监听状态,主要设置这两个文件listener.ora# listener.ora Network Configuration File: e:oracleproduct10.2.0db_1networkadminlistener.
5、ora# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = e:oracleproduct10.2.0db_1)(PROGRAM = extproc)(SID_DESC = (GLOBAL_DBNAME = gyboss) (ORACLE_HOME = e:oracleproduct10.2.0db_1) (SID_NAME = gyboss) ) LISTENER =(DESCRIPTION_LIST =(
6、DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.104)(PORT = 1521)# tnsnames.ora Network Configuration File: e:oracleproduct10.2.0db_1networkadmintnsnames.ora# Generated by Oracle configuration tools.GYBOSS =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.104)(PORT = 1521)(CONNECT
7、_DATA =(SERVER = DEDICATED)(SERVICE_NAME = gyboss)EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)2. SQL/PLUS2.1 命令行方式Sqlp 是 oracle 提供的一个命令行执行的工具软件 ,安装 oracle 后会自动在系统中注册.在开始/运行/sqlplus3.3.2 窗口方式 sqlp
8、lusw采用这种方式连接数据库时会提示主机的字符串,如果一台电脑上有多个数据库,则需要在此处输入数据的名称,若不填,则系统连接默认数据库更改用户设置1. sqlplus sys/root as sysdba2. alter user scott account unlock;(解锁)用系统管理员账号登陆数据库:conn sys/sys as sysdbaconn scott/tiger 或者 connect user/pwd 切换用户ed 或者 edit/打开一个缓冲文件操作回滚:rollback,一旦提交(commit)则不可回滚;最常用的就是 sqlplusw 的运行方式完成对 oracl
9、e 的操作Select * from emp;此语句表示向数据库发出查询命令,查询数据中 emp 表中的全部信息,结果如果:使用 sqlplusw 之前首先必须进行环境的设置(1)设置每行显示的长度Set linesize 300;以上命令查询结果有一个问题,标题行重复了,这是因为 oracle 中的数据是一页一页地输出的.(2)修改每页显示的记录行数Set pagesize 30;设置每页输出 30 行,结果为(3)修改每列显示的显示宽度(每次都要执行一次)column field_name format a40col field_name for a40例如:SQL select * fr
10、om dual;D-X顺序执行了下面的语句后SQL col dummy for a5;SQL select * from dual;DUMMY-X整个 DUMMY 的列名就完整地显示出来了(4)清除屏幕的命令在在 SQL*Plus 中执行一段时间后,屏幕上会存大大量的输入和输出信息,要想清除屏幕方法一:同时按 SHIFT 和 DELETE 键然后点 OK 就可以了 。 方法二:如果在 window 窗口下 sqlplus 中清屏命令:host cls 或是 clear screen 或只是4 位 clea scre。 方法三:如果是在 dos 的窗口下进入 sql/plus 就要用 clear
11、 SCR。2.2 动手实践在 sqlplusw 中存大着大量可用的命令在 sqlplusw 中因为无法修改已经输入的内容,所以一般使用本机的记事本程序进行编辑,直接在命令窗口中输入”ed 文件名称”即可.输入 ed 后会提示用户是否要创建此文件,如下图所示除了可以在 sqlplusw 中建立这个文件之外,也可以通过找到磁盘上的文件,3. SQL 语句本课内容提要:1) 查询语句的基本格式2) 使用 distinct 关键字去掉重复的查询3) 使用限定查询4) 对查询结果进行排序5) 掌握 oracle 中提供的各种主要单行函数3.1 所需要用到的表在所有后面的课程中,我们所使用到的表都是 sc
12、ott 用户下的表,所以我们必须了解 scott 用户下有哪几张表,以及这些的结构和表与表之间的关系.如果 scott 用户下的某个对表对象出了问题,如 dept 表被误删除了,或 emp 表的内的数据被修改了,现在要想恢复成原来的样子,应按如下步骤进行以管理员角色连接数据库,执行 E:oracleproduct10.2.0db_1RDBMSADMINscott.sql执行以上命令后所有的 scott 的对象将被重建,因而 scott 的密码被初始化为系统默认的 TIGER,因此用户执行以上命令后应当重新设置用户口令常用的关于用户的命令:Show user -显示当前用户名select tab
13、le_name from user_tables -查询当前用户下的所有表查询 TEST 用户下的所有表,及其创建时间SELECT OBJECT_NAME,CREATED FROM ALL_OBJECTS WHERE OBJECT_TYPE=TABLE AND OWNER=TEST ORDER BY CREATED DESC;查询当前用户下的所有表SELECT * FROM USER_TABLES查询 TEST 用户下的所有表SELECT * FROM ALL_TABLES WHERE OWNER=TEST3.1.1 雇员表(emp)记录了每个雇员的基本信息NO 字段 类型 描述1 empno Number(4) 雇员编号2 ename Varchar2(10) 雇员姓名3 job Varchar2(9) 工作职位4 mgr Number(4) 雇员的领导(经理) 编号5 hierdate date 入职日期6 sal Number(7,2) 月薪/工资7 comm Number(7,2) 奖金8 deptno Number(2) 雇员所属部门的编号3.1.2 部门表(emp)记录了每个部门的基本信息NO 字段 类型 描述1 deptno Number(2) 部门编号(唯一)2 dname Varchar2(14) 部门名称3 loc Varchar2(13) 地址