1、本文以plsql圖形化管理工具為例,使用它連接oracle數(shù)據(jù)庫(kù)。當(dāng)點(diǎn)開plsql的時(shí)候,就需要輸入用戶名、密碼、數(shù)據(jù)庫(kù)然后連接。如果連接成功,就能查看里面的表等等操作,如果連接不成功,就輸入正確的信息再次嘗試。
成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站制作等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都電動(dòng)窗簾等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致表?yè)P(yáng)!
2、連接上數(shù)據(jù)庫(kù)之后,默認(rèn)會(huì)看到這個(gè)主界面。頂部是各種操作菜單,左側(cè)第一個(gè)框是最近打開的一些信息,第二個(gè)框里面的才是數(shù)據(jù)庫(kù)的所有信息。
3、如果不想看到這么多的框,只想專注于數(shù)據(jù)庫(kù)的相關(guān)信息,就可以將其他框關(guān)閉或者隱藏,這兩種方式只是點(diǎn)擊不同的按鈕而已,具體參見截圖。
4、在oracle數(shù)據(jù)庫(kù)中,用戶是屬于表空間的,因此,當(dāng)使用某一個(gè)用戶登錄之后,看到的其實(shí)就是這個(gè)用戶默認(rèn)的表空間中的信息。這個(gè)時(shí)候,可以展開【Tables】菜單,就能看到當(dāng)前表空間下的所有表,如果表的數(shù)量不多,就可以直接一個(gè)一個(gè)的數(shù)出數(shù)量。
5、如果當(dāng)前用戶具有管理員權(quán)限,還可以在【Tablespaces】菜單下面,找到所有的表空間名稱,在每個(gè)表空間名稱下面還有【Tables】菜單,這里面會(huì)顯示這個(gè)表空間下面的所有用戶和表。
注意,對(duì)于同一個(gè)表空間下的相同數(shù)據(jù)庫(kù),在這里會(huì)顯示每個(gè)用戶都擁有一套表結(jié)構(gòu)
6、如果想直接獲得表空間中的表數(shù)量,可以點(diǎn)擊左上角的新建圖標(biāo),選擇【SQLWindow】,右側(cè)就會(huì)出現(xiàn)一個(gè)空白的SQL語(yǔ)句書寫窗口
7、獲取指定表空間下表數(shù)量(這是包含了此表空間下的所有用戶的表)
selectcount(1)fromall_tableswheretablespace_name='表空間名稱';獲取指定表空間下,指定用戶的表數(shù)量。
selectcount(1)fromall_tableswheretablespace_name='表空間名稱'andowner='用戶名稱';如果將count(1)換成星號(hào),就可以查詢表空間下的所有表名信息等。
1、查找表的所有索引(包括索引名,類型,構(gòu)成列):\x0d\x0a\x0d\x0aselectt.*,i.index_typefromuser_ind_columnst,user_indexesiwheret.index_name=i.index_nameandt.table_name=i.table_nameandt.table_name=要查詢的表\x0d\x0a\x0d\x0a2、查找表的主鍵(包括名稱,構(gòu)成列):\x0d\x0a\x0d\x0aselectcu.*fromuser_cons_columnscu,user_constraintsauwherecu.constraint_name=au.constraint_nameandau.constraint_type='P'andau.table_name=要查詢的表\x0d\x0a\x0d\x0a3、查找表的唯一性約束(包括名稱,構(gòu)成列):\x0d\x0a\x0d\x0aselectcolumn_namefromuser_cons_columnscu,user_constraintsauwherecu.constraint_name=au.constraint_nameandau.constraint_type='U'andau.table_name=要查詢的表\x0d\x0a\x0d\x0a4、查找表的外鍵(包括名稱,引用表的表名和對(duì)應(yīng)的鍵名,下面是分成多步查詢):\x0d\x0a\x0d\x0aselect*fromuser_constraintscwherec.constraint_type='R'andc.table_name=要查詢的表\x0d\x0a\x0d\x0a查詢外鍵約束的列名:\x0d\x0a\x0d\x0aselect*fromuser_cons_columnsclwherecl.constraint_name=外鍵名稱\x0d\x0a\x0d\x0a查詢引用表的鍵的列名:\x0d\x0a\x0d\x0aselect*fromuser_cons_columnsclwherecl.constraint_name=外鍵引用表的鍵名\x0d\x0a\x0d\x0a5、查詢表的所有列及其屬性\x0d\x0a\x0d\x0aselectt.*,c.COMMENTSfromuser_tab_columnst,user_col_commentscwheret.table_name=c.table_nameandt.column_name=c.column_nameandt.table_name=要查詢的表\x0d\x0a\x0d\x0a6、Oracle中每個(gè)用戶表的表名和行數(shù)\x0d\x0aselecttable_name,num_rowsfromuser_tables;\x0d\x0a\x0d\x0a7、Oracle查詢用戶表空間:select*fromuser_all_tables\x0d\x0a\x0d\x0a8、Oracle查詢所有函數(shù)和儲(chǔ)存過(guò)程:select*fromuser_source\x0d\x0a\x0d\x0a9、Oracle查詢所有用戶:\x0d\x0aselect*fromall_users;\x0d\x0aselect*fromdba_users\x0d\x0a\x0d\x0a10、Oracle查看當(dāng)前用戶連接:select*fromv$Session\x0d\x0a\x0d\x0a11、Oracle查看當(dāng)前用戶權(quán)限:select*fromsession_privs\x0d\x0a\x0d\x0a12、Oracle查看用戶表空間使用情況:\x0d\x0a\x0d\x0aselecta.file_id"FileNo",a.tablespace_name\x0d\x0a\x0d\x0a"Tablespace_name",\x0d\x0a\x0d\x0aa.bytes"Bytes",a.bytes-sum(nvl(b.bytes,0))"Used",\x0d\x0a\x0d\x0asum(nvl(b.bytes,0))"Free",\x0d\x0a\x0d\x0asum(nvl(b.bytes,0))/a.bytes*100"%free"\x0d\x0a\x0d\x0afromdba_data_filesa,dba_free_spaceb\x0d\x0a\x0d\x0awherea.file_id=b.file_id(+)\x0d\x0a\x0d\x0agroupbya.tablespace_name,\x0d\x0a\x0d\x0aa.file_id,a.bytesorderbya.tablespace_name;
這個(gè)事情簡(jiǎn)單:
select?table1.id,table2.id,table3.id,table4.id
from?table1,table2,table3,table4
where?table4.parentid?=?table3.id?and?table3.parentid?=?table2.id?and?
table2.parentid?=?table1.id??and?table1.id?=?'你已知的ID值';
獲取表字段:
select *
from user_tab_columns
where Table_Name='用戶表'
order by column_name
獲取表注釋:
select *
from user_tab_comments
where Table_Name='用戶表'
order by Table_Name
獲取字段注釋:
select *
from user_col_comments
where Table_Name='用戶表'
order by column_name
/* 獲取表:*/
select table_name from user_tables; //當(dāng)前用戶的表
select table_name from all_tables; //所有用戶的表
select table_name from dba_tables; //包括系統(tǒng)表
select table_name from dba_tables where owner='zfxfzb'
/*
user_tables:
table_name,tablespace_name,last_analyzed等
dba_tables:
ower,table_name,tablespace_name,last_analyzed等
all_tables:
ower,table_name,tablespace_name,last_analyzed等
all_objects:
ower,object_name,subobject_name,object_id,created,last_ddl_time,timestamp,status等
*/
/* 獲取表字段:*/
select * from user_tab_columns where Table_Name='用戶表';
select * from all_tab_columns where Table_Name='用戶表';
select * from dba_tab_columns where Table_Name='用戶表';
/* user_tab_columns:
table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
all_tab_columns :
ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
dba_tab_columns:
ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
*/
/* 獲取表注釋:*/
select * from user_tab_comments
/*
user_tab_comments:table_name,table_type,comments
相應(yīng)的還有dba_tab_comments,all_tab_comments,這兩個(gè)比user_tab_comments多了ower列。
*/
/* 獲取字段注釋:*/
select * from user_col_comments
/*
user_col_comments:table_name,column_name,comments
相應(yīng)的還有dba_col_comments,all_col_comments,這兩個(gè)比user_col_comments多了ower列。
*/
查看一個(gè)表對(duì)應(yīng)的主鍵和外鍵的約束關(guān)系:
SELECT?*?FROM?user_constraints?t?where?t.table_name='HORDE'
查看關(guān)聯(lián)HORDE的子表 :
select?*?from?user_constraints?where?
R_CONSTRAINT_NAME?in?(select?constraint_name?from?user_constraints?where?table_name?=?'HORDE')?;
--在多行子查詢中使用all操作符
select?ename,?sal,?deptno?from?emp
where?sal??all(select?sal?from?emp?where?deptno?=?30);
--等價(jià)于:
select?ename,?sal,?deptno?from?emp?where?sal?
(select?max(sal)?from?emp?where?deptno?=?30);
--在多行子查詢中使用any操作符
select?ename,?sal,?deptno?from?emp
where?sal??any(select?sal?from?emp?where?deptno?=?30);
--等價(jià)于
select?ename,?sal,?deptno?from?emp?where?sal?
(select?min(sal)?from?emp?where?deptno?=?30);