ORACLE MYSQL資料庫的常用SQL命令

2021-08-31 18:09:24 字數 2926 閱讀 5044

以下均是在建立乙個成功的連線後的操作。

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資料,對方進行校驗馬上返回校驗的響...