/ 中存储网

MySQL与Oracle在使用上的一些区别

2014-07-13 15:50:09 来源:中存储网

  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 '