首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle vs MySQL 常用指令、函數、語法對照速查表

     編輯:MySQL 資料庫相關知識

環境資訊

項目Oracle (Personal 7.3.4)MySQL (3.22.34)
預設安裝目錄C:\ORAWIN95C:\MYSQL
工具目錄C:\ORAWIN95\BINC:\MYSQL\BIN
控制台工具SVRMGR.EXEmysqladmin.exe
啟動程式0start73.exemysqld-shareware.exe
關閉指令ostop73.exemysqladmin -u root shutdown
客戶端SQL*Plusmysql.exe
預設用戶/資料庫SYS/SYSTEM/SCOTTmysql/test

核心操作對照

操作OracleMySQL
連線(帶用戶)sqlplus user/pass@TNSmysql -u user -p db
切換用戶/庫CONN user/pass@TNSUSE db;
列出所有表SELECT * FROM tab;SHOW TABLES; / mysqlshow db
顯示表結構DESC tableDESC table; / SHOW COLUMNS FROM table
退出EXIT / QUITEXIT / QUIT
執行外部腳本@script.sqlSOURCE script.sql / mysql db < script.sql
匯出/匯入exp/impmysqldump / mysqlimport
重命名表RENAME a TO b;ALTER TABLE a RENAME b;
建立用戶/庫CREATE USER u IDENTIFIED BY p;CREATE DATABASE db;
刪除用戶/庫DROP USER u;DROP DATABASE db;
外連接(+) 老語法LEFT/RIGHT JOIN 標準語法
限制筆數WHERE ROWNUM < 5LIMIT 5
別名SELECT 1 a FROM dualSELECT 1 AS a;
當前日期SYSDATENOW() / SYSDATE() / CURDATE()
日期格式化TO_CHAR(sysdate,'YYYY-MM-DD')DATE_FORMAT(NOW(),'%Y-%m-%d')
日期加減ADD_MONTHS(date,1)DATE_ADD(date, INTERVAL 1 MONTH)
字串截取SUBSTR(str,1,5)SUBSTRING(str,2,3) / MID(str,2,3)
字串分割—SUBSTRING_INDEX(str, delim, count)
註解-- / /* */# / -- / /* */
計算器模式SELECT 1+1 FROM dualSELECT 1+1;
查看索引SELECT index_name,table_name FROM user_indexesSHOW INDEX FROM tbl [FROM db]

SQL 語法結構對比

兩者核心子句順序一致:

SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... [LIMIT ...]

MySQL 獨有 LIMIT 子句;Oracle 用 ROWNUM 或 12c+ FETCH FIRST n ROWS ONLY。

遷移提醒

  • Oracle DUAL 虛表 MySQL 不需要(可省略 FROM dual)。
  • Oracle VARCHAR2 → MySQL VARCHAR。
  • Oracle NUMBER → MySQL DECIMAL/INT/DOUBLE 視精度而定。
  • Oracle SYSDATE 含時分秒,MySQL CURDATE() 僅日期,NOW() 含時間。
  • Oracle 序列 SEQ.NEXTVAL → MySQL AUTO_INCREMENT。
  • 大小寫敏感度:Oracle 預設不敏感(識別符轉大寫),MySQL 在 Linux 上表名區分大小寫(取決於 lower_case_table_names)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved