Oracle 常用的一些基本操作

2021-09-07 10:50:58 字數 2336 閱讀 6150

檢視系統中當前使用者所有表:

select * from user_tables;

select * from user_indexs;

select * from user_triggers;

select * from user_triggers where table_name='table name';

檢視某個表的表結構:

describe table_name;

檢視某個表的建立指令碼語句:

set long 2000000

;set pagesize 0;

select dbms_metadata.get_ddl(

'table

','table_name

') from dual;

檢視某使用者的某個表的建立指令碼語句:

set long 2000000

;set pagesize 0;

select dbms_metadata.get_ddl(

'table

','table_name

','username

') from dual;

1)欄位有值且為空,則不管改為什麼字段型別,可以直接執行:

alter

table tablename modify (colunmname varchar2(20));

2)欄位有值且不為空,則改為nvarchar2(20)可以直接執行:

alter

table tablename modify (columnname nvarchar2(20));

3)欄位有值且不為空,則改為varchar2(40)執行時會彈出:「ora-01439:要更改資料型別,則要修改的列必須為空」,這時要用下面方法來解決這個問題:

/*

修改原欄位名oldcolumnname為newcolunmname

*/alter

table tablename rename column oldcolunmname to

newcolunmname;

/*增加乙個和原欄位名同名的字段newcolunmname

*/alter

table tablename add newcolunmname varchar2(40

);/*

將原欄位oldcolumnname資料更新到增加的字段newcolumnname

*/update tablename set newcolunmname=

trim(oldcolunmname );

/*更新完,刪除原欄位oldcolumnname

*/alter

table tablename drop

column oldcolunmname ;

create index命令語法:
create

index

create

[unique

]index

[user.

]indexon[

user.

]table (column

[asc | desc][

,column

[asc | desc

]] ... )

[cluster [scheam.

]cluster]

[initrans n][

maxtrans n][

pctfree n][

storage storage][

tablespace tablespace][

no sort

]advanced

備註:

schema oracle模式,預設即為當前帳戶

index 索引名

table 建立索引的基表名

column 基表中的列名,乙個索引最多有16列,long列、long raw列不能建索引列

desc、asc 預設為asc即公升序排序

cluster 指定乙個聚簇(hash cluster不能建索引)

initrans、maxtrans 指定初始和最大事務入口數

tablespace 表空間名

storage 儲存引數,同create table 中的storage.

pctfree 索引資料塊空閒空間的百分比(不能指定pctused)

nosort 不(能)排序(儲存時就已按公升序,所以指出不再排序)

Oracle 常用的一些基本操作

檢視系統中當前使用者所有表 select from user tables select from user indexs select from user triggers select from user triggers where table name table name 檢視某個表的表結...

Oracle中序列的一些常用操作

oracle中序列的一些常用操作 在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。create sequence 你首先要有create sequence或者create any sequence許可權,create sequence em...

ORACLE 的一些操作

檢視表建立時間 select ao.from all objects ao where object name module and object type table select from user tables select username,count username from v ses...