mysql与oracle的区别

原创
2016-06-07 15:07:58 791浏览

欢迎进入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 '

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。