首页 > 数据库 >mysql与oracle语法区别

mysql与oracle语法区别

时间:2023-02-07 15:56:40浏览次数:48  
标签:-% mysql value 语法 Oracle MySQL oracle

1.MySQL的字符串类型是varchar:CODE VARCHAR(40),Oracle中是varchar2:CODE VARCHAR2(40)。
2.MySQL的数值类型是decimal,FLOAT,DOUBLE,Oracle中是NUMBER。
3.MySQL支持在建表时同时增加字段注释:id int NOT NULL COMMENT '主键';oracle不支持在建表时同时增加字段注释:comment on column predict_data.id is '主键'。
4.mysql在建立表的时候,不能使用as,oracle可以。
5.drop table if exists 表名只能在mysql中使用,不能在Oracle中使用,不过drop table 表名在mysql和Oracle中都可以使用。
6.MySQL时间数据格式为TIMESTAMP和DATETIME时,可以用CURRENT_TIMESTAMP,now()作为默认(MySQL5.6以后), MySQL会自动返回记录插入的确切时间。TIMESTAMP是UTC时间戳,与时区相关。DATETIME的存储格式是一个YYYYMMDD HH:MM:SS的整数,与时区无关,DATE数据类型来保存日期。默认的日期格式是yyyy-mm-dd;
oracle中表示时间DATE是最常用的数据类型,存储日期和时间信息,TIMESTAMP是7字节或12字节的定宽日期/时间数据类型,可以包含小数秒,带小数秒的TIMESTAMP在小数点右边最多可以保留9位,可以使用sysdate
7.char(2)这样的定义,在oracle中2代表两个字节,mysql中代表两个字符
8.主键递增操作,oracle使用自增序列,mysql可以使用 auto_increment
9.MySQL非空约束,唯一约束,主键约束,都可以,但是检查约束语法可以执行,但不一定会遵守,可以使用enum枚举。
10. Oracle中的length(str)是获取字符串长度的函数,MySQL 中对应的函数为char_length(str)。
11. Oracle中可通过sys_guid()函数是生成随机序列,MySQL通过UUID()生成随机序列。
12.将时间转换为字符串型时间 MySQL date_format(NOW(),'%Y-%m-%d') 对应Oracle的 Oracle中的 to_char(sysdate, 'YYYY-MM-DD');
   将字符串型时间转换为时间类型 MySQL str_to_date('2019-01-01','%Y-%m-%d') 对应Oracle中的 to_date('2019-01-01', 'YYYY-MM-DD');
   包括时分秒的函数转换:DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s'),str_to_date('2019-01-01','%Y-%m-%d %H:%i:%s') 对应Oracle中的 to_date('2019-01-01', 'YYYY-MM-DD HH:MM:SS')。
13. nvl(tab.columnName, 0):如果tab.columnName值为空,则返回值取0,否则取tab.columnName;对应的MySQL函数为:ifnull(tab.columnName, 0)。
14.nvl2(expr1,expr2,expr3):如果expr1不为null,则返回expr2,否则返回expr3;对应的MySQL函数为:if(expr1,expr2,expr3)。
15.DECODE(value, val1, val2, val3):如果value等于val1,则返回val2,否则返回val3;MySQL可用IF函数表示:if(value=val1, val2, val3);
16.DECODE(value, if1, val1, if2,val2,...,ifn,valn,val):如果value等于if1,则返回val1,如果value等于if2,则返回value2...如果value等于ifn,
    则返回valn,否则返回val;MySQL对于这种判断可以通过case when then else end;l来判断,即:case when value=if1 then val1 when value=if2 then val2,,,when value=ifn then valn else val end;
17.MySQL可识别双引号和单引号,Oracle只能识别单引号
18. Oracle 可用'||'来连接字符串,但MySQL不支持'||'连接,MySQL可通过concat()函数链接字符串。
19.Oracle可通过rownum获取前n条记录,MySQL通过limit来获取前n条记录,在Oracle中rownum作为where条件的一部分,而MySQL中limit不是where条件的一部分。        
20.Oracle左连接,右连接可以使用(+)来实现.  MySQL只能使用left join ,right join等关键字。
21.MySQL的删除语句,必须有from,oracle可以不要。
22.MySQL不支持(start with connect by prior)的这种递归查询,oracle支持:select * from BASE_ORGANIZATION start with id='01472856351469211712' CONNECT by PRIOR PARENT_ID=id;查询id是01472856351469211712的所有父类组织(包含自身)。
23. Oracle 中可用with来构建一个临时表,但MySQL不支持with,对应临时表,MySQL可通过小括号的方式来处理,但构建的临时表必须设置临时表名。
24.mysql的is not null 只包括了(NULL)值数据,不包括空字符串的数据,oracle包括了null值的数据和空字符串数据

标签:-%,mysql,value,语法,Oracle,MySQL,oracle
From: https://www.cnblogs.com/WYT---BLOG/p/17098745.html

相关文章

  • 新手MysQl数据库
    大一下学期学校要学mysql,之前不懂这是什么,经过查询得知这是一种数据库。MySQL是一个​​关系型数据库管理系统​​,由瑞典​​MySQLAB​​​ 公司开发,属于 ​​Oracle​​......
  • MySQL配置参数
    配置参数解释:[client]#设置字符集default-character-set=utf8mb4#设置端口号port=3306#设置socket连接文件位置socket=/home/mysql/data/mysqldata1......
  • PHP和MySQL处理树状、分级、无限分类、分层数据的方法
    文章标题中的多个词语表达的其实是一个意思,就是递归分类数据,分级数据非常类似数据结构中的树状结构,即每个节点有自己的孩子节点,孩子结点本身也是父亲节点。这是一个递归、分......
  • MySQL8.0修改数据库名的方法
    注:1、不管存储引擎是InnoDB还是MyISAM直接去修改data下的文件夹名称都是不可行的;2、renamedatabaseoldnameTOnewname;也是不可行的;可采用如下方法:方法一整体思路:新......
  • MYSQL学习笔记
    一,SQL的分类数据查询语言(DQL---DataQueryLanguage) 代表关键字:select数据操纵语言(DML---DataManipulationLanguage)代表关键字:insert,delete,update数据定义......
  • MySQL 如何实现数据插入
    使用MySQL插入数据时,可以根据需求场景选择合适的插入语句,例如当数据重复时如何插入数据,如何从另一个表导入数据,如何批量插入数据等场景。本文通过给出每个使用场景下的实例......
  • Mysql数据表关系实战总结(一对一,一对多,多对多)
    引言在实际开发过程中,我们的数据表是几十个或上百个的,那么表与表之间的是如何关联的,下面分享一些项目经验 表关系一对一一对多多对多 1、一对一    ......
  • linux mysql安装顺序
    lib在这里插入代码片`mysqlclient20_5.7.13-1ubuntu16.04_i386.deblibmysqlclient-dev_5.7.13-1ubuntu16.04_i386.deblibmysqld-dev_5.7.13-1ubuntu16.04_i386.debmysql......
  • MySQL 的 MVCC 的工作原理
    InnoDB引擎通过什么技术来保证事务的四个特性的呢?持久性是通过redolog(重做日志)来保证的;原子性是通过undolog(回滚日志)来保证的;隔离性是通过MVCC(多版本并发控制)......
  • MySql查询性能优化必知必会
    作为一个写业务代码的"JAVACURDBOY",具备写出高效率SQL让应用高性能访问数据库的能力非常重要。获得这个能力的过程我收获了点知识和经验,今天在这里分享出来,希望大家多多......