oracle 笔记2

  <DIV>&nbsp;
<DIV style="MARGIN-TOP: 5px; MARGIN-LEFT: 15px"><B>关键字:</B> Database &nbsp; oracle,database&nbsp;&nbsp;&nbsp;&nbsp; </DIV>
<DIV style="MARGIN-TOP: 10px; MARGIN-LEFT: 15px; OVERFLOW: auto">
<TABLE width="100%">
<TBODY>
<TR>
<TD>
<P>Oracle SQL(Oracle 9i 9.2.0.1.0)</P>
<P>一、DataBase <BR>保存数据,以表的形式表现数据 <BR>二、SQL</P>
<P>SQL(structure query language 结构化查询语言),是操作关系型数据库中的对象</P>
<P>DDL(data definition language 数据定义语言),用于建表或删表操作,以及对表约束进行修改。 <BR>create table , alter table , drop table 对表结构的增删操作。</P>
<P>DML(Data manipulation language 数据操作语言),向表中插入纪录,修改纪录 <BR>insert , update , delete , merge <BR>transaction ,事务控制语言,由DML语句组成的,commit; ,rollback; <BR>select 查询语句 <BR>dcl 授权语句 grant</P>
<P>三、Oracle <BR>DBMS 数据库管理系统 <BR>有Oracle提供,还提供AS,应用服务器 <BR>DBA 数据库管理员</P>
<P>四、相关操作 <BR><BR>echo $ORACLE_SID 查看现有的Oracle数据库 <BR></P>
<P>1、sqlplus 访问数据库命令(本地访问/远程访问),和数据库建立连接的命令,是数据库操作的环境 <BR>sqlplus 用户名/密码</P>
<P>2、show user 显示当前用户的用户名</P>
<P>改变身份可以直接connect 用户名/密码 --- 这个是sqlplus命令 <BR>在sqlplus中可以使用 ! 可以在shell和sqlplus间切换,!shell命令 可以在sqlplus中使用shell命令。 <BR>实际上是sqlplus开了子进程来执行shell命令。</P>
<P>3、Oracle数据库中的表分两类:用户表(用户使用操作的表),系统表(数据库系统维护的表,也叫数据字典) <BR>对用户表的DDL操作出发了对系统表的DML操作!</P>
<P>五、基本语法</P>
<P>1、select查询语句</P>
<P>select table_name from user_tables;(查询系统表) <BR>以上的查询语句就是查询本用户下所拥有的所有表的表名。</P>
<P>投影操作,只查看选择的字段的信息。 <BR>选择操作,查看字段中的特定某些信息。 <BR>联接操作,多表查询,通过表间连接,查寻出多表中的信息</P>
<P>(1)select table_name from user_tables;(查询系统表) <BR>以上的查询语句就是查询本用户下所拥有的所有表的表名。 <BR><BR>(2)sqlplus的buffer中会缓存最后一条sql语句,可以使用"/"来执行这最后一条sql语句,也可以使用 <BR>edit命令来编辑最后一条sql语句。 <BR>l命令(list)(sqlplus命令)可以显示buffer中最后一条命令。 <BR><BR>sqlplus命令可以缩写 <BR><BR>(3)desc [表名] <BR>这是一条sqlplus命令,注意他不是sql语句,这条命令用于查看表的结构。describe的缩写 <BR>[字段名] [字段的类型],这是使用完desc命令后显示的表结构。 <BR><BR>(4)select [表的字段名1],[表的字段名2], ... from 表名; <BR>select * from 表名; 查寻表中所有字段的信息 <BR><BR>(5)关键字不能拆分,sql语句,以及表名,字段名是大小写不敏感的。 <BR>sql语句要以";"结尾,来表示sql语句结束,如果不加";"系统不会执行此条sql语句,并提示。 <BR>在Oracle中字符显示是左对齐,数值右对齐。 <BR><BR>(6)在select 语句中可以使用数学表达式。 <BR>select [表达式(必须包含本表字段名)],[...],.... from 表名; <BR>运算的优先级的先乘除后加减,同级自左向右运算,括号改变优先级。</P>
<P>(7)别名 <BR>select [字段名或表达式] ["别名"],[...] ["..."],.... from 表名; <BR>可以通过在字段名或表达式后加空格"别名",可以给列,或者表达式结果其别名。 <BR>表达别名必须加双引号。 <BR><BR>(8)字符串拼接使用||符号 <BR>select 目标字段名||' '||目标字段名 from 表名;</P>
<P>注意:在Oracle中的字符或字符串要用单引号,双引号用来起别名 <BR>别名中需要使用空格,或是大小写敏感时需要用".."包含。 <BR><BR>练习: <BR>自己写一条SQL语句,执行的结果是select * from ...; <BR>其中...是每张系统表的表名 <BR>即在每张系统表的表名前加“select * from” ,后加“;” </P>
<P>select 'select * from '||table_name||';' from user_tables; <BR><BR><BR>2、处理错误 <BR>(1)!oerr ora [错误号] ,系统可以显示错误的原因和如何修改。如果命令错误输入可以使用edit或ed来修改输入错误。 <BR>实际上是在编辑缓存文件中的最后一条sql语句。 <BR>也可以使用 (change) c /错误字段/正确字段,来进行替换操作进行修改。 <BR>只有在Linux平台使用 <BR>! 相当于 host ,没有断连接,只是切换了一下,执行shell命令 <BR>(2)edit命令来编辑最后一条sql语句。 </P>
<P>3、sqlplus设置 <BR>set pause on 回车响应,分屏显示,只在本会话中有效 <BR>set pause off 关闭分屏显示。 <BR>set pause "..." 设置分屏显示的提示信息。 <BR>set pause on 先输出提示信息,回车响应,分屏显示 <BR>set head off 提头输出关闭 <BR>set feed off 结尾输出关闭 <BR>set echo off 回写关闭 <BR>spool 文件名.sql 写入指定文件 <BR>spool off 关闭写入。 </P>
<P>4、sql脚本 <BR>也就是在文件中写有sql语句的文件,可以在sqlplus中运行。 <BR>引入sql脚本 <BR>sqlplus 用户名/密码 @sql脚本 (注意:在用户名密码输入结束后一定要加空格然后再写@sql脚本) <BR>在脚本中最后一行写上“exit”,则运行完脚本以后,回到shell上 <BR><BR><BR>5、 <BR>Oracle中的空值 空值会当无穷大处理,其实空值根本就不会存储,只是看作是无穷大。</P>
<P>Oracle中控制处理函数 NVL(字段名,值),这个字段中的空值替换为指定值,如果不为空,则会返回其原值。 <BR>例:select first_name,salary*12*(1+NVL(commission_pct,0)/100) "total salary" from s_emp;</P>
<P>distinct关键字,去掉重复行(这个关键字会触发排序操作) <BR>例: select distinct dept_id,title from s_emp; <BR>distinct 可以使dept_id与title的联合唯一 <BR>注意:distinct,关键字之后会对from之前的字段进行排重操作。</P>
<P>六、选择操作 <BR><BR>1、order by 排序是按照存储顺序输出的,order by后面可以跟字段名,别名,位置,也可以有多个字段,当第一个字段的值一样时,按第二个字段排序 <BR>排序子句 ASC(默认,升序) DESC(降序) <BR>order by 目标列名(别名) 排序顺序(不写排序顺序,会默认为升序排序)</P>
<P>例:select first_name from s_emp order by first_name; <BR>select first_name from s_emp order by first_name desc;</P>
<P>注意:升序空值在结果的末尾,降序空值在结果的最前面。</P></TD></TR></TBODY></TABLE></DIV></DIV>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值