Oracle建表與創(chuàng)建序列詳細實例
一、簡單建表
CREATE TABLE teacher1 ( id number, name varchar2(32), primary key (id) ); select * from teacher1; -- 插入數(shù)據(jù) insert into teacher1(id, name) VALUES (7, 'zhangsan'); -- 插入數(shù)據(jù)后確認無誤一定要提交,否則不會保存 commit ; -- 修改表名 alter table teacher rename to teacher1; -- 刪除表 drop table teacher1; -- 提交事務(wù) commit;
二、查看表結(jié)構(gòu)(在Xshell中輸入才能夠執(zhí)行)
desc 表名
三、設(shè)置自增序列
序列是
Oracle
提供的用于產(chǎn)生一系列 唯一數(shù)字 的數(shù)據(jù)庫對象。
(一)普通自增序列
1.創(chuàng)建序列,oracle中沒有自增,創(chuàng)建序列相當于等差數(shù)列自增
通過序列的偽列訪問序列值 | 說明 |
---|---|
NEXTVAL | 返回序列的下一個值 |
CURRVAL | 返回序列的當前值 |
注意:在剛建立序列后,無法提取當前值,只有先提取下一個值時才能再次提取當前值。
ORA-08002: sequence SEQ_TEST.CURRVAL is not yet defined in this session
創(chuàng)建默認序列規(guī)則是從1開始,每次+1
-- 創(chuàng)建序列名稱 create sequence teacher_seq; -- 提取下一個值 select teacher_seq.nextval from DUAL; -- 提取當前值 select teacher_seq.currval from DUAL;
2.刪除序列
drop sequence 序列名;
3.建表的同時設(shè)置主鍵自增的步驟
-- 先創(chuàng)建表 create table teacher( id number, name varchar2(32), pwd varchar2(32), primary key (id) ); -- 再創(chuàng)建序列 create sequence teacher_seq; -- 插入三條數(shù)據(jù),將主鍵id設(shè)置為序列的下一個值,這個就相當于自增 insert into teacher values (teacher_seq.nextval,'zs','123'); insert into teacher values (teacher_seq.nextval, 'lx', '456'); insert into teacher(id, name, pwd) values (teacher_seq.nextval, 'ww', '123'); -- 插入數(shù)據(jù)后確認無誤一定要提交,否則不會保存 commit ; select * from teacher;
(二)復(fù)雜序列
1.復(fù)雜序列模板
-- 創(chuàng)建序列名稱 CREATE SEQUENCE 'sequence_name' -- 遞增`n`的序列(默認:`1`) -- 如果`n`是正數(shù)就遞增 -- 如果`n`是負數(shù)就遞減 [INCREMENT BY 'n'] -- 開始值(遞增默認是`minvalue`,遞減默認是`maxvalue`) [START WITH 'n'] -- 最大值 [{MAXVALUE 'n' | NOMAXVALUE}] -- 最小值 [{MINVALUE 'n' | NOMINVALUE}] -- 循環(huán) | 不循環(huán)(默認:`NOCYCLE`) [{CYCLE | 'NOCYCLE'}] -- 分配并存入到內(nèi)存中(默認:`CACHE`) [{'CACHE' 'n' | NOCACHE}];
2.復(fù)雜序列案例
-- 創(chuàng)建序列規(guī)則是:從100開始,每次+1 create sequence teacher_seq2 start with 100; select teacher_seq2.nextval from DUAL; -- 創(chuàng)建序列規(guī)則是:從5開始到100,超出最大值后無法創(chuàng)建 create sequence teacher_seq3 minvalue 5 maxvalue 100; select teacher_seq3.nextval from DUAL; -- 創(chuàng)建序列規(guī)則是:從1開始,步長為3的方式遞增 create sequence teacher_seq4 increment by 3; select teacher_seq4.nextval from DUAL; -- 創(chuàng)建復(fù)雜序列 create sequence teacher_seq5 increment by 4 start with -2 minvalue -2 maxvalue 10; select teacher_seq5.nextval from DUAL; -- 刪除其中一個序列 drop sequence teacher_seq5;
四、修改表中的數(shù)據(jù)
update teacher set pwd='123456' where id = 2; update teacher set pwd='654321',name='lss' where id = 3;
總結(jié)
到此這篇關(guān)于Oracle建表與創(chuàng)建序列的文章就介紹到這了,更多相關(guān)Oracle建表與創(chuàng)建序列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
oracle復(fù)制表結(jié)構(gòu)和復(fù)制表數(shù)據(jù)語句分享
這篇文章主要介紹了oracle復(fù)制表結(jié)構(gòu)和復(fù)制表數(shù)據(jù)的語句,大家直接使用就可以了2014-03-03詳解Oracle如何將txt文件中的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫
這篇文章主要介紹了Oracle如何將txt文件中的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,文中通過代碼示例和圖文結(jié)合的方式給大家講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-03-03Oracle數(shù)據(jù)庫重啟服務(wù)、監(jiān)聽程序命令詳解
本文詳細介紹了如何重啟Oracle數(shù)據(jù)庫和監(jiān)聽器的步驟,包括登錄服務(wù)器、停止和啟動數(shù)據(jù)庫及監(jiān)聽器的過程2024-12-12Linux環(huán)境下Oracle安裝參數(shù)設(shè)置方法詳解
這篇文章主要介紹了Linux環(huán)境下Oracle安裝參數(shù)設(shè)置方法,本文通過代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-06-06Oracle 12CR2查詢轉(zhuǎn)換教程之cursor-duration臨時表詳解
這篇文章主要給大家介紹了關(guān)于Oracle 12CR2查詢轉(zhuǎn)換教程之cursor-duration臨時表的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11oracle數(shù)據(jù)庫定時任務(wù)dbms_job的用法詳解
這篇文章給大家詳細介紹了dbms_job的用法,用于安排和管理作業(yè)隊列,通過使用作業(yè),可以使ORACLE數(shù)據(jù)庫定期執(zhí)行特定的任務(wù)。有需要的朋友們可以參考借鑒。2016-09-09