- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Orcle与MySQL的SQL语法区别
Orcle与MySQL的SQL语法区别:
1.在Oracle中用
select * from all_users显示所有的用户,而在MySQL中显示所有数据
库的命令是
show databases
对于我的理解,Oracle项目来说一个项目就应该有一个用户和其对应的
表空间,而MySQL项目中也应该有个用户和一个库,在Oracle db2也一样
中表空间是文件系统中的物理容器的逻辑表示,视图,触发器和存储过
程也可以保存在表空间中。而MySQL并并没有使用表空间来进行管理你。
2.查询当前所有的表
Oracle
select * from tab
MySQL
show tables
3.改变连接用户 库
Oracle
conn 用户名/密码@主机字符串
MySQL
use 库名
4.显示当前连接用户 库
Oracle
show user
MySQL
connect
5.执行外部脚本命令
Oracle
@a.sql
MySQL
source a.sql
Oracle数据库与MySQL数据库的区别是本文我们主要介绍的内容,希望能够对您有所帮助。
1.组函数用法规则
mysql中组函数在select语句中可以随意使用,但在oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错
eg:
select name,count money from user;这个放在mysql中没有问题在oracle中就有问题了。
2.自动增长的数据类型处理
MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。
CREATE SEQUENCE序列号的名称 最好是表名+序列号标记 INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;
其中最大的值按字段的长度来定,如果定义的自动增长的序列号NUMBER 6 ,最大值为999999
INSERT语句插入这个字段值为:序列号的名称.NEXTVAL
3.单引号的处理
MYSQL里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。
4.翻页的SQL语句的处理
MYSQL处理翻页的SQL语句比较简单,用LIMIT开始位置,记录个数;PHP里还可以用SEEK定位到结果集的位置。ORACLE处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置,并且只能用ROWNUM 100,不能用ROWNUM 80。
以下是经过分析后较好的两种ORACLE翻页SQL语句 ID是唯一关键字的字段名 :
语句一:
SELECT ID, [FIELD_NAME,...] FROM TABLE_NAME WHERE ID IN SELECT ID FROM SELECT ROWNUM AS NUMROW, ID FROM TABLE_NAME WHERE 条件1 ORDER BY 条件2 WHERE NUMROW 80 AND NUMROW 100 ORDER BY 条件3;
语句二:
SELECT * FROM SELECT ROWNUM AS NUMROW, c.* from select [FIELD_NAME,...] FROM TABLE_NAME WHERE 条件1 ORDER BY 条件2 c WHERE NUMROW 80 AND NUMROW 100 ORDER BY 条件3;
5.长字符串的处理
长字符串的处理ORACLE也有它特殊的地方。INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字节,如果要插入更长的字符串,请考虑字段用CLOB类型,方法借用ORACLE里自带的DBMS_LOB程序包。插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度字段值都应该提出警告,返回上次操作。
6.日期字段的处理
MYSQL日期字段分DATE和TIME两种,ORACLE日期字段只有DATE,包含年月日时分秒信息,用当前数据库的系统时间为SYSDATE,精确到秒,或者用字符串转换成日期型函数TO_DATE ‘2001-08-01’,’YYYY-MM-DD’ 年-月-日24小时:分钟:秒的格式YYYY-MM-DD HH24:MI:SS TO_DATE 还有很多种日期格式,可以参看ORACLE DOC.日期型字段转换成字符串函数TO_CHAR ‘2001-08-01’,’YYYY-MM-D
文档评论(0)