-- 查看ORACLE 數據庫中本用戶下的所有表
SELECT table_name FROM user_tables;
-- 查看ORACLE 數據庫中所有用戶下的所有表
select user,table_name from all_tables;
-- 查看ORACLE 數據庫中本用戶下的所有列
select table_name,column_name from user_tab_columns;
-- 查看ORACLE 數據庫中本用戶下的所有列
select user,table_name,column_name from all_tab_columns;
-- 查看ORACLE 數據庫中的序列號
select * from user_sequences;
-- 上面的所有對象,都可以通過下面的SQL語句查詢得到
-- 查詢所有的用戶生成的ORACLE對象
SELECT * FROM user_objects;
-- 查看ORACLE 數據庫中所有表的註釋
select table_name,comments from user_tab_comments;
-- 查看ORACLE 數據庫中所有列的註釋
select table_name,column_name,comments from user_col_comments;
-- 給表加ORACLE的註釋
COMMENT ON TABLE aa10 IS '系統參數表';
-- 給列加ORACLE的註釋
COMMENT ON COLUMN aa10.aaa100 IS '參數類別';
-- 查看錶中列的屬性,包括
數據類型,是否非空等
DESC aa10;
-- 通過系統表,查看錶中列的屬性,包括 數據類型,是否非空等
SELECT table_name,COLUMN_ID,column_name,data_type,data_length,DATA_PRECISION,NULLABLE
FROM user_tab_columns
ORDER BY table_name,COLUMN_ID;
--查看所有表空間
selecttablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name
--查看未使用表空間大小
selecttablespace_name,sum(bytes)/1024/1024 from dba_free_space group bytablespace_name;
-- 查看數據庫中表、索引佔用的數據庫空間大小
SELECT * FROM user_segments;
-- 查看所有表的記錄數
CREATE TABLE table_count(table_name VARCHAR2(50),columns NUMBER(20));
-- 通過PB運行下面的語句,得到結果集,將結果集在PB下執行,最後提交
select 'insert into table_count values('''||table_name||''', (select count(1)from '||table_name||'));//'||comments from user_tab_comments;
-- 所有表的記錄都在table_count了
SELECT * FROM table_count;
// 將ORACLE數據庫的註釋同步到PB中
代碼開始
DELETE FROM PBCATCOL WHERE PBC_TNAM LIKE '%';
DELETE FROM PBCATTBL WHERE PBT_TNAM LIKE '%';
INSERT INTO PBCATTBL
( PBT_TNAM,
PBT_OWNR ,
PBT_CMNT)
SELECT ALL_TAB_COMMENTS.TABLE_NAME,
ALL_TAB_COMMENTS.OWNER,
ALL_TAB_COMMENTS.COMMENTS
FROM ALL_TAB_COMMENTS
WHERE ALL_TAB_COMMENTS.OWNER = 'LH'
AND TABLE_NAME LIKE '%';
// 同步字段名
INSERT INTO PBCATCOL
( PBC_TNAM,
PBC_OWNR,
PBC_CNAM,
PBC_LABL,
PBC_CMNT,
PBC_HDR)
SELECT ALL_COL_COMMENTS.TABLE_NAME,
ALL_COL_COMMENTS.OWNER,
ALL_COL_COMMENTS.COLUMN_NAME,
ALL_COL_COMMENTS.COMMENTS ,
ALL_COL_COMMENTS.COMMENTS ,
ALL_COL_COMMENTS.COMMENTS
FROM ALL_COL_COMMENTS
WHERE ALL_COL_COMMENTS.OWNER = 'LH'
AND TABLE_NAME LIKE '%';
COMMIT;
-- 將ORACLE數據庫的註釋同步到PB中
代碼結束
--將PB註釋同步到ORACLE中
select 'comment on table '||pbt_tnam||' is '''||pbt_cmnt||''';' from pbcattblwhere pbt_tnam not like 'PB%'
UNION
select 'comment on column '||pbc_tnam||'.'||pbc_cnam||' is '''||pbc_cmnt||''';'from pbcatcol where pbC_tnam not like 'PB%';
--查進程
select object_id,session_id,locked_mode from v$locked_object;
selectt2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time;
--殺進程
alter system kill session '3,6666';
oracle操作語句:
1.創建表
create table 表名(
列名1 類型,
列名2 類型
);
2.修改類屬性
alter table 表名 modify(列名 類型);
3.添加列
alter table 表名 add(列名 類型);
4.添加主鍵約束和非空約束
alter table 表名 add constraint pk_表名 primary key(列名);
alter table 表名 modify(列名 not null);
5.刪除主鍵約束
alter table 表名 drop primary key;
alter table 表名 drop constraint pk_表名;
6.失效約束
alter table 表名 disable primary key;
alter table 表名 disable constraint pk_表名;
7.有效約束
alter table 表名 enable primary key;
alter table 表名 enable constraint pk_表名;
8.刪除列
alter table 表名 drop column 列名;
9.設置某列不可用,然後刪除
alter table 表名 set unused(列名);
alter table 表名 drop unused columns;
10.修改表名
rename 表名1 to 表名2
alter 表名1 rename to 表名2;
11.截斷表
truncate table 表名;
12.截斷表保留行空間
truncate table 表名 resue storage;
13.查看錶結構
desc table 表名;
14.刪除表
drop table 表名;
15.插入記錄
例:insert into 表名 values(內容1,內容2,內容3,內容4);
16.帶參數對話方式插入行
例:insert into 表名 values(&列名1,&列名2);
insert into 表名 values(內容1,內容2);
17.插入某幾列記錄
insert into 表名(列名1,列名2) values(內容1,內容2);
18.爲列插入空值(其列不能爲not null)
insert into 表名 values(內容1,null,null);
19.創建表(包括主鍵及外鍵設置)方法一
create table 表名(
列名1 類型
constraint pk_表名 primary key,
列名2 類型 not null,
列名3 類型
constraint fk_表名 reference 表名(列名),
列名3 類型
constraint ck_表名 check(列名3 in(''內容1'',''內容2'',''內容3''))
);
20.查詢所有行
select * from 表名;
21.查詢某幾列
select 列名1,列名2 from 表名;
22.重複行消除
select distict 列名 from 表名;
23.where語句查詢
select * from 表名 where 條件 order by 列名;
(注:如number類型查出自動按升序排列,如要按降序排列,則select * from 表名 where 條件 order by 列名 desc;)
24.創建表,方法二
create table 表名(
列名1 類型 primary key,
列名2 類型 not null,
列名3 類型check(列名3 in('''','''','''')),
列名4 類型 refernce 表名(列名)
);
25.修改 列=‘?’的數據
update 表名 set (列=?) where 列=‘?’;
26.刪除行
delete from 表名 where 條件;
27.事務處理
--事務處理
update 表名
set 列名(日期) = ''30-5月-98''
where 條件;
savepoint mark1;
delete from 表名 where 條件;
savepoint mark2;
rollback to savepoint mark1;
rollback;
28.建立用戶user1,密碼爲password
授予用戶connect,resource的權限
connect角色用於登錄
resource角色用於建表等.
connect system/manager
create user user1 identified bypassword;
grant connect,resource to password;
29.數據控制語言
connect scott/tiger
30.把對錶1查詢和修改的權限授予user1
grant select,update on 表1 to user1;
31.把對錶表1中列1和列2修改的權限授予user1
grant update(列1,列2) on 表1 to user1;
32.把對錶表1查詢的權限授予用戶user1
並且user1用戶還可以把這個權限授予別的用戶(with grant option)
grant select on 表1 to user1 with grant option;
33.從用戶user1撤銷對錶1查詢和修改的權限
revoke select,update on 表1 from user1;