八宝书库 > 文学其他电子书 > oracle从入门到精通(PDF格式) >

第5部分

oracle从入门到精通(PDF格式)-第5部分

小说: oracle从入门到精通(PDF格式) 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






  



                                                第 7 页,共 106 页 


…………………………………………………………Page 8……………………………………………………………

资源来自网络,仅供学习!                                               Oracle 从入门到精通 



一、SQL  



1。1、基本概念:                                             



数据库对象:                                               

1。  表                                                       

2。  约束条件:保证数据完整性。                            

3。  视图:虚表,命名的查询语句。                           

4。  索引:加速查询(加快查询的速度)。                      

5。  序列:一串连续递增或递减的数字,步长相同,(代理键)。                                             

6。  同义词:一个对象的另外一个叫法(对象的别名)。                                                  

7。  存储过程:用于操作  

8。  函数:用作复杂运算的。用于计算。  

9。  触发器:由事件触发的存储过程。  

10。  包  



  



1。2、数据库安全:  



1、用户  

2、方案或模式(Schema):是用户所对应的对象的集合。用户名等于方案名  

3、权限  

4、角色:权限组,一组权限。                                                         

5、配额(quota):允许被使用的空间。用户可以在表空间上可以使用的空间。                                 

端口:2030  

环境变量  

…ORACLE_BASE 基本目录  

…ORACLE_NAME 当前的主目录  

…ORACLE_NLS33 使用 US7ASCLL 字符集时不用设  

…PATH 路径  



  



1。3、基本的 SQL SELECT 语句  



口令中的第一个字符不能为数字。  

语句类型:  

 (一)查询:SELECT  

数据操作语句:DML(数据的插入 INSERT、删除 DELETE、修改UPDATE、合并MERGE)   

 (二)合并:把一个表中的数据合并到另一个表中去,如果数据在原表中存在做 UPDATE,否则INSERT 

 (9I 独有)。  

 (三)事务控制语句:MIT 提交、ROLLBACK 回滚、  

SAVEPOINT 存储点(与 ROLLBACK 搭配使用)在回滚的时候可以回滚到某个存储点上。否则回滚到 

最初起点上。  

 (四)数据定义语句:对对象操作。TRUNCATE 清除表中所有数据 /CREATE 创建 /DROP 删除 /ALTER  



                              第 8 页,共 106 页 


…………………………………………………………Page 9……………………………………………………………

资源来自网络,仅供学习!                                             Oracle 从入门到精通 



修改    

 (五)权限控制语句(DCL):GRANT 授予权限 /REVOKE 移除权限   



  



1。4、SELECT 语句  



1、语法:  



      SELECT 查询列表 FROM 数据源;  

*&* SQL 命令必须加分号。  

ALTER USER HR IDENTIFIED BY HR ACCOUNT UNLOCK;  

修改用户                          解锁  

给 HR 解锁  

CONNECT(conn) HR/HR(密码) 用 HR 用户连接数据库。       

*&*(不是 SQL 命令 是 SQLPLUS 命令)不用加分号  

DESCRIBE(desc)    DEPARTMENTS  

关键字             表名  

描述表命令(SQLPLUS 命令)  



2、SQL 语句说明:  



 (1)语句文本的书写不区分大小写。(但字符串在作为值的时候要注意大小写)  

 (2)语句可以写单行也可以写多行。  

 (3)关键字不能缩写或跨行。  

 (4)语句通常被分多行书写。  

 (5)缩进被用于提高语句的可读性。  



3、数字和日期都可以使用数学运算符建立表达式。  



+,…,*,/ 不等于  

日期可以加减数字,数字默认为天。  

日期不能加日期,但日期可以减日期。  

字符不能加减。  



4、定义空(NULL)值  



空值出现在表达式中会导致整个表达式的值为空。  

NVL(字段名,将要赋予的值)函数  

作用:将空值转换成其他有 ASCLL码的值。  

annual_salary 年薪  



5、别名  



可以加中文的字段别名。  

如果想强制地改变列名的大小写,可以在别名的定义时加上双引号;列名有空格时也要在列名上加双 

