时间:2021-07-01 10:21:17 帮助过:19人阅读
欢迎进入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 '