查詢資料庫中表名和備註和Oracle資料庫巨集處理

2021-08-15 11:40:46 字數 1306 閱讀 1528

select

a .table_name,

a .num_rows,

b.*from

user_tables a

join user_tab_comments b on a .table_name = b.table_name

where

num_rows > 1

and b.comments like '%囑%'

order by

num_rows;

dba_tables : 系統裡所有的表的資訊,需要dba許可權才能查詢

all_tables : 當前使用者有許可權的表的資訊(只要對某個表有任何許可權,即可在此檢視中看到表的相關資訊)

user_tables: 當前使用者名稱下的表的資訊

所以以上3個檢視中,user_tables的範圍最小,all_tables看到的東西稍多一些,而dba_tables看到最多的資訊

比如現在,有個資料庫表,我想要知道這個資料庫已經建了多少張表?每個表有多少條資料?每個表都有哪些字段?以及欄位的說明?

下面就用sql一一解決上面的問題:

--

所有已存在的表名和說明

select

t.table_name, f.comments

from

user_tables t

inner

join user_tab_comments f on t.table_name = f.table_name

說明:上面的字段(t.table_name, f.comments)和表名(user_tables和另乙個)不用改,直接copy就行;

那麼想知道有多少條資料,直接統計上面的結果集就行

--

每張表有多少行資料

select

a.num_rows, a.table_name, b.comments

from

user_tables a, user_tab_comments b

where a.table_name =

b.table_name

order

by table_name

--

指定表的字段和中文說明

select

t.table_name, t.column_name, t.comments

from

user_col_comments t

where t.table_name =

'satisfaction_survey

'

mysql 查詢資料庫備註 查詢資料庫備註資訊

use dbsys 資料庫名字 go object storedprocedure dbo sp select talberowname script date 01 14 2015 14 43 49 set ansi nulls on goset quoted identifier on goau...

獲取資料庫中表名

用的老舊的assess資料庫,用sql語句獲取的方式是 select name from msysobjects where type 1 and flags 0 跟其他資料庫差異很大,而且這msysobjects還是乙個系統隱藏物件,程式想用這種方法的話,要到assess安全設定裡設定允許msys...

查詢資料庫中表是否存在(獲取資料庫名,獲取表名)

這裡預設已經有配置好的環境了 yml配置 autowired private jdbctemplate jdbctemplate 查詢表是否存在 return public boolean istableexist string dbname,string tablename rs data.get...