oracle学习笔记

来源:互联网 发布:淘宝同款不同价怎么选 编辑:程序博客网 时间:2024/06/05 17:37
Oracle 发展简介: 

oracle9i    最广泛的版本.

oracle10g 过度性产品, 其中g表现表格计算.

oracle10g 完整性产品, 其中g表现表格计算.

Oracle 安装:

 

  选择下面的多选按钮 如果不选择则安装成功后不会出现在数据用户



 将oracle所以有密码都设置为oracleadmin
 
 超级管理员:sys/change_on_intstall;

 普通管理员:system/manager;

 普通用户:scott/tiger 默认是锁定的.

 大数据用户:sh/sh;

 oracle卸载:直接运行卸载程序
                  删除硬盘上的残留文件,如果删除不了,则进入安全模式下删除.
                  删除所有注册表中所有oracle的配置项.

 oracle监听: oracle最得要的服务之一,经常发生错误.
 
 注册表中名称:OracleOraDb10g_home1TNSListener 

 ImagePath:F:\oracle\product\10.2.0\db_1\BIN\TNSLSNR

 如果ImagePath为空时监听超动报错

 如果安装完oracle数据库后 更改电脑主机名称 则oracle监听启动失败

 此时需要手动更改监听文件listener.ora中的主机名称.
 
 

 
sqlplus命令:

dos窗口命令:sqlplus;

win窗口命令:sqlplusw;

主机字符串:为空时默认使用可以使用的实例 也可以填写数据名称


 格式化命令:

 set linesize x;     设置第行记录显示的长度;

 set pagesize x;   设置每页显示的记录长度;

 ed:可以调用记事本程序编辑sql代码;

 ed a :可以编写sql代码;

 @ a  :  可以执行sql代码;

 @:D:\sql.sql 可以执行硬盘上的sql文件 如果后缀名为:sql 可以不写后缀名;

 @:D:\sql;

 show user:可以查看当前登录的用户名.

 切换用户:conn sys/change_on_intstall as sysdba. conn/scott/tiger.

 仿问其它用户的表:需要加上用户名.表名  select * from scott.emp;

 命令关闭数据库:shutdown immediate;

 数据库关闭后可以用:/nolog 账号登录 然后在用 sys账号登陆.

 启动oracle数据库:startup.

 调用本机操作系统命令:host copy D:\demo.sql  D:\demobak.sql

 sql语法:

 scott用户表结构:

 select * from tab; 查看当前用户下的所有表的名称.

 desc dept; 查看dept表的详细信息.

 
 
 简单查询:

 oracle是全世界最早采用sql语句的数据库产品.

 DML:用于检索或者修改数据.

 DDL:  用于定义数据的结构,创建,修改或者删除数据库对象.

 DCL:用于定义数据库用户的权限.

 select * from emp;  简单查询.

 select empno,ename from emp; 按字段查询.

 select job from emp; 包含重复数据.

 select distinct job from emp;                 distinct 消除重复数据.

 select empno || ename from emp;        || 连接字段 ' ' 输入内容

 oracle 是区分大小写的 

 oacle  中不等于包括:       <> !=  not  x=

 判断是否为空:       is (not) null

 范围的判断:          in(x,y)      not  in(x,y)

 如果not in 之中不能出现为null 如果in中出现null 则查询全问题数据

 排序操作: order by 字段 asc 升序(默认排序方式) desc 降序 必须放在where      的后面

 字符函数:

 upper(字符串 | 列) 将输入字符变为大写返回

 lower(字符串 | 列) 将输入字符变为小写返回

 initcap(字符串 | 列) 将开头首字母大写

 length(字符串 | 列)  求出字符串的长度

 replace(字符串 | 列) 进行替换

 substr(字符串 | 列,开始[,结束])  字符串截取 (0和1截取效果一样) 也可以输入负数表示从后面开始截取

 dual oracle 自带的虚拟表

 &变量输入方法(替代变量)

 数字函数:

 round:四舍五入 可以填写负数表示:保留整数 填写正数 表示保留小数

 trunc: 去掉小数

 mod: 取模 取余数

 select sydate from dual 取当前日期 和系统时没有关系

 last_day(日期): 求出指定日期的最后一天

 next_day(日期,星期数):求出下一个指定星期的日期

 add_months(日期,数字):求出若干月之后的日期

 months_between(日期1,日期2):求出两个日期之间所以经历的月份 如果日期1>日期2 返回正数 如果日期1<日期2返回负数

 转换函数:

 to_char(字符串|列,格式字符串):将日期或者数字变为字符串显示

 年(yyyy)      月(mm)      日(dd)      时(hh)      分(mi)      秒(ss)

 to_char(sysdate,'yyyy-mm-dd)     月份包含0

 to_char(sysdate,'fmyyyy-mm-dd) 月份不包含0

 to_char(sysdate,'yyyy-mm-dd hh:mi:ss) 显示年 月 日 时 分 秒

 to_char(sysdate,'yyyy-mm-dd hh24:mi:ss) 显示24时间格式

 to_date(字符串,格式字符串):将字符串变为date数据显示

 to_date('1989-10-26','yyyy-mm-dd') 

 to_number(字符串) :将字符串变为数字显示

 通用函数: oracle数据库特用的函数

 nvl(): 将空设置为指定的值:nvl(数值 | 列,显示值)

 decode():将数值或列进行判断显:decode(数值 | 列,判断值,显示值)