`

【知识积累】MySQL与Oracle 基本sql语句的差异(一)

阅读更多

mysql与oracle在一些基本的sql中存在差异

表结构如下

create table test(
    id int,
    name varchar(10),
    subject varchar(10),
    score varchar(10),
    primary key( id )
);

1:获取值的差异。

在MySQL可以使用如下查询

select 1 , '张三' , '语文' , '89' 

查询结果如下

而对于oracle不支持该语法。

如果oracle要查询则使用一下语法

select 1 , '张三' , '语文' , '89' from dual

2:插入多条数据的差异

在MySQL中可以使用insert语句将多条记录一起插入
例如

insert into test values( 1 , '张三' , '语文' , '89'),( 2 , '李四' , '数学' , '90'),( 3 , '张三' , '数学' , '78'),( 4 , '李四' , '语文' , '75')

 mysql还可以使用该种方式插入

insert into test
select 1 , '张三' , '语文' , '89'
union
select 2 , '李四' , '数学' , '90'
union
select 3 , '张三' , '数学' , '78'
union
select 4 , '李四' , '语文' , '75'

对于Oracle来说没有该语法结构,那么该怎么处理只能使用select与union 或者union all组合插入,也可以使用insert一条一条插入

insert into test (
select 1 , '张三' , '语文' , '89' from dual
union
select 2 , '李四' , '数学' , '90' from dual
union
select 3 , '张三' , '数学' , '78' from dual
union
select 4 , '李四' , '语文' , '75' from dual
)

3:as后接中文的差异
MySQL 使用as关键字后接中文除了第一个 as 后接的中文可以不用''引起来,其他的都应使用''引起
Oracle则不应使用''引起来
例如
以下前两个在MySQL中是正确的,而对于Oracle中是错误的,最后一个Oracle中是正确,MySQL中错误

select name as 姓名, score as '分数' from test
select name as '姓名', score as '分数' from test
--
select name as 姓名, score as 分数 from test 

4:group by 的差异
对于MySQL来说,查询中字段可以不存在group by中,Oracle,查询的所有字段都应在group by 中
例如

select id ,name from test group by name

在MySQL中是正确的,但在Oracle中会提示 不是Oracle GROUP BY表达式的错误
在Oracle只能这样查询

select id ,name from test group by name, id

 即查询的字段都应存在group by 中

5:锁差异

Oracle锁加在数据块上,InnoDB锁加在主键索引上,所以InnoDB总是有主键索引,myisam锁加在表上。 

 

  • 大小: 10.2 KB
1
3
分享到:
评论

相关推荐

    Oracle Sql语句转换成Mysql Sql语句

    本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...

    mysql和oracle和sql语句

    例如,MySQL的DML(Data Manipulation Language)语句,如`INSERT`、`UPDATE`和`DELETE`,与标准SQL基本一致,但其DDL(Data Definition Language)如`CREATE TABLE`在某些特性上可能与Oracle或SQL Server有所不同。...

    Oracle数据库sql转换mysql数据库工具

    "Oracle数据库sql转换mysql数据库工具" 提供了解决这一问题的解决方案,允许用户将Oracle数据库中的SQL语句或数据结构转换为MySQL兼容的格式。 在数据库迁移过程中,这样的工具至关重要,因为它可以简化工作流程,...

    Mysql的表对象Sql语句转换单表,转换成Oracle创建表sql

    标题提到的"‘Mysql的表对象Sql语句转换单表,转换成Oracle创建表sql’"是一个处理这种转换的工具或过程。 首先,让我们理解这个过程的一般步骤: 1. **数据迁移需求分析**:在开始转换之前,了解源MySQL表的结构...

    oracle 到mysql转换工具

    Oracle到MySQL转换工具是一款专为数据库迁移设计的实用软件,主要功能是将Oracle数据库中的数据结构和SQL语句转换成MySQL兼容的格式,方便用户在不同的数据库系统间进行数据迁移。这款工具通常适用于那些需要从...

    ORACLE数据库SQL语句美化器

    对ORACLE-SQL进行一些布局优化,更新它的格式

    excel自动生成MySQL与oracle创建表语句

    支持Mysql与oracle自动在excel中生成创建sql语句,非常强大,如果想使用sqlserver看我上一资源

    Mysql转oracle工具

    MySQL到Oracle转换是一个常见的任务,特别是在企业级应用迁移或整合过程中。这个工具专注于将MySQL的数据库结构和数据转换为Oracle数据库兼容的格式。下面将详细解释这个过程涉及的知识点。 1. **SQL语言的差异**:...

    DBHelper数据库操作类(支持OleDb、MySQL、Oracle、SQL、SQLite).zip

    执行带一个存储过程参数的的SQL语句。 向数据库里插入图像格式的字段 执行一条计算查询结果语句,返回查询结果 执行查询语句,返回MySqlDataReader 执行查询语句,返回DataSet 执行SQL语句,返回影响的记录数 执行多...

    excel自动生成创建表sql语句,支持MySql,Oracle,SQLServer三种创建方式,方便管理

    excel自动生成创建表语句,支持MySql,Oracle,SQLServer三种创建方式,自动生成目录文档,方便查看与管理。

    Mysql转Oracle软件 DBMover for Mysql to Oracle

    使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 Dbmover for Mysql to Oracle 可以定时,定周期自动运行。 支持 Oracle 8i 以后...

    oracle到mysql建表语句迁移

    oracle向mysql建表语句的迁移。 直接表结构的生成sql脚本

    oracle与mysql语法不同点总结

    本猿最近做数据库迁移,修改了大量sql语句,对oracle和MySQL语法之间的一些不同之处总结了一些。

    oracle,sqlserver及mysql对比

    Oracle、SQL Server 及 MySQL 的查询语句执行顺序相同:开始->FROM 子句->WHERE 子句->GROUP BY 子句->HAVING 子句->ORDER BY 子句->SELECT 子句->LIMIT 子句。每个子句执行后都会产生一个中间结果,供接下来的子句...

    excel根据宏指令生成MySQL、oracle、sqlserver数据库的SQL语句

    在excel中编写表结构后,可以在首页生成对应数据库脚本,包括MySQL、oracle、sqlserver,然后把该脚本在数据库中运行就可以了,还包括首页生成目录结构,有助于数据库表文档的编写

    mysql虚拟了一个rowid(类似跟oracle的rowid)--SQL语句.sql

    mysql虚拟了一个rowid(类似跟oracle的rowid)--SQL语句

    excel生成MySQL和Oracle和SQLServer语句.xls

    此完档自动生成SQL代码支持mysql/oracle/sqlserver,Excel自动生成mysql及oracle及sqlserver语句。

    sql语句、动态SQL语句基本语法

    在数据库管理系统(如MySQL、Oracle、SQL Server等)中,SQL语句是不可或缺的一部分。 1. SQL基础语法 SQL的基础语法包括SELECT、INSERT、UPDATE、DELETE四大语句,它们分别用于查询、插入、更新和删除数据。 - ...

    Oracle基本sql语句练习.sql

    创建表空间,创建表结构,对于表的增删改查等基本操作,只有基础部分,没有进阶,表结构与MySQL基本一致,只有表空间有所不同

    mysql转化成sql server sql转化成mysql工具

    2. 转换规则应用:根据SQL Server的语法特性,工具会将MySQL的SQL语句转化为相应的SQL Server语法。 3. 数据导出:将MySQL中的数据导出为SQL脚本,或者直接导入到SQL Server中。 4. 验证与调整:迁移后,需要验证...

Global site tag (gtag.js) - Google Analytics