欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql与oracle的区别

程序员文章站 2022-06-03 20:58:11
...

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 1.mysql与oracle数据库实现自增列的区别: mysql可以实现自增列,只要在建表时设置auto_increment即可,而oracle在建表时不能设置自增列功能, 必须通过sequence序列来实现自增列功能,建立sequence

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  1.mysql与oracle数据库实现自增列的区别:

  mysql可以实现自增列,只要在建表时设置auto_increment即可,而oracle在建表时不能设置自增列功能,

  必须通过sequence序列来实现自增列功能,建立sequence序列的语句如下(假设序列名为ts_sequence):

  CREATE SEQUENCE ts_sequence

  INCREMENT BY 1 -- 每次加几个

  START WITH 1 -- 从1开始计数

  NOMAXVALUE -- 不设置最大值

  NOCYCLE -- 一直累加,不循环

  CACHE 10;

  定义了sequence以后就可以在insert语句中使用ts_sequence.nextval和ts_sequence.currval,

  ts_sequence.currval返回当前sequence的值,但必须在第一次初始化ts_sequence.nextval后才能使用

  ts_sequence.currval。

  2.mysql与oracle数据库索引的区别:

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

  mysql的索引是从0开始,oracle的索引是从1开始。

  创建索引两者相同:

  create index indexName on tableName (columnName);

  删除索引

  mysql:

  alter table tableName drop index indexName

  oracle:

  drop index indexName

  查询表的索引

  mysql:

  show index from tableName

  Oracle:

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

mysql与oracle的区别