以下均是在建立乙個成功的連線後的操作。mysql資料庫在乙個連線下是通過不同的資料庫名稱來進行區分的,即乙個連線下可以有很多個庫;oracle資料庫連線時則是通過使用者名稱進行區分的,乙個使用者名稱下面只有乙個資料庫。
1. 返回某個資料庫(模式)中所有表的基本資訊:
oracle資料庫:
-- 將yourschema換成指定的資料庫名稱
select
*from all_tables where owner=
'yourschema'
mysql資料庫:
-- 將yourschema換成指定的資料庫名稱
select
*from information_schema.
tables
where table_schema=
'yourschema'
2.返回指定資料庫中所有的表名
oracle資料庫:
--將yourschema換成指定的資料庫名稱
select table_name from all_tables where owner=
'yourschema'
mysql資料庫:
-- 將yourschema換成指定的資料庫名稱
select table_name from information_schema.
tables
where table_schema=
'yourschema'
3. 返回某個資料庫(模式)中某張表的所有欄位名稱及其資料型別:
oracle資料庫(可以不指定owner
,在一些情況下指定該引數反而返回錯誤的結果):
--將yourschema替換為資料庫名稱,yourtable替換為表名
select u.column_name, u.data_type
from user_tab_columns u
left
join all_tables a
on u.table_name = a.table_name
where a.owner=
'yourschema'
and u.table_name=
'yourtable'
-- 也可以按照下面的寫法(2019-11-24更新)
select u.column_name, u.data_type
from user_tab_columns u
where u.table_name=
'yourtable'
mysql資料庫:
--將yourschema替換為資料庫名稱,yourtable替換為表名
select column_name, data_type from information_schema.
columns
where table_schema=
'yourschema'
and table_name=
'yourtable'
如果不指定資料庫名稱,在mysql中類似的做法會引發歧義。oracle中並未進行測試。4. 返回某個資料庫(模式)中某張表中的具有主鍵約束的欄位名稱:
oracle資料庫(可以不指定owner
,在一些情況下指定該引數反而返回錯誤的結果):
--將yourschema替換為資料庫名稱,yourtable替換為表名
select column_name from user_cons_columns
where constraint_name=
(select constraint_name from user_constraints
where owner=
'yourschema'
and table_name=
'yourtable'
and constraint_type =
'p')
mysql資料庫:
--將yourschema替換為資料庫名稱,yourtable替換為表名
select column_name from information_schema.key_column_usage
where table_schema=
'yourschema'
and table_name=
'yourtable'
and constraint_type=
'primary'
5. 返回某個資料庫(模式)中所有表的大小:
mysql資料庫:
select
table_name,
concat(
truncate
(data_length /
1024
/1024,2
),' mb'
)as data_size,
concat(
truncate
(index_length /
1024
/1024,2
),' mb'
)as index_size
from
information_schema.
tables
where
table_schema =
'your_schema'
group
by table_name
order
by data_length desc
oracle mysql資料庫分頁
mysql 分頁 groupunion.setpagestart pagestart groupunion.setpageend pageend selectunionlist groupunion selectunionlist resultmap baseresultmap parametert...
JDBC連線Oracle MySQL資料庫
在連線資料庫時,並不是所有的情況都適合使用hibernate等框架,比如單獨寫乙個報表服務,就需要使用簡單高效的jdbc來連線 1 資料庫連線jdbc原理 2 oracle class.forname class.forname oracle.jdbc.oracledriver string url...
Oracle MySql 資料庫表被鎖的原因分析
記錄一次準備給客戶預演示出現的問題事故的背景 當所以功能開發完成後,開發人員在本地進行了測視已經沒問題了。就把所有開發的功能模組合併到dev分支,進行打包,發布到預演示的線上環境。當在給相關人員進行演示的時候,出現了問題。我們使用https呼叫對方的介面傳送json資料,對方進行校驗馬上返回校驗的響...