日常導數過程中對三種資料庫的理解

2021-08-14 22:31:00 字數 2540 閱讀 4841

一.三種資料庫管理系統簡介:

oracle是甲骨文公司

的一款關聯式資料庫管理系統

。它是一種高效率、可靠性好、適應高吞吐量的資料庫。

mysql 是ab公司開發,目前屬於oracle

旗下公司乙個關係型資料庫管理系統

, 它是體積小、速度快、總體擁有成本低,開源,提供的介面支援多種語言連線運算元據庫,在web應用方面mysql效能較好。

postgresql是乙個關聯式資料庫管理系統。它是是乙個開源的,免費的,同時非常強大的關係型資料管理系統。

二:sql語法書寫:

基本的語法sql通用,大部分postgresql是可以參考oracle的。

三:日常導數中用到的知識點:

1.關於注釋的寫法

mysql注釋              /*這裡是注釋 */

postgresql和oracle       單行   --這後邊就是注釋

多行   /*這裡是注釋這裡是第二行注釋*/

2.關於分頁或者說查幾條記錄來測試

mysql資料庫分頁 

•  select * from 表名 limitstartrow,pagesize 

postgresql資料庫分頁 

•  select * from 表名 limitpagesize,offset startrow 

oracle資料庫分頁 

select* from (select a.*,rownum rc from 表名 whererownum<=endrow) a where a.rc>=startrow

3.關於去重用法或者說業務需求

rownumber() over( partition by col1 order by col2)用法:

表示根據col1分組,在分組內部根據 col2排序,而此函式計算的值就表示每組內部排序後的順序編號(組內連續的唯一的).

4.使用正規表示式:對30*40*50取成 30 40 50各成一列(適用於多位數)

regexp_substr(w.size_s, '[^*]+', 1) ,

regexp_substr(w.size_s, '[^*]+', 1,2) ,

regexp_substr(w.size_s, '[^*]+', 1,3) ,

5.關於時間的寫法

postgresql和oracle    operation_time>=date'2017-06-01'

mysql                operation_time>= '2017-06-01'

6.關於銀行賬號業務反映自己不會處理

『,』||h.account             字段||『~』||字段  連線符的使用

7.業務提供的編碼過多,在oracle中最多1000個

drop table t_zt_ky_bianma     –--刪除臨時表

create table t_zt_ky_bianma     --建立臨時表

( customer_no varchar2(25) )

truncate table t_zt_ky_bianma   ---清空資料(下次直接用)

-- select count(*) from t_zt_ky_bianma –--查詢驗證

/* 插入編碼  */

select * from t_zt_ky_bianma for update

8.create table detp_temp asselect * from dept  建立臨時表(表中有資料)

it~_%』 escape 『~』 此時_就不是萬用字元了

9.case …when…使用

case

when w.create_order_type is null then--不是返貨

tf.total_fee - tf.resend_fee -tf.unload_fee - tf.cod_amount

else

tf.summary_fee - tf.resend_fee -tf.unload_fee - tf.cod_amount --是返貨

end as fee, -- 開單金額 

trunc(sysdate-1)

nvl(r.dropoff_emp_name,r.create_name) 快遞員姓名,

select * from pg_proc wherelower(prosrc) like '%t_exp_delivery_bus%' --查過程

sum(case when aa.isdelete=0and aa.is_waybill =1 then

else

end) 累計已開單,

decode(h.audit_state_code,'201', '同意', '202', '不同意') as 審批狀態

substr(t.target_org_code,1,3)  提取一些字元

union用的比較多union all是直接連線,取到得是所有值,記錄可能有重複 union 是取唯一值,記錄沒有重複

PHP呼叫三種資料庫的方法 1

1 integer mysql connect 主機,使用者名稱,口令 此函式開始乙個對指定主機上的mysql資料庫的連線。若該資料庫位於乙個不同地埠,則在主機名後加上冒號和埠號。所有引數均為可選的,預設情況下分別對應為本地主機 使用者正在執行的指令碼名和空。主機可以是ip位址或網域名稱。在指令碼執...

Mysql常用的三種資料庫引擎比較

innodb 支援事務處理,支援外來鍵,支援崩潰修復能力和併發控制。如果需要對事務的完整性要求比較高 比如銀行 要求實現併發控制 比如售票 那選擇innodb有很大的優勢。如果需要頻繁的更新 刪除操作的資料庫,也可以選擇innodb,因為支援事務的提交 commit 和回滾 rollback 因為i...

PHP呼叫三種資料庫的方法 2

1 integer odbc connect string dsn,string user,string password 連線到乙個odbc資料庫源名字上。2 integer odbc exec integer connection,string query 或 odbc do integer c...