引号。  

例:select lastname as 〃employees name〃 from employees;  



                             第 9 页,共 106 页 


…………………………………………………………Page 10……………………………………………………………

资源来自网络,仅供学习!                                                  Oracle 从入门到精通 



6、spool +路径  



保存命令(将显示保存)   



7、连接操作符: ||  



select lastname || 'work in' || department_id from tablename;  

  

select last_name || '''s salary is ' || salary 员工月薪 from employees;  

                   ~~~   

   注:在单引号中还要使用单引号的话,就必须使用两个单引号来实现一个单引号的功能。    



8、文本字符串  



*可以代表字符、数字或是日期。  

*当代表字符或日期的时候用单引号括起来,数字不需要。  



9、DISTINCT  



在查询时默认显示所有的行,包括有重复值的行。  

DISTINCT 消除重复行关键字,放在整查询列表的最前面。  

作用范围:整个查询列表的组合。  

消除重复行后会按字段的特性,做升序排列。(执行过程:先排序,再消除重复)  

select distinct department_id;job_id from employees;  



  



1。5、SQLPLUS 与 SQL 的关系  



SQL   *是一种语言  

     *ANSI 标准  

     *关键字不能缩写  

     *用于操作数据库中的数据和表的定义  



1、SQLPLUS命令的功能:  



*描述表的结构  

*编辑 SQL 语句  



2、查询 SQLPLUS 命令  



help + 命令  



3、SQLPLUSW 在 WINDOWS 下运行的分析器。  



 登陆 ISQLPLUS  

 (1)先到服务中启动 OracleOraHome92HTTPServer  

 (2)在浏览器中输入:http://wnj:7778/isqlplus  

 URL(网页中的地址)  



                               第 10 页,共 106 页 


…………………………………………………………Page 11……………………………………………………………

资源来自网络,仅供学习!                                                     Oracle 从入门到精通 



4、SQLPLUS 命令:  



4。1、与文件相关的命令:  

4。1。1、 spool + 路径  

           。  

           。  

        spool off  

  4。1。2、save   

把当前内存中的语句保存为文本文件。   

4。1。3、run 或  /  

运行当前内存中的语句  

4。1。4、clear buffer(cl buff)  

清空当前内存中的语句  

4。1。5、start @    读取并执行  

4。1。6、get    读取不执行  



4。2编辑命令:  



z   List 列出一条语句  

*表示当前行  

z   Change 修改命令  

原来 c/jj/kk  

c/jjj/xxx  

z   input 在当前行之后插入一行新的数据  

z   append 在当前行中插入新的东西  

n  写数字显示对应行  

z   delete   

del + 回车 删除当前行  

del 1 3 删除第一到第三行  

z   edit  l;c;i;a;n;d;e  

z   查看当前用户  

SHOW USER  

z   默认的日期格式:DD…MON…RR 日…月…年  

z   日期可以进行比较;  

z   字符可以进行比较(以字母的 ASCLL 码比较);  

z   IN(set)或NOT IN 匹配任何列表中的值;  

z   LIKE 模糊匹配字符串值;  

z   IS NULL 是否空值;  

z   IS NOT NULL 是否不为空;  

z   BETWEEN 可以做数字、日期和字符的比较。  

z   通配符  %、_  

S_mith  

WHERE first_name like 's/_%'escape'/';  

解释这个符号后的下划线为正常的字符。如果不加,将被视为通配符作用的下划线。  

'_'只能通配一个字符  

主要用于通配固定位数的字符。例如查询月收入五位数以上的员工。五位就可以用'_'来查询。  



                                 第 11 页,共 106 页 


…………………………………………………………Page 12……………………………………………………………

资源来自网络,仅供学习!                                                     Oracle 从入门到精通 



z   逻辑操作符(用在 WHERE 子句中)  

    1。  AND   

    2。  OR   

    3。  NOT  

先执行 NOT ,再执行 AND 最后执行 OR。  

z   ORDER BY   

ORDER BY 子句在 SELECT 语句的最后。    

z   ASC:升序  DESC:降序  

z   空值作为无穷大来处理。  

z   rownum 显示行数量约束的关键字(在结果中可以做代理键使用);  

可以按照查询列表中序号进行排序。  

系统在用户写出查询列表的同时就赋予每个列名一个序号,升序赋予。  

例: SELECT name;phone;adress from。。。。。。。。。;  

               1      2          3   

  



1。6、单行函数  



单行函数:对单行数据进行计算并返回一个值的函数。  

    *修改数据项  

    *接受参数返回一个值。  

    *对每行进行操作。  

    *每行返回一个结果。  

    *可以修改数据类型  

    *可以嵌套  



1、character 字符类型函数:  



z   LOWER()强制小写  

z   UPPER()强制大写  

z   INITCAP()每个单词首字母大写;可以用在 WHERE子句中。  

z   CONCAT(‘’,‘’)连接函数      

z   SUBSTR(string;a';b')返回 string 的一部分,a和 b 以字符为单位。  

z   SUBSTRB(string;a';b')返回 string的一部分,a和 b 是以字节为单位。  

z   SUBSTRC(string;a';b')返回 string的一部分,a和 b 是以UNICODE 完全字符为单位。  

z   SUBSTR2(string;a';b')返回 string的一部分,a和 b 是以UCS2 代码点为单位。  

z   SUBSTR4(string;a';b')返回 string的一部分,a和 b 是以UCS4 代码点为单位。  

    以上函数都是返回 string 的一部分,从字符位置 A 开始,长为 B 个字符。如果 A 是0,那它就 

被认为是 1 (字符串的开始位置)。如果 A 是正数,那么字符从左边开始数。如果是负数,则从 STRING 

的末尾开始,从右边数。如果 B 不存在,那么缺省是整个字符串。如果 B 小于 1,将返回 NULL。如 

果 A 或B 使用了浮点数,那么该数值首先被节取成一个整数,返回类型与 STRING相同。  

z   LENGTH(string)  

z   LENGTHB(string)  

z   LENGTHC(string)  

z   LENGTH2(string)  



                                第 12 页,共 106 页 


…………………………………………………………Page 13……………………………………………………………

资源来自网络,仅供学习!                                                  Oracle 从入门到精通 



z  LENGTH4(string)  

    以上函数返回 string 的长度。因为 CHAR 类型的值是填充空格的,所以如果 string 是 CHAR 数 

据类型,那么末尾的空格算在长度之内。如果 string 是NULL,函数返回NULL。  

z   INSTR(string1;string2';a'';b') 返回string1中包含string2的位置。a和b以字符为单位。  

z   INSTRB(string1;string2';a'';b') 返回 string1 中包含 string2 的位置。a 和 b 是以字节为 

   单位。    

z   INSTRC(string1;string2';a'';b')返回 string1 中包含 string2 的位置。a 和 b 是以 UNICODE 

   完全字符为单位。  

z   INSTR2(string1;string2';a'';b') 返回 string1 中包含string2 的位置。a 和b 是以 UCS2 代 

   码点为单位  

z   INSTR4(string1;string2';a'';b') 返回string1中包含string2的位置a和b是以UCS4代码 

    点为单位。  

    以上函数返回 string1 中包含 string2 的位置。从左边开始扫描 string1;起始位置是 A。如果 

A 为负数那么从右边开始扫描。第 B 次出现的位置将被返回。A 和 B 缺省都为 1,即返回在 string1 

中第一次出现 string2 的位置。如果 string2 在 A 和 B 的规定下没有找到那么就返回 0。位置的计 

算是相对于 string1 的开始位置的,而不关 A 和B 的取值。  

z  LPAD(列名;数字;‘要补上的字符’)左补位  

z  RPAD(列名,数字,‘要补上的字符’)右补位  

z  TRIM(‘child_str’ FROM ‘parents_str’)将连续子串(只能有一个字符)从主串的两边截 

   取出来,区分大小写。默认为截取空格。  

z  LTRIM左截取  

z  RTRIM右截取  

z  ascii(x)函数,返回'X'字符的十进制数,即 

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的