oracle常用的SQL及语法

上传人:ji****72 文档编号:37521071 上传时间:2018-04-17 格式:DOC 页数:10 大小:121KB
返回 下载 相关 举报
oracle常用的SQL及语法_第1页
第1页 / 共10页
oracle常用的SQL及语法_第2页
第2页 / 共10页
oracle常用的SQL及语法_第3页
第3页 / 共10页
oracle常用的SQL及语法_第4页
第4页 / 共10页
oracle常用的SQL及语法_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《oracle常用的SQL及语法》由会员分享,可在线阅读,更多相关《oracle常用的SQL及语法(10页珍藏版)》请在金锄头文库上搜索。

1、1 1、两个两个 oracleoracle 开发工具介绍开发工具介绍a)a) SqlDbxSqlDbx 王金生曾推荐过的一款数据库客户端开发工具,使用容易,不需要额外的安装其 它插件,有 sql 提示功能,支持 Oracle,Sybase ASE, IBM,DB2/UDB, MicrosoftSQL Server 和 ODBC 数据源,免费绿色版。 b)b) PLSQLPLSQL DeveloperDeveloper 专门针对 oracle 开发的一款比较专业的客户端工具,除了常用的数据库操作外, 还支持存储过程及函数的调试功能等比较高级的功能,详细的操作可以安装完毕 后大家去慢慢研究。配置方

2、式见网上找的一段方法,第二种: http:/ 2、oracleoracle 与与 sqlserversqlserver 语法大比较语法大比较a)a) oracleoracle 各类型字段描述各类型字段描述数据类型数据类型取值范围描述备注 Char(n)n=1 to 2000 字节存储固定长度的字符串。 默认长度为 1。Varchar2(n)n=1 to 4000 字节可变长的字符串,具体定 义时指明最大长度 n, 这种数据类型数据类型可以放数字、 字母以及 ASCII 码字符集 (或者 EBCDIC 等数据库数据库系统 接受的字符集标准)中的所 有符号。 如果数据长度没有达到最 大值 n,Or

3、acle 会根据数据 大小自动调节字段长度, 如果你的数据前后有空格, Oracle8 会自动将其删去。 VARCHAR2 是最常用的数据数据 类型类型。 可做索引的最大长度 3209。Varchar2 类型的字 段长度可以达到 4000 字节, Varchar2 类型的变量长度 可以达到 32676 字节。节省表空间: 一个空的 varchar2(2000) 字段和一个空 的 varchar2(2) 字段所占用的 空间是一样的。Nchar(n)n=1 to 2000 字节在创建数据库时,需要指 定所使用的字符集,以便 对数据库中数据进行编码。 还可以指定一个辅助的字 符集即本地语言集 (Na

4、tional Language Set,与 char 的差 别是,Nchar 是基于 NLS 的 国家字符集, 实际开发很少 用。简称 NLS)。存储固定 长度的字符串。 Nvarchar2(n)n=1 to 4000 字节在创建数据库时,需要指 定所使用的字符集,以便 对数据库中数据进行编码。 还可以指定一个辅助的字 符集即本地语言集 (National Language Set, 简称 NLS)。存储变长 字符串。与 varchar2 的 差别是, Nvarchar2 是 基于 NLS 的国 家字符集,实 际开发很少用。Long最大 2G可变长字符列,最大长度 限制是 2GB,用于不需要

5、作字符串搜索的长串数据, 如果要进行字符搜索就要 用 varchar2 类型。 long 是一种较老的数据类数据类 型型,将来会逐渐被 BLOB、CLOB、NCLOB 等大 的对象数据类型数据类型所取代。在不同系统间 移动需要进行 转换。Clob最大 4G存储单字节字符型数据。 适用于存储超长文本。Nclob最大 4G存储多字节国家字符型数 据。适用于存储超长文本。Blob最大 4G存储二进制数据。适用于 存储图像、视频、音频等。Bfile最大长度是 4GB在数据库外部保存的大型 二进制对象文件,最大长 度是 4GB。这种外部的 LOB 类型,通过数据库记 录变化情况,但是数据的 具体保存是在

6、数据库外部 进行的。 Oracle 可以读取、查询 BFILE,但是不能写入,不 参与事务。Number(m,n)m=1 to 38 n=-84 to 127存储整数或浮点数。可变 长的数值列,允许 0、正值 及负值,m 是所有有效数 字的位数,n 是小数点以 后的位数。 如:number(5,2),则这个 字段的最大值是 99,999,如果数值超出了位数限制 就会被截取多余的位数。 如:number(5,2),但在一 行数据中的这个字段输入 575.316,则真正保存到字 段中的数值是 575.32。 如:number(3,0),输入 575.316,真正保存的数据 是 575。 Date

7、数据类型数据类型用来存储日期和 时间格式的数据。默认格 式:DD-MON-YYYY。从公 元前 4712 年 1 月 1 日到公 元 4712 年 12 月 31 日的所 有合法日期Row(n)n=1 to 2000可变长二进制数据,在具 体定义字段的时候必须指 明最大长度 n,Oracle 用这 种格式来保存较小的图形 文件或带格式的文本文件, 如 Miceosoft Word 文档。 raw 是一种较老的数据类数据类 型型,将来会逐渐被 BLOB、CLOB、NCLOB 等大 的对象数据类型数据类型所取代。LongRow最大长度是 2GB。可变长二进制数据,最大 长度是 2GB。Oracle

