数据库oracle与mysql在语法上的区别

转自http://blog.csdn.net/huanghm88/article/details/8009048

数据库oracle与mysql在语法上的区别不是很多,但是也有一些。下面是部分参考:

1,oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了。oracle要分页的话,要换成rownum。

2,oracle建表时,没有auto_increment,所有要想让表的一个字段自增,要自己添加序列,插入时,把序列的值,插入进去。

3,oracle有一个dual表,当select后没有表时,加上的。不加会报错的。select 1 这个在mysql不会报错的,oracle下会。select 1 from dual这样的话,oracle就不会报错了。

4,对空值的判断,name != ""这样在mysql下不会报错的,但是oracle下会报错。在oracle下的要换成name is not null

5,oracle下对单引号,双引号要求的很死,一般不准用双引号,用了会报

ERROR at line 1:
ORA-00904: "t": invalid identifier

而mysql要求就没有那么严格了,单引号,双引号都可以。

6,oracle有to_number,to_date这样的转换函数,oracle表字段是number型的,如果你$_POST得到的参数是123456,入库的时候,你还要to_number来强制转换一下,不然后会被当成字符串来处理。而mysql却不会。

7,group_concat这个函数,oracle是没有的,如果要想用自已写方法。

8,mysql的用户权限管理,是放到mysql自动带的一个数据库mysql里面的,而oracle是用户权限是根着表空间走的。

9,group by,在下oracle下用group by的话,group by后面的字段必须在select后面出现,不然会报错的,而mysql却不会。

10,mysql存储引擎有好多,常用的mysiam,innodb等,而创建oracle表的时候,不要这样的,好像只有一个存储引擎。

11,oracle字段无法选择位置,alter table add column before|after,这样会报错的,即使你用sql*plus这样的工具,也没法改字段的位置。

12,oracle的表字段类型也没有mysql多,并且有很多不同,例如:mysql的int,float合成了oracle的number型等。

13,oracle查询时from 表名后面 不能加上as 不然会报错的,select t.username from test as t而在mysql下是可以的。

14,oracle中是没有substring这个函数的,mysql有的。

时间: 2024-10-13 16:50:38

数据库oracle与mysql在语法上的区别的相关文章

Oracle和MySQL在使用上的区别

1.  Oracle是大型数据库而MySQL是中小型数据库,MySQL是开源的而Oracle的价格非常高. 2.  Oracle支持大并发,大访问量. 3.  安装所用的空间差别也是很大,MySQL安装完后用100多M而Oracle有3G左右,而且使用的时候Oracle占用特别大的内存空间和其他机器性能. 4.  在使用上的一些区别: 1).主键:MySQL一般使用自动增长类型,在创建表时,只要指定表的主键为auto increment,插入记录时,不需要再指定该记录的主键值,MySQL将自动增

SQLserver 转换Mysql 一些语法使用的区别

1.存储过程的语法各式eg:DELIMITER $$ CREATE PROCEDURE test_p_add9( p_name VARCHAR(100), p_test VARCHAR(100), p_age INT, OUT o_newid INT) BEGIN INSERT INTO table_test (f_name,f_test,f_age,f_date) VALUES (p_name,p_test,p_age,NOW()); SET o_newid=LAST_INSERT_ID();

各种数据库(oracle、mysql、sqlserver等)在Spring中数据源的配置和JDBC驱动包

在开发基于数据库的应用系统时.须要在项目中进行数据源的配置来为数据 库的操作取得数据库连接. 配置不同数据库的数据源的方法大体上都是同样的.不同的仅仅是不同数据库的JDBC驱动类和连接URL以及对应的数据库username和密 码不同.以下列出8中经常使用的数据库的数据库数据源配置和对应的JDBC驱动包. 1.Spring中数据源配置格式 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSour

[数据库]Oracle和mysql中的分页总结

物理分页 •在sql查询时,从数据库只检索分页需要的数据 •通常不同的数据库有着不同的物理分页语句 •mysql物理分页,采用limit关键字 •例如:检索11-20条 select * from user limit 10,10 ; * 每次只查询10条记录.当点击下一页的时候,查询数据库,查询后10条. * 优点:如果数据量非常大,不会导致内存溢出. * 缺点:每次都与数据库进行交互. * 分页一般采用数据库的sql语句完成分页查询. * MYSQL分页:使用limit关键字. * Orac

oracle与mysql创建表时的区别

oracle创建表时,不支持在建表时同时增加字段注释.故采用以下方式: #创建表CREATE TABLE predict_data as ( id integer NOT NULL, uid varchar2(80), mid varchar2(80), time date , content varchar2(300), constraint predict_data primary key (id) );#字段注释comment on table predict_data is '预测表';

oracle和mysql区别

1.本质的区别.oracle是对象关系数据库管理系统,简称ordbms.mysql是开源关系数据库关系系统,简称rdbms.Oracle是收费的.mysql是开源.免费的. 2.数据库安全性.myql就账号/密码/location等.oracle可以从账号密码,本地账户.指定账户,配置文件,外部身份验证.高级安全验证等. 3.语法不同.oracle被称为pl-sql语言,而且强大的pl-sql工具,具有强大的功能,用于生成报表输出. 4.database不同.mysql没有快照.角色定义.表空间

MySQL 常用语法总结

一.SQL命令 结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表.索引.字段等)的建立和操纵. 1.创建表 表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联.创建表的基本语法如下: create table table_name (column_name data无效 {identity |null|not null}, -) 其中参数table_name和column_name必须满足用户数据库中的识别器(identif

redhat6和centos7在yum应用上的区别

最近在虚拟机上尝试了各种版本安装oracle11数据库,发现在Linux配置上一些区别,在centos7上,yum是自带配置信息的,在安装oracle需要的rpm包时可以直接安装,但是在redhat上需要首先配置yum的相关信息: 1 首先挂载虚拟光驱 创建空文件夹 mkdir /dvd mount /dev/sr0 /dvd/ cd /dvd ls 可以看到Linux安装盘中的信息 2 cd /etc/yum.pepos.d/ ls  会出现 rhel-source.repo vim rhel

数据库迁移之从oracle 到 MySQL

方式一: 手动方式导入导出 手动的方式导入, 就是操作步骤会比较繁琐一些. 对Table 的结构和数据: 1. 使用 SQL Developer 把 oracle 的 table 的schema 和 Data(.sql 和 .xls) 导出 2. 使用 MySQL 的 WorkBench 创建 Table 和导入数据. 这里语法上会稍微有一些不同, 所以需要略微做一些调整. 对于View 来说, 特别是复杂的有子查询的Oracle View 说, 要导入到MySQL 看起来就不是那么容易了. 方