一.建表(同)
create table tableName(
   lid int,
   lName VARCHAR(255),
   lSex VARCHAR(255),
   lAge int
)

二.删除表(异)

MySql:注:对于不存在的表,使用IF EXISTS用于防止错误发生。当使用IF EXISTS时,对于每个不存在的表,会生成一个NOTE。
drop table if EXISTS tableName;
drop table tableName;

Oracle:
drop table tableName;

三.列操作

1.删除列(异)

MySql:注:column关键词可有可无。

alter table tableName add column lBanji varchar(255); 
alter table tableName add column lAddress varchar(255),add column lEmail varchar(255);

Oracle: 注:删除多列使用()号,单列不使用。
alter table tableName drop column lBanji;
alter table tableName drop (lAddress,lEmil);

2.添加列(异)

MySql:注:column关键词可有可无。
alter table tableName add column lBanji varchar(255); 
alter table tableName add column lAddress varchar(255),add column lEmail varchar(255);

Oracle:注:添加多列使用()号,单列不使用。
alter table tableName add lBanji varchar(255);
alter table tableName add(lAddress varchar(255),lEmil varchar(255));

3.修改列(异)

MySql:

alter table tableName change column lBanji lEmail varchar(255);

Oracle:

alter table tableName rename column lBanji to lEmail;

注:

Oracle中,该列有数据的时候,无法修改列类型;没有数据时可以。

MySQL中,无论修改列是否有数据都可以修改列类型。

但是当有数据是,直接修改列类型都可能对数据造成丢失等,所以一般需要结合具体的业务来对列数据做处理后,再修改列类型类型。所以修改列的类型并非使用SQL语句进行一步到位的修改,而是通过以下流程:

A. 添加临时列

B. 将需要更改的列的值经过类型转换的验证后,赋值给临时列

C. 删除原有列

D. 将临时列的列名修改为原有列列名

四.索引

注:在整个数据库内,MySQL的索引可以同名,MySQL的索引是表级别的;但是Oracle索引不可以同名,也就是说Oracle的索引是数据库级别的。

1.创建索引(同)

create index indexName on tableName (columnName);

2.删除索引(异)

MySql:

alter table tableName drop index indexName

Oracle:

drop index indexName

3.查询表索引(异)

MySql:

show index from tableName

Oracle:

select index_name, table_name, column_name from user_ind_columns where table_name=' tableName '

五.数据库空字符串问题

Oracle中空字符串''就是null(也就是说,只有null,没有空字符),而MySQL是区分null和''的。

对于使用语句:select * from table1 where user_name <> ''来查询列user_name不为空(不为null且不为空字符)时,Oracle会查不出任何结果,而MySQL可以正常运行。这里MySQL之所以可以得到正确结果,还因为比较符号<>会先将列为null的内容进行过滤,然后再比较内容是否为空字符串。

这就要求,在编写代码的时候,尽量保证不会往数据库插入空字符串''这样的值,要么保持有数据,要么保持为null。另外,对于MySQL中已经同时存在Null和''时,所有判断是否为null或者''的地方改为判断列的长度是否为0。

