❶ 在ORACLE,怎麼用一個sql語句查詢一個已知表的主鍵欄位
舉個例子(但不是最優的),看是否有用,如查找scott.emp表的primary key欄位.
1.以SCOTT用戶登錄。
2.執行以下代碼。
SET PAGESIZE 0
SET LONG 90000
SELECT dbms_metadata.get_ddl('TABLE', table_name) FROM user_tables where table_name='EMP';
3.查找類似CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO")的內容,後面部分就是表的主鍵欄位。
如不知表所屬的owner,可以用:select owner,table_name from dba_tables where table_name='表名';
希望以上對你有所啟示。
❷ 如何使用sql語句,查詢oracle的表注釋等信息
Oracle
下讀取表/欄位的備注信息
Oracle
通過COMMENT
ON
TABLE
/
COMMENT
ON
COLUMN
追加表/欄位的備注。
CREATE
TABLE
"MR_DEPT"
(
"DEPT_ID"
NUMBER
NOT
NULL
,
"PARENT_ID"
NUMBER,
"DEPT_NAME"
CHAR(20)
NOT
NULL
,
"STATUS"
NUMBER
DEFAULT
1
NOT
NULL
,
PRIMARY
KEY
("DEPT_ID")
);
COMMENT
ON
TABLE
"MR_DEPT"
IS
'部門表';
COMMENT
ON
COLUMN
"MR_DEPT"."DEPT_ID"
IS
'部門編號';
COMMENT
ON
COLUMN
"MR_DEPT"."PARENT_ID"
IS
'上級部門編號';
COMMENT
ON
COLUMN
"MR_DEPT"."DEPT_NAME"
IS
'部門名';
COMMENT
ON
COLUMN
"MR_DEPT"."STATUS"
IS
'狀態';
備注加好以後,如何在查詢中檢索呢?
查詢表的備注信息
SELECT
TABLE_NAME,
TABLE_TYPE,
COMMENTS
FROM
USER_TAB_COMMENTS
WHERE
TABLE_NAME
=
'MR_DEPT;
查詢欄位的備注信息
SELECT
TABLE_NAME,
COLUMN_NAME,
COMMENTS
FROM
USER_COL_COMMENTS
WHERE
TABLE_NAME
=
'MR_DEPT;
❸ 查詢Oracle資料庫表欄位類型sql語句
1.
這里涉及到兩個系統視圖的應用dba_tab_cols和user_tab_cols;
2.
dba_tab_cols包含所有用戶下表欄位信息;user_tab_cols包含當前用戶下表信息;使用tba_tab_clos查詢表欄位類型需要指定owner(用戶)
3.
上述兩個表中,table_name,column_name,data_type就可以滿足需要查詢表欄位類型了,具體類型對應其他欄位還有另外定義,比如varchar2,date,number還對應在data_length欄位有值,說明類型其長度
4.
user_tab_columns和user_tab_cols都可以滿足問題要求,但是兩張視圖還是有區別的,主要是包含欄位的區別等,具體區別可以度娘哈,這里就不贅述。
❹ 怎樣用sql語句查詢oracle數據表的欄位名及其數據類型
樓主您好
all_tab_columns
all_tab_cols
或者all換成user
分別是column_name和data_type欄位
❺ oracle中查詢一個表的所有欄位名以及屬性的sql語句應該怎麼寫
SELECT * FROM all_tab_columns t WHERE t.OWNER='OWNER_NAME' AND t.TABLE_NAME='TABLE_NAME'
或者
SELECT * FROM user_tab_columns t WHERE t.TABLE_NAME='TABLE_NAME'
❻ oracle統計查詢 sql語句應該怎麼寫
select
substrb(create_time,1,4)
"年份",
sum(decode(substrb(create_time,6,2),'01',commission,0))
"1月",
sum(decode(substrb(create_time,6,2),'02',commission,0))
"2月",
sum(decode(substrb(create_time,6,2),'03',commission,0))
"3月",
sum(decode(substrb(create_time,6,2),'04',commission,0))
"4月",
sum(decode(substrb(create_time,6,2),'05',commission,0))
"5月",
sum(decode(substrb(create_time,6,2),'06',commission,0))
"6月",
sum(decode(substrb(create_time,6,2),'07',commission,0))
"7月",
sum(decode(substrb(create_time,6,2),'08',commission,0))
"8月",
sum(decode(substrb(create_time,6,2),'09',commission,0))
"9月",
sum(decode(substrb(create_time,6,2),'10',commission,0))
"10月",
sum(decode(substrb(create_time,6,2),'11',commission,0))
"11月",
sum(decode(substrb(create_time,6,2),'12',commission,0))
"12月"
from
test
group
by
substrb(create_time,1,4)
此語句是按create_time欄位是字元型給出的,如果你的表中此欄位是日期型,則進行一下轉化
❼ 如何使用sql語句,查詢oracle的表注釋等信息
使用sql語句,查詢oracle的表注釋等信息方法如下:
一、Oracle 下讀取表/欄位的備注信息,Oracle 通過COMMENT ON TABLE / COMMENT ON COLUMN 追加表/欄位的備注。
COMMENT ON TABLE ,MR_DEPT,IS 。
COMMENT ON COLUMN ,MR_DEPTDEPT_ID,IS。
COMMENT ON COLUMN ,MR_DEPT"PARENT_ID,IS。
COMMENT ON COLUMN ,MR_DEPT"DEPT_NAME,IS 。
COMMENT ON COLUMN ,MR_DEPT"STATUS,IS 。
二、查詢表的備注信息
SELECT。
TABLE_NAME。
TABLE_TYPE。
COMMENTS。
FROM。
USER_TAB_COMMENTS。
WHERE-TABLE_NAME -MR_DEPT。
三、查詢欄位的備注信息
TABLE_NAME。
COLUMN_NAME。
COMMENTS
FROM。
USER_COL_COMMENTS。
WHERE-TABLE_NAME - 'MR_DEPT。
❽ ORACLE 快速查詢數據SQL語句
單條匹配,沒有索引也不準備建索引。只能靠並發來加快檢索速度,最快的語句應該是:select /*+ full(A) parallel(A,10) */ * from A where b=c;理由有2:full table scan 時,oracle會一次讀出多個block加快速度parallel指定並發10線程檢索,當然如果允許,你指定20也可以。最好等於CPU個數。 不過還是建議在b列上建索引,這是最好的辦法。
❾ oracle資料庫通過某個欄位的值查詢數據怎麼寫sql語句,不知道具體表,不知道是哪個欄位
舉個例子:
假如表名是:table_name , 其中有個欄位名叫:col_name
你要查詢col_name的值為100的數據,語句如下
SELECT * FROM table_name WHERE col_name=100;