簡體   English   中英

從MySQL轉到Oracle

[英]Going to Oracle from MySQL

我要開始一個新學期,對於我的“關系數據庫”課程,他們使用Oracle。 現在,我在使用MySQL方面經驗豐富,並且想知道Oracle和MySQL之間的主要區別是什么。

所以我有幾個問題。

  1. 使用數據庫的根本區別是什么?
  2. SQL語法有哪些區別?
  3. 您建議與Oracle一起使用哪些工具?
  4. 我應該注意來自MySQL的任何警告嗎?
  5. 在哪里可以找到有關Oracle的良好資源?
  6. Oracle是否與平台綁定? (窗戶,紅色的帽子)

感謝您的協助。

1.)取決於您使用的意思。 如果您在DBA級別上的含義更多,那么它在某種程度上取決於您使用的MySQL存儲引擎。

如果您主要使用MyISAM,那么您將擁有重做和撤消存儲段之類的知識,以適應使用Oracle的情況,因為它是一個完全事務性的數據庫。

Oracle還具有與MySQL不同的語言,恕我直言,它是一種比MySQL更成熟的存儲過程語言(PL / SQL)。 Oracle還比MySQL具有更多的功能。 一些示例是:基於函數的索引,索引組織的表,更好的分區選項等(其中一些作為MySQL的未來增強功能在表中)

2.)通用SQL語法大部分是相同的。 盡管直接調用存儲過程的方式有所不同。 (即致電vs exec / execute)

3.)Oracle SQL Developer不錯,它是免費的。 如果您有預算,Toad for Oracle真的很好。 有用的基於Web的應用程序(PHP)是PHP MyAdmin,即用的Oracle Enterprise Manager服務非常有用。

4.)-

5.)我強烈建議Oracle文檔本身和My Oracle Support(以前稱為MetaLink) http://metalink.oracle.com Oracle技術網也是一個很好的資源

6.)Oracle在所有(如果不是大多數)主要平台上運行,包括Linux,Windows和AIX。

第二點自從我上次使用它以來,它可能已經發生了變化,但是您不會選擇select 6 * 7。 作為聲明-您將使用偽表對偶,即從對偶中選擇6 * 7; 另外,如果您習慣於在Mysql中使用Limit子句,則在Oracle中使用rownum時可能需要小心。 您還應該研究Oracle中與Mysql中不同的日期格式和函數。

為了:

  1. 甲骨文在各個方面都是“工業級”。 真的,有點野獸。 它使MySql看起來像個玩具。 不討厭,只是比較。

  2. Oracle通常堅持使用ANSI樣式語法。 大多數情況都是一樣的,至少對於初學者來說是一樣的。 不僅有ANSI標准,但對於一門典型的大學課程來說,它的功能很可能無法涵蓋。

  3. SQL Developer(由Oracle!)。 它簡單,免費,並且可以在任何支持Java的平台上運行。

  4. 不多。 只是典型的事情,例如“不要在沒有where子句的情況下意外運行delete語句”。

  5. 這取決於您想走多深。 Oracle實際上有相當好的/可讀的文檔。

  6. Oracle在許多平台上。 它們本質上本身就是一個平台。 Windows,OS X,Linux,AIX ......我認為甚至還有Solaris版本。

請訪問www.oracle.com/technology,以獲取最佳信息並避免市場營銷垃圾。

4)mysql在某些方面的語法是寬容的,而oracle不允許您這樣做。 例如引用數字和省略GROUP BY子句中的列。 通常,沒有什么會導致不正確的結果,只是令人討厭的錯誤,這些錯誤一開始可能是您無法理解的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM