ORACLE与SQL区别与联系

合集下载

SQL与ORACLE的区别

SQL与ORACLE的区别

基本定义1、如果列别名有大小写之分,并包含特殊字符或空格,那么这样的别名必须用双引号引住;2、日期数据的默认显示格式为“DD-MON-YY”,如果希望使用其他格式显示,那么必须调用TO_CHAR函数进行转换。

例:select ename,TO_CHAR(hiredate,’yyyy-mm--dd’) from emp3、使用算术表达式当执行查询操作时,可以在数字列上使用算术表达式,其中乘、除的优先级要高于加减。

如要改变优先级,可以使用括号;4、NVL函数用于将NULL转变为实际值,语法为NVL(表达式1,表达式2),如果表达式1为NULL,则返回表达式2,;如果表达式1不是NULL,则返回表达式1.参数表达式1,表达式2可以是任意数据类型,但二者的数据类型必须要匹配。

例:select ename,sal,comm,sal+nvl(comm,0) from emp;5、在where条件中使用数字值当在where条件中使用数字值时,既可以使用单引号引住数字值,也可以直接引用数字值。

6、在where条件中使用日期值必须要用单引号引住,并且日期值必须要符合日期显示格式。

如果日期值不符合默认日期格式,那么必须使用TO_DATE函数进行转换;7、在where条件中使用between…..and操作符用于指定特定范围条件,在between操作符后指定较小的一个值,在and操作符后指定较大的一个值;例:select * from emp where sal between 100 and 1000;8、在where条件中使用in操作符用于执行列表匹配操作。

当列或表达式结果匹配于列表中的任一个值时,条件字句返回true。

例:select * from emp where sal in(100,200);9、使用order by字句在执行查询操作时,默认情况下会按照数据插入的先后顺序来显示数据。

但在实际应用中经常需要对数据进行排序,以显示更直观的数据。

Oracle与Sql存储过程的区别

Oracle与Sql存储过程的区别

Oracle常用工具OEM数据库控制工具(http://localhost:port/em)使用SYS登录,连接身份为SYSDBA数据库的维护和设置SQLPlusiSQL*Plus服务端启动了iSQL*Plus服务后,客户端可以通过浏览器访问http://localhost:5560/isqlplusOracle SQL Developer与PL/SQL DeveloperPL/SQL Developer常用oracle开发工具,需要安装oracle客户端,也有不安装客户端使用的方法,不过需要其他设置Oracle SQL Developer,功能与PLSQL类似,可以不用装oracle客户端,并且基于JAVA开发,支持多平台操作ORACLE命令(与SQL不同) (注意:Oracle字符串区分大小写)•desc(describe) tablename显示表结构•to_char(colname,’yyyy-mm-dd’)转换日期格式•NVL(colname,值) NVL2(expr1,expr2,expr3)NULL值处理NVL2 当expr1为null时,返回expr3的值,否则返回expr2的值•||连接字符串例: select ename||’****’||job from emp•like%: 表示0个或多个字符_: 表示单个字符•别名排序,列位置排序(与SQL相同)order by 1◆SQL里可以查看SQL对应其他数据库的数据类型转换规则SELECT* FROM msdb.dbo.MSdatatype_mappings看SQL转Oracle的类型对应SELECT* FROM msdb.dbo.sysdatatypemappings更详细得显示了各个数据库系统的类型对应◆SQL*Plus 部分命令1.& 引用替代变量数字列直接引用,字符类型或者日期类型需要加单引号&no2.&& 引用替代变量当前SQL*Plus都起作用&&no3.DEFINE 定义CHAR类型的替代变量define word = CLERK4.ACCEPT 定义CHAR,NUMBER,DA TE类型的替代变量,比DEFINE更灵活,可以通过prompt来指定输入的提示信息ACCEPT work prompt ‘请输入:’5.CONN 连接Conn scott/&pwd6.PROMPT/PAUSE 信息定义和暂停7.UNDEFINE 清除替代变量的定义8.V ARIABLE 定义绑定变量,引用绑定变量时,必须前加冒号(:),直接给绑定变量赋值时,需要使用EXEC命令Var no numberExec :no:=77889.PRINT 输出绑定变量的值10.ROLLUP GROUP BY时可以产生横向小计和总计CUBE GROUP BY时可以产生横向小计,纵向小计和总计GROUPING 确定统计结果是否用到了特定列,返回0表示使用了该列GROUPING SETS 合并多个分组的统计结果Oracle中如何实现SQL的自增长方法: 通过使用序列和触发器实现.序列实现自动+1,触发器实现自动执行.序列语法:CREATE SEQUENCE INNERIDMINV ALUE 1MAXV ALUE 99999999999999START WITH 1INCREMENT BY 1CACHE 20ORDER;CREATE SEQUENCE 序列名[INCREMENT BY n] ---用于定义序列的步长。

Oracle与SQLServer的SQL语法差异总结

Oracle与SQLServer的SQL语法差异总结
Oracle与SQL Server应用差异对比分析
项目
Oracle 10g
SQLServer 2008
备注
存储过程格式
CREATEORREPLACEPROCEDURE存储过程名(参数列表) IS
Begin
---存储过程内容
End存储过程名;
CREATEPROCEDURE存储过程名(参数列表) AS
--存储过程内容
From person
2、流控制语句
流控制与表达式结构很相似,只是结果表达式换成语句块
Case表达式when匹配表达式then {语句块1} else {语句块2} end case;
Eg:
case v_name
when‘张三’then
v_number := 1;
when‘李四’then
v_number:=2;
Eg:
Set @result =‘abcd’
2、通过SQL语句赋值
Select变量=表达式from表
Eg:
Select @code=code,@name=name from sysc01 where id = 1000
语句结束符
SQL语句使用分号;作为语句的结束
SQL语句不需要加分号;作为结束符(加也可)
3、动态存储过程(带入、出参)
Eg:
DECLARE@resultVARCHAR(50);
DECLARE@sqlNVARCHAR(1000);
DECLARE@paraNVARCHAR(200);
SET@sql='p_test @code,@name,@result output'
SET@para='@code varchar(10),@name varchar(10),@result varchar(50) output'

SQL Server 和 Oracle 以及 MySQL 有哪些区别

SQL Server 和 Oracle 以及 MySQL 有哪些区别

孙文亮,笔下虽有千言,胸中实无一策糊涂、紫冰焰、张小枭Damon等人赞同SQL,在这里我理解成SQL Server。

三者是目前市场占有率最高(依安装量而非收入)的关系数据库,而且很有代表性。

排行第四的DB2(属IBM公司),与Oracle的定位和架构非常相似,就不赘述了。

第一,如果要说明三者的区别,首先就要从历史入手。

1.Oracle:中文译作甲骨文,这是一家传奇的公司,有一个传奇的大老板Larry Ellision。

Ellision 32岁还一事无成,读了三个大学,没得到一个学位文凭,换了十几家公司,老婆也离他而去。

开始创业时只有1200美元,却使得Oracle公司连续12年销售额每年翻一番。

Oracle成立于1977年,早期的理论基础,反而来自于一篇IBM的论文《A Relational Model of Data for Large Shared Data Banks》【1】。

作者CODD选取了关系代数的五种运算,并基于运算,架构了一种新型的数据存储模型。

基于这种模型,Oracle成为了一个非常典型的关系数据库。

因此也变的严谨、安全、高速、稳定,并且变的越来越庞大。

由于其诞生早、结构严谨、高可用、高性能等特点,使其在传统数据库应用中大杀四方,金融、通信、能源、运输、零售、制造等各个行业的大型公司基本都是用了Oracle,早些年的时候,世界500强几乎100%都是Oracle的用户。

2.MySQL :MySQL的最初的核心思想,主要是开源、简便易用。

其开发可追溯至1985年,而第一个内部发行版本诞生,已经是1995年。

到1998年,MySQL已经可以支持10中操作系统了,其中就包括win平台。

但依然问题多多,如不支持事务操作、子查询 、外键、存储过程和视图等功能。

下图是一个截止至2006年的数据库市场占有率【2】:图中可以看出,MySQL的爆发实际是在01、02年,尤其是02年发布的4.0 Beta版,正式选定InnoDB作为默认引擎,对事务处理能力及数据缓存能力有了极大的提高。

ORACLE与SQL脚本区别

ORACLE与SQL脚本区别

ORACLE与SQL脚本区别1、在SQL中,SQL参数前面用@,Oracle参数前面使用:。

23、在Sql中,多个sql语句之间不需要使用符号分开,在Oracle中,语句之间需要用;分开,前面需要加begin 后面需要加end;(如:begin 语句1; 语句2;end;)4、自增长字段处理.在Sql中有自增长字段,在Oracel中没有自增长字段,我们需要建立一个序列(Sequence),命名方式:sq_+对应当数据表名(如:sq_DBMail_AllMails)。

使用比较:Sql中:INSERT INTO DBMail_AllMails(MailGuid,FromUserGuid,FromDispName,ToUserGuidList,ToUserDispNameLi st,Subject,MailContent,OwnerUserGuid,SendTime,mailTypeName,mailTypeId,deleteFlag,Has Attach,Importance,BoxTypeGuid,OutMailGuid)VALUES(@MailGuid,@FromUserGuid,@FromDispName,@ToUserGuidList,@ToUserDispNam eList,@Subject,@MailContent,@OwnerUserGuid,@SendTime,@mailTypeName,@mailTypeI d,@deleteFlag,@HasAttach,@Importance,@BoxTypeGuid,@OutMailGuid)Oracle中:INSERT INTO DBMail_AllMails(Row_ID,MailGuid,FromUserGuid,FromDispName,ToUserGuidList,ToUserDis pNameList,Subject,MailContent,OwnerUserGuid,SendTime,mailTypeName,mailTypeId,delete Flag,HasAttach,Importance,BoxTypeGuid,OutMailGuid)VALUES(sq_DBMail_AllMails.nextval,:MailGuid,:FromUserGuid,:FromDispName,:ToUserGuid List,:ToUserDispNameList,:Subject,:MailContent,:OwnerUserGuid,:SendTime,:mailTypeName, :mailTypeId,:deleteFlag,:HasAttach,:Importance,:BoxTypeGuid,:OutMailGuid)。

Oracle和SQLServer的主要区别

Oracle和SQLServer的主要区别

ORACLE提供了7种备份机制,具有联机备份功能 Oracle的日志默认有3个,先写入1号日志,满了后再写入2号日志,2号满了再写 入3号日志,3号满了后Oracle将自动备分1号日志的内容,然后清空后写入新的 日志信息,且Oracle的日志有多路复用功能,我们可以为日志创建多个镜像,把 相同的日志信息同时写入多个日志文件中,这样可以防止磁盘损坏造成的数据丢
SQL Server可用涵数比比较少,而且名称、调用语法跟Oracle差别比较大。 SQL Server的初如花费比较少,而且Microsoft提供免费的SQL Server工具软 件。因此价格会比Oracle低很多。 SQL Server提供全图形界面操作,很少见到DOS窗口。它的企业管理器给用户 提供一个全图形界面的集成管理控制台来集中管理多个服务器,使用比较方 便,安装也比较简单。 Sql server 只是关系型数据库管理系统(RDBMS) Ms Sql Server的扩展叫Transact-SQL,主要的结构化查询工具就是自带的查 询分析器
SQL中的错误机制比较复杂,没有提供错误描述。
SQL只能是本机备份本机的数据库,无法联机备份,而且备份压缩很低,占用 了大量空间 SQL Server对每个数据库只能分配一个日志文件。且当日志填满后,日志将停 止工作,等待人工干预,而无法自动重用。
1.SQL Server中的数据类型比较简单,只有一些简单的基本数据类型,无法提 供事务操作。 2.SQL Server包含的数据类型比较少,无法定义结构体,数组,对象。 3.SQL Server无法定义流程机制,类型转换也极不方便,SQL Server中对游标 定义十分复杂,且当用户定义的多个游标同时打开时系统却只有一个游标变 量,这是SQL SERVER中一个严重的缺陷。 4.SQL Server在保存大文件时,是一次将整个大文件写入内存,然后在一次性 存到数据库里面,很容易引起内存溢出。

ORACLE和SQL语法区别归纳

ORACLE和SQL语法区别归纳

ORACLE和SQL语法区别归纳数据类型比较类型名称OracleSQLServer比较字符数据类型 CHAR CHAR 都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb变长字符数据类型 VARCHAR2 VARCHAR Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb根据字符集而定的固定长度字符串 NCHAR NCHAR 前者最大长度2kb后者最大长度4kb根据字符集而定的可变长度字符串 NVARCHAR2 NVARCHAR 二者最大长度都为4kb日期和时间数据类型 DATE 有Datetime和Smalldatetime两种在oracle里面格式为DMY在SQLSerser里面可以调节,默认的为MDY数字类型 NUMBER(P,S) NUMERIC[P(,S)] Oracle里面p代表小数点左面的位数,s代表小数点右面的位数。

而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。

数字类型 DECIMAL(P,S) DECIMAL[P(,S)] Oracle里面p代表小数点左面的位数,s代表小数点右面的位数。

而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。

整数类型 INTEGER INT 同为整数类型,存储大小都为4个字节浮点数类型 FLOAT FLOAT实数类型 REAL REALORACLE内部函数大全以及与SQLSERVER的区别:下面是Oracle支持的字符函数和它们的Microsoft SQL Server等价函数。

函数Oracle Microsoft SQL Server把字符转换为ASCII :ASCII ASCII字串连接: CONCAT --------------(expression + expression)把ASCII转换为字符CHR, CHAR返回字符串中的开始字符(左起)INSTR ,---------------CHARINDEX把字符转换为小写LOWER ---------------------LOWER把字符转换为大写UPPER-------------------- UPPER填充字符串的左边LPAD --------------------N/A清除开始的空白LTRIM--------------------LTRIM清除尾部的空白RTRIM --------------------RTRIM字符串中的起始模式(pattern)INSTR --------------------PATINDEX多次重复字符串RPAD --------------------REPLICATE字符串的语音表示SOUNDEX --------------------SOUNDEX重复空格的字串RPAD --------------------SPACE从数字数据转换为字符数据TO_CHAR --------------------STR子串SUBSTR --------------------SUBSTRING替换字符REPLACE --------------------STUFF将字串中的每个词首字母大写INITCAP --------------------N/A翻译字符串TRANSLATE --------------------N/A字符串长度LENGTH-------------------- DATELENGTH or LEN列表中最大的字符串GREATEST-------------------- N/A列表中最小的字符串LEAST --------------------N/A如果为NULL则转换字串NVL-------------------- ISNULL日期函数下面是Oracle支持的日期函数和它们的Microsoft SQL Server等价函数。

SQLSERVER与ORACLE的区别

SQLSERVER与ORACLE的区别

SQL server与Oracle开发比较本文档主要从oracle与sql server语法上进行差异性比较,诸如两者在管理,性能,优化等方面的差异不作比较。

●概念上区别1.Oracle是一种对象关系数据库管理系统(ORDBMS),而Sql server只是关系型数据库管理系统(RDBMS).2.Oracle使用Internet文件系统,该系统基于Java的应用程序,可以使数据库基于成为Internet的开发平台;Sql server是基于windows3.Orace主要的三类文件是:数据文件,控制文件,恢复日志文件Sql server:主要数据文件(必须有且只能有一个),次要数据文件以及日志文件4.两者支持的命令类别差不多,数据定义语言,数据操纵语言,事务处理控制语言,数据控制语言.在Oracle中,在事务控制语言中除了commit,rollback等还多了一个Savepoint,设置保存点。

5.oracle sql的扩展叫PL/SQL,主要的结构化查询工具有sql*plus,isql*plus,pl/sql等Ms sql的扩展叫Transact-SQL,主要的结构化查询工具就是自带的查询分析器6.主要数据类型Orace:主要支持char,varchar2,long,number,datetime,raw,long raw,clob,blob,bfie前面三个是Character数据类型,varchar2支持可变长度的字符串,long支持可变长度的字符数据,raw,long raw用于存储二进制数据,long raw可变长度最后三个是大对象(lob)数据类型,存储非结构化的信息,例如声音剪辑,视频文件CLOG表示Character Lob,可以存储大量的字符数据,它对于存储非结构化的XML文档非常有用。

BLOG表示Binary LOG,此数据类型可以存储大型二进制对象,如图形、视频剪辑,声音文件等支不支持,money,货币Sql server主要支持的文本类型char,varchar,nchar,nvarchar,text,ntext,image,货币类型Money,二进制binary,varbinary等等●开发语法A.SQL语法两者的SQL语法基本上是相同的,只是一些细节方面的问题一:表的管理:修改表的结构,如增加,删除列,創建表修改表1.修改表的列的數據類型,大小的定義不同,如下面修改數據類型。

ORACLE与SQL语言

ORACLE与SQL语言

Oracle数据库与SQL语言§1 Oracle数据库Oracle是殷墟(yīn Xu)出土的甲骨文(oraclebone inscriptions)的英文翻译的第一个单词,在英语里是“神谕”的意思。

Oracle公司是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。

本课所指的Oracle,是指Oracle公司的数据库管理系统(DBMS),服务器上安装的版本为10g。

Oracle是一个多用户数据库系统,使用“用户”和“权限”两个基本概念来建立访问控制结构§1.1 ORACLE的体系结构■Oracle实例实际上是数据库启动后在内存中的部分,数据库是对应的磁盘上的物理文件。

用户和数据库打交道实际上是通过实例来完成的。

■逻辑存储结构:Oracle在逻辑上将数据划分为一个个小单元来进行管理,这些逻辑单元包括块(Data Block)、区(Extent)、段(Segment)和表空间(Tablespace)■一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。

用户和表空间没有隶属关系,表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。

§1.2 SQL*Plus工具1.简介SQL*Plus是一个交互式和批处理查询工具,它和Oracle 数据库一起安装。

该工具具有命令用户界面、Windows图形用户界面以及基于Web的用户界面iSQL*Plus(Oracle 10g新增)。

SQL*Plus有自己的命令和允许环境,使用它们可以实现对数据库的访问。

可以输入SQL、PL/SQL、SQL*Plus或操作系统命令来完成如下的工作:(1)格式化、执行计算、打印结果;(2)检查表和数据对象的定义;(3)开发和运行批处理脚本;(4)执行数据库管理。

2.输入SQL语句一条语句可以用一行或多行输入,三种方法结束一条语句:(1)用分号结束:结束SQL语句输入,并执行该语句;(2)用处于单独一行的符号“/”:结束SQL语句输入,并执行该语句;(3)用一个空行:结束SQL语句输入,但不执行。

SQL server和oracle这两个数据库有什么区别?

SQL server和oracle这两个数据库有什么区别?

SQL server和oracle这两个数据库有什么区别?首先这两个都是关系型数据库,都数据经常使用的数据库。

Oracle是排名第一的,从使用广度和并发性性能方面,SQL server排名第三。

它们的区别:1.应用平台的角度:Oracle可以运行在任何平台,像Window,Linux,MarOS 上。

SQL server主流的支持平台是Windows,因为它背后的靠山就是Microsoft.从2017版开始,SQL server也开始跨平台,你可以下载它的Docker版本,就可以运行在Linux和MarOS上。

2.从优化的角度:比如查询优化,Orcale支持*的查询优化,SQL server是没有这个操作的。

从更新的角度,Orcale更新一个字段后需要执行commit提交以后才能更新,而SQL server 不需要commit,它的值已经改变了。

从回滚的角度,Orcale 可以在事务执行中支持回滚,而SQL server不允许,只有事务执行完了,发生失败或发生意外,才执行rollback这个功能。

另外就是Schema的区别,Orcale中一个instance有多个Schema,对于Orcale来说,Schema相当于数据库的概念,对于SQL server来说,一个数据库中可以有多个Schema,所以这个Schema相当于table的概念。

3.从备份的角度说,Orcale支持差分备份,而SQL server不支持,像增量级的,完整的文件级的备份这两个数据库都是支持的。

4.从触发器的角度说,Orcale支持前触发器和后触发器,SQL server只支持后触发器。

最后就是从付费的角度考虑,两者都有开源的版本,可供下载使用。

以上就是两者的区别,希望对你有所帮助。

sql与oracle的区别

sql与oracle的区别

001、SQL与ORACLE的内存分配ORACLE的内存分配大部分是由INIT.ORA来决定的,一个数据库实例可以有N种分配方案,不同的应用(OLTP、OLAP)它的配置是有侧重的。

SQL概括起来说,只有两种内存分配方式:动态内存分配与静态内存分配,动态内存分配充许SQL自己调整需要的内存,静态内存分配限制了SQL对内存的使用。

002、SQL与ORACLE的物理结构总得讲,它们的物理结构很相似,SQL的数据库相当于ORACLE的模式(方案),SQL的文件组相当于ORACLE的表空间,作用都是均衡DISK I/O,SQL创建表时,可以指定表在不同的文件组,ORACLE则可以指定不同的表空间。

CREATE TABLE A001(ID DECIMAL(8,0)) ON [文件组]--------------------------------------------------------------------------------------------CREATE TABLE A001(ID NUMBER(8,0)) TABLESPACE 表空间注:以后所有示例,先SQL,后ORACLE003、SQL与ORACLE的日志模式SQL对日志的控制有三种恢复模型:SIMPLE、FULL、BULK-LOGGED;ORACLE对日志的控制有二种模式: NOARCHIVELOG、ARCHIVELOG。

SQL的SIMPLE相当于ORACLE 的NOARCHIVELOG,FULL相当于 ARCHIVELOG,BULK-LOGGED相当于ORACLE大批量数据装载时的NOLOGGING。

经常有网友抱怨SQL的日志庞大无比且没法处理,最简单的办法就是先切换到SIMPLE模式,收缩数据库后再切换到FULL,记住切换到FULL 之后要马上做完全备份。

004、SQL与ORACLE的备份类型SQL的备份类型分的极杂:完全备份、增量备份、日志备份、文件或文件组备份;ORACLE 的备份类型就清淅多啦:物理备份、逻辑备份;ORACLE的逻辑备份(EXP)相当于SQL 的完全备份与增量备份,ORACLE的物理备份相当于SQL的文件与文件组备份。

SQL Server数据库与Oracle数据库的区别

SQL Server数据库与Oracle数据库的区别

SQL Server数据库与Oracle数据库的区别在数据库领域,SQL Server和Oracle是两个主要的关系型数据库管理系统(RDBMS),它们在很多方面有着明显的区别。

1. 历史背景和公司背景:SQL Server是由Microsoft开发和维护的产品,而Oracle是由Oracle Corporation开发和维护的产品。

这也导致了两者在功能、兼容性和市场份额等方面有所不同。

2. 操作系统支持:SQL Server主要支持Windows操作系统,而Oracle则支持多个操作系统,包括Windows、Linux、UNIX等。

3. 数据库大小和性能:SQL Server适合小型和中型数据库应用,而Oracle适用于大型和复杂的数据库应用。

Oracle在大型数据库的处理能力、并发性和扩展性方面表现较好。

4. 数据处理和查询:SQL Server在数据处理和查询方面有较高的性能和效率,尤其是在大量并发读取和写入的情况下。

Oracle则提供更多的高级查询功能,如复杂的子查询、视图、分区表等。

5. 数据安全和备份:SQL Server和Oracle都提供了各自的数据安全特性,例如权限管理、数据加密等。

然而,Oracle在备份和恢复方面具有更强大和灵活的功能。

6. 成本和授权:SQL Server在许可授权和采购成本方面相对较低,尤其适合中小型企业。

而Oracle则在授权和采购成本方面较高,适用于大型企业和对安全性和性能要求较高的项目。

需要注意的是,这只是SQL Server和Oracle的一些主要区别,实际应用中还需要根据具体需求、项目规模和预算来选择适合的数据库系统。

无论选择哪个数据库系统,都需要根据实际需要进行综合评估,并考虑到数据库性能、可扩展性、安全性、可维护性和成本等因素。

Oracle_vs_SQL Server

Oracle_vs_SQL Server

Oracle与SQL Server选型时不得不说的三个小差异甲骨文与微软两大数据库产品,是数据库发展史上的两座大山。

这让我们在数据库选型的时候,基本上没有多大的选择余地,不是微软就是甲骨文。

但是,从他们两者来说,还是有比较大的差异。

今天笔者就谈谈在数据库选型的时候,不得不关注的他们之间的三个小差异。

了解这些区别,能够给我们数据库选型带来很大的指导作用。

一、所支持平台的差异。

甲骨文的数据库系统,是在JA V A平台上开发起来的,所以,保持着众多JA V A程序的特性。

如有很多功能都需要利用命令来完成;如一些辅助工具也都是类似DOS窗口的命令行形式的窗口,等等。

而基于JA V A平台开发的数据库版本,也继承了JA V A 的一个很重要的性能,就是跨平台性能。

甲骨文的Oracle数据库可以在现有的大部分操作系统上顺利运行,如无论是开源的Linux系统还是微软的服务器系统,又或是苹果操作系统等等,都可以跑Oracle数据库系统。

而微软的SQL Server数据库系统,其只能够在微软的操作系统上运行,这除了技术上的因素之外,可能也是微软捆绑销售以及垄断的商业策略的体现吧。

但是,从各个方面考虑,数据库能够支持多个平台的特性,已经越来越重要。

一是从服务器稳定的角度考虑。

到现在为止,开源的UNIX还是首选的服务器操作系统。

UNIX服务器操作系统的稳定性是有目共睹的;而微软的服务器软件漏洞之多、稳定性之差也是大家感同身受的。

相比之下,在一些稳定性要求比较高的应用上来说,大家更加喜欢使用UNIX(或者其分支LINUX)作为服务器软件。

虽然,其在维护成本上可能会高于微软的服务器操作系统。

既然在服务器操作系统上有多个平台可以选择,那么无论是企业还是软件公司,在数据库选型上,也必须要考虑这个趋势。

若商业软件公司,他们开发的软件只支持微软的数据库,而不支持甲骨文的数据库的话,则他们开发的软件,就只能够在微软的操作系统平台上应用,而不能在如LINUX的平台下应用,这必将失去很大的一部分市场。

sql、oracle、db2等数据库相关知识

sql、oracle、db2等数据库相关知识

SQL、Oracle、DB2等数据库相关知识近年来,数据库技术在信息化建设中发挥着越来越重要的作用,而SQL、Oracle、DB2等数据库成为了企业中最常用的数据库管理系统。

本文将对这些数据库相关的知识进行系统全面的介绍,包括概念、特点、应用场景等内容,希望能够为读者提供一些参考和借鉴。

一、SQL数据库1. 概念:SQL(Structured Query Language,结构化查询语言)是一种特定目的的编程语言,用于管理关系数据库管理系统(RDBMS)。

它允许用户在数据库中的表中存储、操作和检索数据。

2. 特点:SQL数据库具有数据结构化、数据完整性、数据安全性、数据独立性的特点。

SQL语句简单易学,使用广泛。

3. 应用场景:SQL数据库广泛用于企业的数据管理、数据分析、业务系统等方面,如MySQL、PostgreSQL、SQLite等。

二、Oracle数据库1. 概念:Oracle数据库是由Oracle公司开发的关系数据库管理系统,它提供了强大的数据管理和处理能力,被广泛应用于各行各业的信息化系统中。

2. 特点:Oracle数据库具有高性能、高可靠性、高安全性、高可扩展性的特点。

它支持大型复杂的企业级应用系统,是大型企业首选的数据库管理系统之一。

3. 应用场景:Oracle数据库适用于大型企业级数据处理和管理,尤其是金融、电信、制造业等领域的大型信息系统。

三、DB2数据库1. 概念:DB2数据库是IBM公司开发的关系数据库管理系统,具有强大的数据处理和管理能力,包括数据存储、数据检索、数据处理等功能。

2. 特点:DB2数据库具有高性能、高可靠性、高安全性、跨评台性的特点。

它可以在多种操作系统上运行,并支持大规模、高并发的数据处理需求。

3. 应用场景:DB2数据库广泛应用于企业的数据中心、业务系统、大数据分析等领域,尤其是那些对数据安全性和稳定性要求较高的行业和领域。

SQL、Oracle、DB2等数据库在企业信息化建设中发挥着不可替代的重要作用,它们各自具有特定的特点和优势,适用于不同规模和领域的企业需求。

SQL与ORACLE数据库得区别

SQL与ORACLE数据库得区别

随着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且在质量上也要求越来越高。

操作系统的稳定对数据库来说是十分紧要的,在数据库可操作平台上,Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。

客户可以利用很多种第三方应用程序、工具。

对开发商来说是很大的支持。

而SQL Server却只能在Windows上运行了,这个就显得比较单调了,但SQL Sever 在Window平台上的表现,和Windows操作系统的整体结合程度,使用方便性,和Microsoft 开发平台的整合性都比Oracle强的很多。

但Windows操作系统的稳定性及可靠性大家是有目共睹的,再说Microsoft公司的策略目标是将客户都锁定到Windows平台的环境当中,只有随着Windows性能的改善,SQL Server才能进一步提高。

从操作平台这点上Oracle是完全优胜于SQL Server的了。

从资料上可以看到,Oracle的安全认证获得最高认证级别的ISO标准认证,而SQL Server并没有获得什么安全认证。

这方面证明了Oracle的安全性是高于SQL Server的。

购买一个产品,首先考虑的当然是产品的性能了,当考虑性能的同时当然少不了究竟要花多少钱在这产品也是个很关键的问题。

要建立并运行一个数据库系统。

不仅仅包含最初购置软件、硬件的费用,还包含了培训及以后维护的费用。

Orcale数据库的价格是远比SQL Server数据库要高,为什么Oracle数据库比SQL Server数据库价格上要高出那么多,一方面Oracle的初始花费相对较高,特别是在考虑工具软件的时候,Oracle很多工具软件需要另外购买,与Microsoft提供免费的SQL Server工具软件相比,Oracle更显价格的不菲。

但由于SQL Server只能在Windows下运行的原因,普遍认为SQL Server数据库的可靠性是比较差的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle与sql区别
一,字串连接
Oracle使用两个竖线符号(||)来作为字串连接操作符,而SQL Server则使用加号(+)。

二,模式匹配
SQL Server的LIKE关键字提供了有用的通配符搜索功能,这个功能在Oracle中不支持
除了所有的RDBMS都支持的(%)和(_)通配符以外,SQL Server还支持([])和([^])通配符。

([])字符用来查询在一个范围内的所有单个字符。

例如,如果你需要查询包含一个从a到f的字符的数据,
三,性能
SQL多用户时性能不佳,Oracle在所有的数据库中性能最高,在多用户性能也
很强大,执行查询速度也非常快,
四,游标的区别
Oracle在使用SELECT语句时总是需要游标,不管从数据库中请求多少行。

在Microsoft SQL Server,SELECT语句并不把在返回客户的行上附加游标作为缺省的结果集合。

这是一种返回数据给客户应用程序的有效的方法。

SQL Server为游标函数提供了两种接口。

当在Transact-SQL批处理或者存储过程中使用游标的时候,SQL语句可用来声明、
打开、和从游标中抽取,就像定位更新和删除一样。

当使用来自DB-Library、ODBC、或者OLEDB程序的游标时,SQL Server,显式的调用内建的服务器函数来更有效的处理游标。

当从Oracle输入一个PL/SQL过程时,首先判断是否需要在Transact-SQL中采用游标来实现同样的功能。

如果游标仅仅返回,组行给客户程序,就使用非游标的
SELECT语句来返回缺省的结果集合。

如果游标用来从行中一次取得一个数据给本地过程变量,你就必须在Transact-SQL中使用游标。

五,语句块
Oracle PL/SQL和Microsoft SQL Server Transact-SQL都支持用BEGIN…END术语来标记语句块。

Transact-SQL不需要在DECLARE语句后使用一个语句块。

如果在Microsoft SQL Server中的IF语句和WHILE循环中有多于一个语句被执行,则需要使用BEGIN…END语句块。

六,赋值方式及定义变量
在oracle中给变量赋值可以是:=,而在sql中只能是=,在sql中定义变量是都需要在变量前面加上@,而在oracle中则不需要,在sql中给变量赋值的两种方式中,赋定值是需要在前面加上set,赋动态值时则需要使用select,而在oracle中赋定值不需要在前面加上set,给动态变量赋值则是select值into变量。

七,语法的区别
在sql中循环语句就只有while而在sql中除了有while外,则还有for,而在使用if条件的用法上也有区别,在sql中if的语法跟在c#语言中的语法很接近,而在oracle中if的语法则跟vb语言的语法很接近。

八,表分区
在sql中不支持表分区,而在oracle中则支持表分区。

九,锁
在sql中没有提出锁的问题,而在oracle中则有明显的解释及用法,在sql中当我们做更新,插入及删除时不需要我们来提交,系统会自动帮我们提交,而在oracle 中也需要我们自己来提交。

十,安全性
在安全性方面oracle支持多种授权方式,可以对表设置多种权限,而sql则不支持这样的功能。

十一,建库的区别
在sql中想创建数据库的语法是create database数据库名字,而在oracle中则没有database,而有tablespace,就是在oracle中tablespace相当于sql中的database。

十一,实例管理
Oracle的实例一次只能管理一个数据库,数据库在集群环境下可由多个实例管理。

而SQL Server单个实例一次能管理多个数据库。

Oracle数据库存储方式有OS文件、裸分区、ASM等,SQL Server的数据库存储只能是系统文件。

十二,会话方式
Oracle为客户端开启会话有两种方式:共享服务和专用服务。

在专用服务情况下,监听器为连接请求创建新进程(Unix环境下是Process,Windows下我想应该是Thread 吧);共享服务情况下,监听器将客户请求交给Dispatcher,由Dispatcher安排多客户的作业。

SQL Server在默认情况下自动为客户端连接创建线程,当有非常多的客户连接时,SQL Server可以使用线程池管理多会话,这类似于Oracle的共享服务。

十三,数据库类型
Sql是一种关系型数据库,而oracle则既是一种关系型数据库,也是一种面向对象的数据库。

十四,同义词:
SQL中使用的是别名,没有专用的名词--同义词,在SQL中可以给语句创建别名,或者给表、视图创建别名等等。

但当用别名给表删除数据的时候,可以删除表中的数据。

create or replace view v_sel as a;而Orcale中使用同义词,就相当于给表、视图、序列、存储过程与函数、包、实体化视图或其他同义词创建的别名。

但删除同义词的时候,不能删除表里面的数据。

create or replace synonym non_ss for shopping;。

相关文档
最新文档