某個用戶的表的表名從數(shù)據(jù)字典表 user_tables 可以查到,雖然 user_tables 數(shù)據(jù)字典中也有表的行數(shù) NUM_ROWS 字段,但除非你對該用戶進(jìn)行統(tǒng)計(jì)信息收集(運(yùn)行 dbms_stat.gather_schema_stats()系統(tǒng)包)否則該字段要么沒有值,要么值是過期的數(shù)據(jù),不準(zhǔn)確. 正確的做法是:對數(shù)據(jù)庫用戶進(jìn)行統(tǒng)計(jì)信息收集后,立刻執(zhí)行:
成都創(chuàng)新互聯(lián)成立于2013年,先為老邊等服務(wù)建站,老邊等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為老邊企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
select table_name,num_rows from user_tables;
可以從表user_tables中查詢。
select
sum(num_rows)
from
user_tables
;
就是顯示用戶所有表的行數(shù)其中num_rows是每個表的行數(shù),用sum加總一下,就是當(dāng)前用戶所有表的
總行
數(shù)。
但因?yàn)閡ser_tables中的數(shù)據(jù)不是
實(shí)時
統(tǒng)計(jì),會有時間差,所以以上Sql統(tǒng)計(jì)得到的結(jié)果與實(shí)際會存在一定
誤差
。
DBA權(quán)限下可以查詢dba_tables,里面有個num_rows列
select table_name,num_rows from?dba_tables where ...;
條件可以根據(jù)自己需要來加
num_rows列并不是實(shí)時更新的,1小時更新一次。
擴(kuò)展資料:
Oracle數(shù)據(jù)庫常用sql語句:
一,INSERT (往數(shù)據(jù)表里插入記錄的語句)
INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……);
INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名;
二,DELETE (刪除數(shù)據(jù)表里記錄的語句)
DELETE FROM表名 WHERE 條件;
三,UPDATE (修改數(shù)據(jù)表里記錄的語句)
UPDATE表名 SET 字段名1=值1, 字段名2=值2, …… WHERE 條件;
四,改變表的名稱
ALTER TABLE 表名1 TO 表名2;
五,在表的后面增加一個字段
ALTER TABLE表名 ADD 字段名 字段名描述;
六,修改表里字段的定義描述
ALTER TABLE表名 MODIFY字段名 字段名描述;
參考資料:百度百科:Oracle數(shù)據(jù)庫