首先是大體一致的,只是分頁(yè)查詢時(shí)oracle用的偽列(rownum),mysql用的是limit,具體的可以百度一下分頁(yè);
另外oracle對(duì)sql語(yǔ)句要求更為嚴(yán)格,而且oracle里變量較mysql更多點(diǎn),oracle中有number型,有大數(shù)據(jù)類型,mysql沒(méi)得;
另外舉個(gè)例子,oracle不能插入為空列,而mysql是可以的(個(gè)人覺(jué)得,不知道正確與否)。還有他們兩者函數(shù)有不同之處,如轉(zhuǎn)日期函數(shù)oracle是to_date('要轉(zhuǎn)的字符串','格式') -- select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual,而mysql是str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09//都是針對(duì)字符串轉(zhuǎn)日期來(lái)的。
還有一點(diǎn),我們常常希望主鍵可以自動(dòng)增長(zhǎng),避免我們插入數(shù)據(jù)時(shí)的重復(fù)問(wèn)題,但是oracle不能設(shè)置列自動(dòng)增長(zhǎng),而mysql是可以的,oracle可以用序列加觸發(fā)器來(lái)解決自動(dòng)增長(zhǎng)問(wèn)題達(dá)到與mysql一樣的效果。
總體來(lái)說(shuō)百分之九十的sql語(yǔ)句是沒(méi)區(qū)別的。總體來(lái)說(shuō)oracle的格式嚴(yán)格點(diǎn),對(duì)有些字符型的還必須加單引號(hào)才能插入,mysql要求就沒(méi)這么多了。還有當(dāng)向數(shù)據(jù)庫(kù)插入一個(gè)日期時(shí),mysql可以直接插入成功,但是oracle需要先轉(zhuǎn)化為sql里面的日期類型才行;oracle較mysql而言更安全,但是收費(fèi)的,一般大公司用的多。oracle還有存儲(chǔ)過(guò)程和函數(shù),觸發(fā)器這些這是mysql沒(méi)有的。大體就是這樣吧。