一.數據庫本身
mysql爲中小型數據庫,比起oracle更加方便,一般不做商用。oracle數據庫一般用於偏大型項目,具有良好的兼容性、可移植性、可連接性和高生產率,oracle是不開源的,一般稍大型公司都有自己優化過的oracle。
二.連接方面(jdbc連接方法)
oracle:
driverClassName=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:服務器地址(localhost時前面加@):端口號:數據庫名
mysql:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://服務器地址(localhost時前面加@):端口號/數據庫名
三.數據類型
自增長類型:mysql有,通過增加auto_increment實現字段自增長;oracle沒有,通過序列sequence實現自增長
時間類型:mysql(date,time,datetime,timestamp,year等,每個類型時間格式不一樣),oracle(date),長度自動設置
int類型:mysql(表示整數可以自定義長度),oracle(一般使用number,使用int時數據庫會自動保存爲number,我的oracle版本是11.2.0.1.0)
字符類型:oracle有char,nchar,varchar,varchar(char 定長字符,不能手動指定字符或者字節,nchar 定長字符,可以手動指定字符或者字節,varchar2 變長字符,varchar 目前跟varchar2功能一樣,估計後期會賦予新功能 ),mysql有char,varchar(cha, 固定長度,varchar 可變長度)
其他類型:mysql有枚舉類型enum和集合類型set以及json數據類型,oracle沒有
四.sql語句
分頁查詢:
mysql select * from a limit a,b(從a+1開始,查詢a表中的b條數據)
oracle select aa.* from (select rownum r,a.* from a) aa where r between c and d(查詢a表中的c-d的數據)
日期轉換:
mysql 一般使用dateformat()函數
oracle 一般使用to_date()
刪除語句(*)
mysql delete from a where ...
oracle delete a where ...
UUID的生成
mysql 直接用select uuid()函數可以生成uuid
oracle 一般需要運行語句
CREATE OR REPLACE
FUNCTION get_uuid
RETURN VARCHAR
IS
guid VARCHAR (50);
BEGIN
guid := lower(RAWTOHEX(sys_guid()));
RETURN
substr(guid,1,8)||'-'||substr(guid,9,4)||'-'||substr(guid,13,4)||'-'||substr(guid,17,4)||'-'||substr(guid,21,12);
END get_uuid;
之後使用select get_uuid from dual生成uuid
創建數據庫
oracle create tablespace tbs datafile '路徑' size 文件大小 ...
mysql create database [數據庫名稱] default character set utf8 collate utf8_general_ci;
創建用戶
oracle create user usera identified by 密碼
mysql CREATE USER 'fzj@localhost' IDENTIFIED BY '123456'
查詢所有表名
oracle select table_name from user_tables
mysql select table_name from information_schema.tables where table_schema='dbname'
後續待補...