Oracle学习心得,Oracle使用方法,Oracle教程,Oracle入门教程

SYS change_on_install
SYSTEM manager
----清屏----
clear screen;

用户登录数据库
conn 用户名/密码;
eg:conn scott/tiger;

查看当前用户show user;

给自己修改密码:passw或(password)

运行SQL脚本:
eg:start d:\aa.sql

编辑SQL脚本:
eg:edit d:\aa.sql

将当前的SQL脚本输出到bb.sql这个文本文件
spool d:\bb.sql
spool off;

设置行输出为50个字符
set linesize 50;

设置分页,一般在做报表用
set pagesize 5;

----------用户管理---------
创建用户
create user 用户名 identified by 密码;
eg:create user islee identified by abc123;

修改密码
password 用户名;
eg:password islee;

删除用户
drop user 用户名;

系统分配权限(connect、resource、dba)
grant 权限 to 用户名;
eg:grant connect to islee;---为islee分配连接的权限,否则不可以登录


对象分配权限(select、insert、update、delete、all):用户分配自己的表权限给其他用户使用
grant 权限 on 表 to 用户名;
grant select on emp to islee;

islee使用表:
select * from scott.emp;(方案,一定是scott.emp)

回收权限
revoke
eg:revoke all on emp from islee;


权限传递,islee可以给其他用户再分配emp的select权限
eg:grant select on scott.emp to islee with grant option;

系统权限传递
eg:grant connect to islee with admin option;

创建profile管理用户、密码

create profile 文件名 limit failed_login_attempts 输入密码次数 password_lock_time 禁止登录天数;

eg:create profile lock_account limit failed_login_attempts 3 password_lock_time 2;

将上面的规则应用到用户
alter user 用户名 profile 文件名;
eg:alter user islee profile lock_account;

给用户解锁
alter user 用户名 account unlock;
eg:alter user islee account unlock;

删除profile
drop profile 文件名;


---------对数据表的管理-----------
添加一个字段
alter table student add (classId number(2));

修改字段的长度
alter table student modify (stuName varchar2(50));

修改字段的类型
alter table student modify (stuName char(2));

删除一个字段
alter table student drop column stuAddress;

修改表的名字
rename student to stu;

删除表
drop table student;

日期格式
Oracle 默认的日期格式为'DD-MM-YY',且月一定要有月字
eg:'26-9月-1990'或'26-9月-90'代表1990年9月26日;

修改日期默认格式
alter session set nls_date_format='yyyy-MM-dd';


savepoint aa;
rollback to aa;




测试表student
create table student(
   stuId varchar2(10),
   stuName varchar2(30),
   stuSex char(2),
   stuBirthday date,
   stuDescription varchar2(500)
   );

处理Null值
判断字段money是否为Null,如果是用0代替;
nvl(money,0)

如果查询语句中有order by ,group by, having,则他们的顺序必须是group by→having→order by。

如果子查询返回多列的话,就应该如下:
select * from emp where (deptno,job) = (select deptno,job from emp where ename='SMITH');

分页查询:
第一步:select a1.*,rownum rn from (select * from student) a1;

第二步:select a1.*,rownum rn from (select * from student) a1 where rownum<=5;

第三步:select a2.*,rownum from (select a1.*,rownum rn from (select * from student) a1 where rownum<=5) a2 where rn>=3;

利用查询结果创建表,如stu2,创建的表会复制查询的数据
create table stu2(stuId,stuName,stuScore,stuClassId) as select stuId,stuName,score,stuClassId from student;

Oracle日期格式转换
利用to_date函数转换
eg: insert into student values('200807','小陈','男',to_date('1988-10-25','yyyy-MM-dd'),'To_date函数',68,5);

-------处理日期函数--------

返回系统当前时间
select sysdate from dual;

返回系统当前时间>出生时间200个月的信息,用add_months函数
select * from student where sysdate>add_months(stuBirthday,200);

last_day(d):返回指定日期所在月份的最后一天
查找出生日期为每个月倒数第3天的信息
eg:where last_day(stuBirthday)-3=stuBirthday;

时间格式
yyyy-mm-dd hh24:mi:ss或者yyyy-mm-dd hh12:mi:ss


to_char函数
查找出年为1990的信息
where to_char(stuBirthday,'yyyy')=1990;

查找出月为10的信息
where to_char(stuBirthday,'mm')=10;

 

 

-----------------------更多请关注蕃薯耀新浪博客-----------------------

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2012年9月27日 01:06:52 星期四

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
oracle基础教程 课程说明 1 课程介绍 1 课程目标 1 相关资料 1 第1章 ORACLE数据库概述 2 1.1 产品概述 2 1.1.1 产品简介 2 1.1.2 基本概念 3 1.2 ORACLE系统结构 4 1.2.2 ORACLE物理结构 4 1.2.3 系统全局区 6 1.2.4 进程 8 1.3 存储管理 9 1.3.2 逻辑结构 10 1.3.3 表(Table) 14 1.3.4 视图(View) 18 1.3.5 索引(Index) 18 1.3.6 同义词(Synonym) 19 1.3.7 序列(Sequence) 19 1.3.8 数据库链(Database Link) 20 第2章 管理ORACLE数据库 21 2.1 基本概念 21 2.1.1 数据字典 21 2.1.2 事务管理 23 2.1.3 数据库管理员(DBA) 24 2.1.4 ORACLE的四种状态 25 2.2 SQL*Plus方式的ORACLE数据库启动和关闭 26 2.2.1 启动数据库 26 2.2.2 关闭数据库 26 2.3 svrmgrl方式的ORACLE数据库启动和关闭 28 2.3.1 启动数据库 28 2.3.2 关闭数据库 30 2.4 应用开发工具(SQL * Plus) 31 2.4.1 SQL 32 2.4.2 PL/SQL 33 2.4.3 数据库管理工具 36 2.5 ORACLE用户及权限管理 36 2.5.1 ORACLE的用户管理 37 2.5.2 ORACLE的权限管理 38 2.6 ORACLE数据库的备份与恢复 39 2.6.1 Export 转入程序 40 2.6.2 Import 转入程序 42 2.6.3 增量卸出/装入 44 第3章 ORACLE数据库的网络应用 46 3.1 SQL*Net产品介绍 46 3.2 配置客户机/服务器结构 47 3.2.1 配置listener.ora 47 3.2.2 配置tnsnames.ora文件 48 第4章 常用任务示例 51 4.1 如何恢复被误删的数据文件 51 4.2 如何杀掉吊死session 51 4.3 如何修改字符集 51 4.4 如何追加表空间 51 4.5 如何加大表的maxextents值 52 4.6 如何查询无效对象 52 4.7 怎样分析SQL语句是否用到索引 52 4.8 怎样判断是否存在回滚段竞争 53 4.9 怎样手工跟踪函数/存储过程执行情况 54 4.10 多种业务使用同一数据库如何分配回滚段 54 4.11 怎样倒出、倒入文本数据 54 4.11.1 倒出 54 4.11.2 倒入 55 4.12 如何更新当前数据库日志备份方式为archive 56 4.13 Unix环境下如何实现自动备份 56 4.13.1 设置运行环境 56 4.13.2 倒出数据 56 4.13.3 异地备份 57 4.13.4 启动备份进程 58 4.14 怎样分析ORACLE故障 59 小结 61 附录A ORACLE数据字典与视图 62 附录B 动态性能表 68 附录C SQL语言运算符与函数 70
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值