oracle学习总结(一)

1.Oracle SQL Developer建立连接
 1)打开新建连接后
    主机名:要访问的数据库所在的主机上的IP地址
    端口号:数据库应用的端口号,确认是oracle应用
           1521:Oracle
    SID:应用服务器中的每个数据库都有一个SID来唯一标识,相当于一个
         SID就代表oracle下的某一个数据库
    
一台机器上的sql developer和远程的机器上的数据库应用通信,依靠的是TCP/IP协议,
ip协议里:ip地址 可以标识机器
tcp:port 端口号 机器上的哪个应用程序(由DBA告知)
连接名:随便定义的有意义的名字


2.常见错误信息:
1)invalid identifier:无效列名  --> 列名写错了
2)table or view dose not exists ---> 表名写错了


3.空值(null)的处理函数nvl(p1,p2):如果p1 is null 则return p2 否则 return p1;
                                     一般用于对空值的处理,一般转化为0
  注:p1和p2的数据类型必须一致!
  
4.‘’用于字符串,且大小写敏感,“”一般用于给列起别名的,而且特殊字符和大小写完全匹配!


5.select子句:投影操作(列名),列表达式,函数, 常量值(每一行输出一次)
  若只想查询一个常量值,则用from dual(只包含了一行一列的表),每一行
  都输出一次没什么实际意义


6.列名的拼接“||”
  select 列名1||列名2... from 表明
   如果拼接常量字符的话,直接写
   select real_name||','||idcard_no from client;
  怎么表示单引号本身:‘’(两个单引号表示单引号),所以表示一个单引号的常量字符串的话,用‘’‘’
  第一个和第四个表示字符串常量的界定符,中间两个‘’就表示‘


7.运算符:
1)算术运算符“+ - * /”和函数用于select后和where后来表示某个列的组合
   注:1.select选择某个经一系运算后得到的列,并且可以为这个列取别名;where说某个运算后得到的列满足什么什么条件)
       2.运算符表达式执行次数:有多少条符合条件的记录表达式就会执行多少次,即使有空值null,
         只要有空值null,运算结果就为null,如果想正常运算,需要用到nvl函数
2)条件运算符 (not)between...and... (两个区间都是闭区间) (not)in (not)like  is (not)null  
 注:若是通配符“%” “_”本身,需要使用escape定义
   where 列名 like 'h\_' escape '\'
   
8.distinct:消除重复行
  select distinct 列名
  如果多个列名,则多个列名联合唯一
  如:每台服务器哪些天开通了远程登录业务
  select distinct unix_host, create_date from service;
 
  注:如果一列中有多个null值,只保留一列!


9.客服端和数据库服务器端建立连接,服务器端会建立一个服务进程(Server Process) 
   SQL语句的执行过程,如:处理一条select语句
   step1,分析语句
           1)搜索是否有相同的语句
           2)检查语法、表名、权限
           3)在检查的过程中给对象加锁,生成执行计划
   step2,绑定变量
   step3,执行语句
   step4,获取数据,数据返回给用户进程
   
   一个sql语句到服务器了,服务器首先检查有没有一模一样的语句,如果有,直接获得执行计划
   分析语句的前两个步骤就省掉了;否则,将sql语句放入内存中,执行以上4个步骤
   所以为了提高系统的性能,以及减少数据库服务器的压力,我们有select规范

   以上步骤都是由Server Process完成的。




   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值