oracle常用的操作
阿新 • • 發佈:2018-11-21
最近業務需要給表新增索引,因為資料量很大時,查詢效率很低;老大建議使用索引; 之前總結的時候將索引沒有記錄,當然啦,也怪筆者基礎薄弱,不管了,慢慢進步嘛,好了進入正題吧!
首先準備工作,先建兩個臨時表,後邊操作會用到;
--建臨時學生表 create table temp_student( id number, name varchar2(20), sex char(2), age number, class varchar2(20), userIdnumber ); comment on table temp_student is '臨時學生表'; comment on column temp_student.id is 'ID'; comment on column temp_student.name is '姓名'; comment on column temp_student.sex is '性別'; comment on column temp_student.age is '年齡'; comment on column temp_student.class is '班級'; commenton column temp_student.userId is '臨時人員ID'; --建臨時人員表 create table temp_user( id number, name varchar2(20), age number, sex char(2) ); comment on table temp_user is '臨時人員表'; comment on column temp_user.id is 'ID'; comment on column temp_user.name is '姓名'; comment on column temp_user.age is'年齡'; comment on column temp_user.sex is '性別';
下邊是常用的操作,這裡我暫時總結八點吧,吉利數字,嘎嘎!後邊有需要繼續總結,在這裡將表資料的增刪改沒有總結,因為太簡單了,在這裡筆者認為是佔地方,所以就免了,如果大家對錶資料的增刪改都不熟悉,那這篇文章對您暫時還不太適合,當以後熟悉了再來看看;
--1 --查詢表(pl/sql中可修改) select * from temp_student for update; select * from temp_user for update; --2 --刪除表 drop table temp_student; drop table temp_user; --3 --新增欄位 alter table temp_student add join_date date; comment on column temp_student.join_date is '入學時間'; --修改欄位 alter table temp_student modify(class varchar2(200)); --重新命名欄位 alter table temp_student rename column join_date to join; --重命名錶 rename temp_student to t_student; --刪除欄位 alter table t_student drop column join; --4 --建主鍵 alter table temp_student add primary key (id); alter table temp_user add primary key(id); --建外來鍵 alter table temp_student add constraint userKey foreign key(userId) references temp_user(id); --撤銷主鍵 alter table temp_student drop primary key; --撤銷外來鍵 alter table temp_student drop constraint userKey; --5 --給表建立公共別名 create public synonym t_student for temp_student; create public synonym t_user for temp_user; --6 --授權給指定角色許可權 grant select,insert,update on sys.temp_student to bepcde,bepopr; --收回給指定角色許可權 revoke select,insert,update on sys.temp_student from bepcde,bepopr; --7 --建序列 create sequence t_student_seq minvalue 1 --初始序號為1 maxvalue 9999999999999999 --最大序號,這裡也可以設定 start with 1 --從1開始計算 increment by 1 --每次增1 cache 30 --快取20個 cycle; --//迴圈 --刪除序列 drop sequence t_student_seq; --查詢下一個序列號 select t_student_seq.nextval from dual; --1 --8 --建立索引 create index id_a on t_student(name); --刪除索引 drop index id_a;
如果朋友們發現那裡有疑問或者問題,請指出來,謝謝!