Oracle初学者笔记(一)

SQL plus 的登陆:
  1,程序组:      用户名: scott 或者system
        密码: tiger
        主机字符串: 只是在远程登陆时需要;
2,运行:sqlplusw scott/tiger@Jade  或者sqlplusw system/jade@Jade
                    注意:如果是本地登陆,@Jade则可以不写,就是主机字符串嘛
 3,命令行:c:>sqlplus

被默认为自动启动的服务:
    OracleServiveJADE
    OracleTNSListener
    OracleOracleAgent
    OracleOracleHttpServler

Oracle的历史:
 Oracle公司就是甲骨文公司,源自老板对中国文化的喜爱;
 IBM公司的研究员Edgar Frank Codd来开了关系数据库软件
 革命的序幕;
 1977年Oracle公司的前身出现,Larry Elllison创业于实验室;
        Larry Ellison认为1.0的软件不被人们信任,所以Oracle2.0是
 第一个发布版本;
         Oracle8I开始程序得支持Internet,I代表Internet;
  Oracle9I版本后完全支持Java;

Oracle支持的PL/SQL语言:
         完全支持SQL92标准;
  PL:personl language;

Oracle使用Net8协议在客户端和服务器端传输数据时
加密和解密;我在想,这个协议如果被破解了,那
网络上被人收取的加密数据岂不被理解了?

TNS连接是Oracle两个节点间的通讯路径;

数据字典其实也是表,用户数据字典是用来存储当前用户
有什么样的表,试图,约束等信息的表而已;

.DBF数据文件;.CTL控制文件;.LOG日志文件;

Oracle系统包括磁盘文件和内存区的东西;

问问SQLServer怎么查一个数据库里有哪些表;


                                                            DML语言
字符数据一定要用单引号定界;
Oracle中要插入日期型时要用函数to_date('feb 3,05','mon dd,yy')
to_date可以将一个特定的字符串转换为特定格式的日期;
to_date使得用户非常灵活,你可以用自己定义的时间格式插入日期,
但是Oracle默认都会以一种形式来显示,可以修改:
alter session set NLS_date_format='yyyy;mm;dd';

每个Oracle连接到数据库时都会和数据库保持一个会话;所以有
修改会话的命令:alter session....

Oracle的内部都使用大写表示;Oracle用的是UTF-8字符集;

SQLPLUS的命令一个:set linesize 400把每行设置为400宽;
                                    set pagesize xxx每页显示xxx行;
执行以前执行过的语句,用run,简写为r,或者/;

Oracle不可以一次执行做个语句;
解决的办法是:临时变量;用临时变量的话系统会与你进行交互
操作,靠,太方便了;
例如:insert into emp(empno,ename)
                        values(&id,'&name');
                        这样就会交互输入了;
                                 
                                   
 使用子查询插入数据:批量插入其他的一个表的数据;
 
 所谓的DML语句操作的对象都是数据,不是表;这包括:insert,update,delete;
                                                
                                                 事务
 多个DML语句可以构成事务;
 一个DDL语句可以构成事务;
 一个DCL语句可以构成事务;
 
 当第一条SQL语句被执行时,事务就自动开始了
 当出现下面的事件时,事务就结束:
  commit or rollback被执行时;
  DDL or DCL被执行时(自动提交);
  用户退出;
  系统中止;
 一个有用的命令:clear screen;
 事务处理到底有什么作用:
  试验一下:
  1,执行insert into dept value(....)成功插入一条纪录后,在本
  SQLPLUS窗口select * from dept的时候刚才插入的纪录是可见的;
  而重新打开另一个SQLPLUS窗口就看不见刚刚插入的纪录;
  原因就是第一个窗口中没有以上所说的四种结束事务的语句或者
  操作;
  可见事务没结束的时候,后台数据库并没有真正被改变,
  暂时性的改变临时存在数据缓冲区中;
  只有事务结束后,才真正写如这些数据;
  简单地关闭sqlplus窗口并不能真确提交事务;(我说呢,昨天插入的
  数据今天都不见了)
  
  commit成功提交;
 rollback取消未提交的事务操作;
事务一般远远不是你所想像的那么小,一般都很大;
所以我们不会老是回滚整个事务,所以我们用保存点来分割事务;
可以只回滚出错误的操作,不至于因为一部分的错误而连同
真确的操作一起撤消;
savepoint 的范围只是commit之前,如果提交了事务,那就无法回滚了,
当然无法回滚到一个保存点了,因为保存点已经失效了;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值