可以從表user_tables中查詢。
創(chuàng)新互聯(lián)是一家網(wǎng)站設計公司,集創(chuàng)意、互聯(lián)網(wǎng)應用、軟件技術為一體的創(chuàng)意網(wǎng)站建設服務商,主營產(chǎn)品:自適應網(wǎng)站建設、品牌網(wǎng)站設計、成都全網(wǎng)營銷推廣。我們專注企業(yè)品牌在網(wǎng)站中的整體樹立,網(wǎng)絡互動的體驗,以及在手機等移動端的優(yōu)質呈現(xiàn)。成都網(wǎng)站設計、成都網(wǎng)站建設、移動互聯(lián)產(chǎn)品、網(wǎng)絡運營、VI設計、云產(chǎn)品.運維為核心業(yè)務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價值服務。
select
sum(num_rows)
from
user_tables
;
就是顯示用戶所有表的行數(shù)其中num_rows是每個表的行數(shù),用sum加總一下,就是當前用戶所有表的總行數(shù)。
但因為user_tables中的數(shù)據(jù)不是實時統(tǒng)計,會有時間差,所以以上Sql統(tǒng)計得到的結果與實際會存在一定誤差。
select count(*) from tablename;
select count(1) from tablename;
select count(主鍵) from tablename ; 推薦這種寫法。
select * from (select a.*,a.rownum as roid from table a order by 2 desc/asc )bwhere b.roid between 10 and 20這是ORACLE的寫法,在子查詢里可以根據(jù)你所需要的字段進行排序,然后選取10-20的或者別的你所需要的數(shù)據(jù),其中rownum為關鍵字,所以需要在子查詢里定義別名,然后在外層才能引用這個排序鍵值
select t.*,rownum rn from table1 t --rownum就是記錄所在的行數(shù)
你是指定ID去查詢,得到的記錄只有一條,所以rownum始終是1了,你想要的結果應該是
select tt.*,tt.rn from
(select t.*,row_number() over (order by id) rn from table1 t ) tt
where tt.id = 你要查詢的ID值
DBA權限下可以查詢dba_tables,里面有個num_rows列
select table_name,num_rows from?dba_tables where ...;
條件可以根據(jù)自己需要來加
num_rows列并不是實時更新的,1小時更新一次。
擴展資料:
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ù)庫
某個用戶的表的表名從數(shù)據(jù)字典表 user_tables 可以查到,雖然 user_tables 數(shù)據(jù)字典中也有表的行數(shù) NUM_ROWS 字段,但除非你對該用戶進行統(tǒng)計信息收集(運行 dbms_stat.gather_schema_stats()系統(tǒng)包)否則該字段要么沒有值,要么值是過期的數(shù)據(jù),不準確. 正確的做法是:對數(shù)據(jù)庫用戶進行統(tǒng)計信息收集后,立刻執(zhí)行:
select table_name,num_rows from user_tables;