8、 用这 种格式来保存较大的图形 文件或带格式的文本文件, 如 Miceosoft Word 文档, 以及音频、视频等非文本 文件。 在同一张表中不能同时有 long 类型和 long raw 类型, long raw 也是一种较老的 数据类型数据类型,将来会逐渐被 BLOB、CLOB、NCLOB 等大 的对象数据类型数据类型所取代。Rowid 数据类型数据类型是 ORACLE 数据 表中的一个伪列,它是数 据表中每行数据内在的唯 一的标识。b)b) 字段类型比较字段类型比较SQL SERVERORACLEDECIMAL(P, S)NUMBER(P, S)NUMERIC(P, S)NUMBER(

9、P, S)FLOAT(N)NUMBER(N)INTNUMBERSMALLINTNUMBERTINYINTNUMBERMONEYNUMBER19,4数字类型SMALLMONEYNUMBER19,4CHAR(N)CHAR(N)字符类型VARCHAR(N)VARCHAR2(N)DATETIMEDATE日期时间类 型SMALLDATETIMEDATETEXTCLOBIMAGEBLOB其它BITNUMBER(1)c)c) 常用函数比较常用函数比较 注:此处仅记录语法有区别的地方,更多丰富的语法请查看附件中的手册。 以下的 exp 为 expression 的缩写SqlSql serverserveror

10、caleorcale字符类函数Ascii(char_exp)Ascii(str_exp)Char(int_exp)Chr(int_exp)Datalength(char_exp)Length(str_exp)Substring(exp, start, length)Substr(exp, start, length)Upper(char_exp)Upper(str_exp)Lower(char_exp)Lower(str_exp)Stuff(char_exp1,start,length,Char_exp2)Translate(str_exp,from_str,to_str)Ltrim(char

11、_exp)Ltrim(str_exp1 ,str_exp2)Rtrim(char_exp)Rtrim(str_exp1 ,str_exp2)日期类函数Getdate()Sysdate数学类函数Abs(numeric_exp)Abs(number_exp)Ceiling(numeric_exp)Ceil(number_exp)Exp(float_exp)Exp(number_exp)Floor(numeric_exp)Floor(number_exp)Power(numeric_exp,int_exp)Power(number_exp1,number_exp2)Round(numeric_exp

12、,int_exp)Round(number_exp1 ,number_exp2)Sign(int_exp)Sign(number_exp)Sqrt(float_exp)Sqrt(number_exp)转换函数Convert(datatype(length),exp,format)To_char(datatype,str_format)Convert(datatype(length),exp,format)sTo_date(str_exp,date_format)Convert(datatype(length),exp,format)To_number(str_exp,num_format)其它

13、函数AVG(ALL | DISTINCT col)AVG(ALL | DISTINCT col)COUNT(ALL | DISTINCT col | *)COUNT(ALL | DISTINCT col | *)MAX(ALL | DISTINCT col)MAX(ALL | DISTINCT col)MIN(ALL | DISTINCT col)MIN(ALL | DISTINCT col)SUM(ALL | DISTINCT col)SUM(ALL | DISTINCT col)STDEV(col)STDDEV(col)VAR(col)VARIANCE(col)ISNULL(check_e

14、xp, replace_value)NVL(check_exp, replace_value)CASEDECCODEd)d) 关于脏读关于脏读 目前我们使用的 sqlserver 数据库,在查询数据时,都要求在 select 语句中后面跟 一个(nolock)或(with nolock)来保证读取大表时不影响其它程序进程的数据操 作。 在 oracle 中,目前还不允许脏读的方式,在每次 select 后,读到的数据都是已经 commit 的数据,所以为了避免读取数据的不准确,程序中如果有比较耗时的 sql 操作,尤其是在 insert 和 update 后,尽量减小事务,而且要在事务结束后及

15、时 commit。e)e) 表(主键、外键、表(主键、外键、CHECKCHECK、UNIQUEUNIQUE、DEFAULTDEFAULT、INDEXINDEX) 在创建表及其主键、外键、CHECK、UNIQUE、DEFAULT、INDEX 时,SQL SERVER 与 ORACLE 的语法大致相同。主要区别如下:Oracle 定义表字段的 default 属性紧跟字段类型之后,如下:Create table MZ_Ghxx( ghlxh number primay key ,rq date default sysdate not null,.)而不能写成Create table MZ_Ghxx

16、( ghlxh number primay key ,rq date not null default sysdate,.)f)f) 存储过程存储过程/ /函数函数 结构的不同结构的不同 SQLSERVER 中存储过程的结构大致如下中存储过程的结构大致如下CREATE PROCEDURE procedure_name/*输入、输出参数的声明部分*/ASDECLARE/*局部变量的声明部分*/BEGIN/*主体 SQL 语句部分*/*游标声明、使用语句在此部分*/ENDORACLE 中存储过程的结构大致如下中存储过程的结构大致如下CREATE OR REPLACE PROCEDURE procedure_nam

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号