莫愁前路无知己,天下谁人不识君。。。。

mysql与oracle的几个重要区别

上一篇 / 下一篇  2017-05-08 19:56:06 / 个人分类:数据库知识

mysqloracle常见的几个区别,先说几个重要的(后续慢慢补上),如下:

a.插入多条数据的区别
oracle(10g)
1.begin...end
begin
     insert into ta(id,name)values(1,'a');
     insert into ta(id,name)values(2,'b');
end;
2.insert all into 
insert all into ta(id,name)values(1,'a')
into ta(id,name)values(2,'b')
into ta(id,name)values(3,'c')
select 1 from dual;      ###这句很重要,不能省略,注意前三句无分号
mysql
insert into ta(id,name)values(1,'a'),(2,'b');

b.连接字符串的区别
oracle(10g)
select 字段1 ||','||字段2 from ta;
mysql
1.select concat(字段1,字段2)from ta;(无缝连接)
2.select concat(',',字段1,字段2)from ta;(分隔符连接)

c.主键问题
主键 Mysql一般使用自动增长类型,在创建表时只要指定表的主键为auto increment,插入记录时,不需要再指定该记录的主键值,Mysql将自动增长;
Oracle没有自动增长类型,主键一般使用的序列,插入记录时将序列号的下一个值付给该字段即可;

d.单引号
单引号的处理 MYSQL里可以用双引号包起字符串;
ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号;

e.翻页
翻页的SQL语句的处理 MYSQL处理翻页的SQL语句比较简单,用LIMIT 开始位置, 记录个数;ORACLE处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置, 并且只能用ROWNUM<100, 不能用ROWNUM>80;

f.模糊查询速度
字符串的模糊比较 MYSQL里用 字段名 like '%字符串%';
ORACLE里也可以用 字段名 like '%字符串%' 但这种方法不能使用索引, 速度不快。

表重命名:
mysql:
rename table a to b == alter table a rename (to) b;
oracle:
rename a to b;

TAG: MySQL Mysql Oracle

 

评分:0

我来说两句

Open Toolbar