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...