mysql与oracle语法区别相关推荐

  1. mysql库与oracle库的区别_开源数据库Oracle与MySQL的SQL语法区别

    Oracle数据库与MySQL数据库的区别是本文我们主要要介绍的内容,接下来我们就开始介绍这部分内容,希望能够对您有所帮助. Oracle与MySQL的SQL语法区别: 1.在Oracle中用sele ...

  2. orcle与mysql的区别_Orcle与MySQL的SQL语法区别:

    Orcle与MySQL的SQL语法区别: 1.在Oracle中用 select * from all_users显示所有的用户,而在MySQL中显示所有数据 库的命令是 show databases ...

  3. MySQL与Oracle的区别

    MySQL与Oracle的区别 1.收费区别 MySQL是轻量型数据库,开源免费.Oracle是收费的而且价格非常高: 2.实例区别 MySQL一个实例可以操作多个库,而Oracle一个实例只能对应一 ...

  4. sql和mysql和oracle的区别吗_sql和oracle的语法上有什么区别

    sql和oracle语法上的区别有:1.数据类型不同:2.获得当前系统时间的函数不同:3.创建用户的方式不同:4.连接变量和字符串的方式不一样:5.条件语句"if-else-"的语 ...

  5. mysql与oracle语法对比(实用)

    oracle sql语法不同于mysql的sql语法 不同点: 1. mysql: IFNULL(a,b) oracle: NULLIF(a,b) 2. mysql: 可以用Date类型的日期进行比较 ...

  6. 【进阶之路】Mysql与Oracle的区别

    导言 大家好,我是南橘,从接触java到现在也有差不多两年时间了,两年时间,从一名连java有几种数据结构都不懂超级小白,到现在懂了一点点的进阶小白,学到了不少的东西.知识越分享越值钱,我这段时间总结 ...

  7. 关于mysql和oracle错误的有_关于MySQL与Oracle的区别

    0 查询分组时的区别 Oracle数据库中使用Group By分组时 select 后面的列必须是分组的列(group by(列))或者是用了聚合函数的lie 但是 MySQL中 不需要如此 随便分组 ...

  8. Mysql 和oracle的区别

    (1)对事务的提交 MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写commit;指令或者点击commit按钮 (2) 分页查询 MySQL是直接在SQL语句中写&q ...

  9. Mysql和Oracle语句区别

    Mysql语句: select substr(a.createtime, 1, 4) as statisticsName from defect1 a; select substr(a.createt ...

  10. oracle 和mysql语法上的区别,Mysql和Oracle的一些语法区别

    作为一个有追求的程序猿,当然要不断的学习,巴拉巴拉巴拉...好了,贴一个网址给大家,哈哈 MySQL与Oracle 差异比较:http://www.cnblogs.com/HondaHsu/p/364 ...

最新文章

  1. Daily Storm - 31/10/12
  2. 11.23关于微信JSAPI缺少参数的问题解决
  3. ODS:输出多样化采样,有效增强白盒和黑盒攻击的性能 | NeurIPS 2020
  4. Android 如何做一次内存泄漏大排查
  5. 更新SQL Server实例所有数据库表统计信息
  6. hiredis源码分析与简单封装
  7. c++ 哈希表_C语言精华知识:表驱动法编程实践
  8. oracle使用all关键字过滤,选择要进行过滤的抽样、线程、LWP 和 CPU
  9. 新中大财务软件-A3中怎样更改IP地址
  10. 【012】Excel宏编程相关封装模块(删除行/列、隐藏列、合并单元格)_005_#VBA
  11. python另存为excel_python 将数据保存为excel的xls格式(实例讲解)
  12. c# Directshow
  13. springboot 生成二维码
  14. SVN插件 for VS--VisualSVN
  15. PowerApps入门——PowerApps的3种打开方式
  16. java入门之 画板及画板重绘(详细版)
  17. 登录github更改host文件
  18. java ec_Java ECKey.setB方法代码示例
  19. 《紫川》之紫川经典语录
  20. stm32cubeMX+FreeRTOS(1)——点灯

热门文章

  1. 股市最好用的大数据软件_最实用的5款炒股软件
  2. C罗111球成国家队历史射手王,破纪录的动力来自签约曼联
  3. java用php退出清除session_PHP学习笔记:删除与销毁session
  4. 一、首页、详情页、文章编辑页制作《iVX低代码/无代码个人博客制作》
  5. いちゃコミュ+~いちゃいちゃコミュニケーション プラス 汉化补丁
  6. 安卓库-图表库: MPChartView
  7. HTML5+CSS3从入门到精通
  8. autojs之提取text中的红色文字(图片二值化+百度智能云-文字识别OCR-接口调用)
  9. 从二进制格雷码到任意进制格雷码(1)
  10. dcs与plc与c语言的联系,PLC与和DCS系统通讯的实现