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