當前位置:首頁 » 編程語言 » sql獲取oracle表名
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql獲取oracle表名

發布時間: 2023-06-03 20:02:21

A. 如何用sql在oracle環境下查看一個表空間中的所有表的表名

example:
tablespace : USERS

SQL>select table_name from dba_tables where tablespace_name='USERS';
前提是你要有DBA許可權

B. oracle 使用sql獲取資料庫表、表的欄位的多種方法

--第一種方法:
查詢dba_tab_columns
復制代碼
代碼如下:
select
COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from
dba_tab_columns
where
table_name
=upper('表名')
order
by
COLUMN_NAME
--這種方法需要有DBA許可權
--第二種方法:
查詢user_tab_cols
select
COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from
user_tab_cols
where
table_name=upper('表名')
order
by
COLUMN_NAME
--這種方法只能查找當前用戶下的表
--第三種方法:
查詢ALL_TAB_COLUMNS
select
distinct
COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from
ALL_TAB_COLUMNS
WHERE
TABLE_NAME=
upper('表名')
--這種方法可以查詢所有用戶下的表
---------------------------補充-------------------------------------------------------------
復制代碼
代碼如下:
--增加欄位
alter
table
cw_srcbpb
add
(SRCBPB_RJBPBL
varchar2(100)
);
alter
table
cw_srcbpb
modify
(SRCBPB_RJBPBL
number(30,3)
);
--Oracle查看所有表和欄位
--獲取表:
select
table_name
from
user_tables;
--當前用戶的表
select
table_name
from
all_tables;
--所有用戶的表
select
table_name
from
dba_tables;
--包括系統表
select
table_name
from
dba_tables
where
owner='LBSP';
--獲取用戶***所擁有的表這里的用戶名要記得是用大寫的。
--
獲取表欄位:其實這里是根據用戶的許可權來獲取欄位的屬性(表名要大寫)
select
*
from
user_tab_columns
where
Table_Name='用戶表';--獲取用戶表的所有欄位還有欄位的屬性。
select
*
from
all_tab_columns
where
Table_Name='用戶表';--獲取用戶表的所有欄位還有欄位的屬性。所屬用戶是***
select
*
from
dba_tab_columns
where
Table_Name='用戶表';--獲取用戶表的所有欄位還有欄位的屬性。所屬用戶是***
--獲取表注釋:
select
*
from
user_tab_comments
--user_tab_comments:table_name,table_type,comments
--相應的還有dba_tab_comments,all_tab_comments,這兩個比user_tab_comments多了ower列。
--獲取欄位注釋:
select
*
from
user_col_comments
--user_col_comments:table_name,column_name,comments
--相應的還有dba_col_comments,all_col_comments,這兩個比user_col_comments多了ower列。
--查詢出用戶所有表的索引
select
*
from
user_indexes
--查詢用戶表的索引(非聚集索引):
select
*
from
user_indexes
where
uniqueness='NONUNIQUE'
--查詢用戶表的主鍵(聚集索引):
select
*
from
user_indexes
where
uniqueness='UNIQUE'
--查詢表的索引
select
t.*,i.index_type
from
user_ind_columns
t,user_indexes
i
where
t.index_name
=
i.index_name
and
t.table_name='NODE'
--查詢表的主鍵
select
cu.*
from
user_cons_columns
cu,
user_constraints
au
where
cu.constraint_name
=
au.constraint_name
and
au.constraint_type
=
'P'
AND
cu.table_name
=
'NODE'
--查找表的唯一性約束(包括名稱,構成列):
select
column_name
from
user_cons_columns
cu,
user_constraints
au
where
cu.constraint_name=au.constraint_name
and
cu.table_name='NODE'
--查找表的外鍵
select
*
from
user_constraints
c
where
c.constraint_type
=
'R'
and
c.table_name='STAFFPOSITION'
--查詢外鍵約束的列名:
select
*
from
user_cons_columns
cl
where
cl.constraint_name
=
外鍵名稱
--查詢引用表的鍵的列名:
select
*
from
user_cons_columns
cl
where
cl.constraint_name
=
外鍵引用表的鍵名

C. oracle 怎樣查詢某用戶下的所有表的表名

解決方法:

1、dba_tables(在dba許可權下可查) SQL> conn / as sysdba Connected.

SQL> select count(*) from dba_tables where owner='TEST';

COUNT(*)

52

註:表名以及各詳細內容可以通過desc dba_tables查看相應欄位,在查詢相應內容。

2、all_tables(在dba許可權下輪並可查) SQL> conn / as sysdba Connected.

SQL> select count(*) from all_tables where owner='TEST';

COUNT(*)

52

SQL>

註:表名以及各詳細內容可以通過desc all_tables查看相應欄位,在查詢相應指啟內容。

3、user_tables(當前用戶下可查) SQL> conn test/test Connected.

SQL> select count(*) from user_tables;

COUNT(*)

52

SQL> conn matchhr/matchhr Connected.

SQL> select count(*) from user_tables;

COUNT(*)

28

SQL>

註:表唯桐如名以及各詳細內容可以通過desc user_tables查看相應欄位,在查詢相應內容。

D. oracle 怎樣查詢某用戶下的所有表的表名

1、首先在計算機中,打開Oracle的連接程序,用新建的資料庫管理員,進入【Oracle控制】的窗口上,滑鼠左鍵單擊【伺服器】按鈕,並選擇【SQL工作表】。

E. 如何用sql語句,查詢所有表的名字(Oracle)

使用dba_tables,all_tables等都可以,如查找USERS表空間下的所有表:
select
owner,table_name,tablespace_name
from
all_tables
where
tablespace_name='USERS'