oracle查詢資料庫中所有表的記錄數
查詢庫中的表名和表中記錄數:
select t.table_name, t.num_rows from user_tables t;
查詢庫中記錄總數:
select sum(a.num_rows)
from (select t.table_name, t.num_rows from user_tables t) a;
如圖所示:
1、使用者操作
select * from dba_users;
create user test identified by 123456;
alter user test identified by 123456;
grant connect,resource to test ;
alter user test quota unlimited on users;
drop user test cascade;
2、使用者
select * from user_users;
檢視當前使用者的角色
select * from user_role_privs;
檢視當前使用者的系統許可權和表級許可權
select * from user_sys_privs;
select * from user_tab_privs;
3、表檢視使用者下所有的表
select * from user_tables;
檢視某錶的建立時間
select * from user_objects where object_name=upper('test');
檢視某錶的大小
select sum(bytes)/(1024*1024) as "size(m)" from user_segments where segment_name=upper('test');
4、索引
檢視索引個數和類別
select index_name,index_type,table_name from user_indexes order by table_name;
檢視索引被索引的字段
select * from user_ind_columns where index_name=upper('&index_name');
檢視索引的大小
select sum(bytes)/(1024*1024) as "size(m)" from user_segments where segment_name=upper('&index_name');
5、序列號
檢視序列號,last_number
是當前值
select * from user_sequences;
6、檢視
select * from user_views;
7、儲存函式和過程
檢視函式和過程的狀態
select object_name,status from user_objects where object_type='function'; select object_name,status from user_objects where object_type='procedure';
檢視函式和過程的源**
select text from all_source where owner=user and name=upper('&plsql_name');
8、sql時間計算
select to_char(add_months(sysdate, -1), 'yyyymmdd') syy from dual; --計算上乙個月
9、oracle的connect by level的使用
獲取連續數字示例**:獲取連續的日期示例**:1 -- 獲取連續的資料(注意:level只用使用
2 select level from dual connect by level <= 5; -- 1 2 3 4 5
1 -- 獲取連續的指定時間(注意:獲取連續的時間需要包含當天需要再+1天)統計填充示例**:2 select sysdate-level+1 days from dual connect by level <= 5;
月份 入職人數1 /*
2 問題:查詢2023年每月入職的人數,沒有入職的以0補充
3 解決:1.建立乙個連續的年份表進行關聯
4 2.關聯的條件,擷取時間相等進行關聯
5 3.注意:a.需要所有的時間,因此要讓時間表主表
6 b.如果emp表有條件,要單獨在(select * from emp)中新增,不然會影響結果,導致時間不全
7 c.使用其他函式,如sum求和可能為空用nvl函式,這裡以count函式舉例
8 */
9 select times.days 月份,nvl(count(e.empno),0) 入職人數 from (select * from emp) e
10 right join (
11 select to_char(add_months(to_date('2010-12-01', 'yyyy-mm-dd'),-level+1),'yyyy-mm') days
12 from dual connect by level <= 12
13 ) times
14 on substr(to_char(e.hiredate,'yyyy-mm-dd hh24:mi:ss'), 0, 7) = times.days
15 group by times.days
16 order by times.days
2010-01 0
2010-02 2
Oracle查詢資料庫中所有的表名稱
1.查詢資料庫中所有的表名稱和每張表所對應的資料條數 select t.table name,t.num rows from user tables t 此處需要注意的是 在查詢每張表所對應的資料條數時會與利用sql select count from tablename 所查詢出來的結果有所不同,...
查詢資料庫中所有的表
select from sysobjects where xtype u 查詢當前資料庫下所有使用者建立的表 xtype char 2 物件型別。可以是下列物件型別中的一種 c check 約束 d 預設值或 default 約束 f foreign key 約束 l 日誌 fn 標量函式 if 內...
查詢資料庫中所有表名,查詢表中所有欄位名
mysql 1.查詢資料庫中所有表名稱 select table name from information schema.tables where table schema 資料庫名稱 包含檢視 select table name from information schema.tables wh...