程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql與oracle表字段定義比較

mysql與oracle表字段定義比較

編輯:MySQL綜合教程


mysql與oracle表字段定義比較   說明   mysql   oracle   VARCHAR   www.2cto.com   變長字符串   VARCHAR[0-65535]   定義長度默認按字符長度計算,如果是GBK編碼的漢字將占用2個字節,如果字段定義總字節長度超過65535將自動轉化為MEDIUMTEXT類型定義   VARCHAR2[1-4000] VARCHAR是VARCHAR2的同義詞   定義默認按字節長度計算   TINYINT   SMALLINT   www.2cto.com   MEDIUMINT   INT BIGINT   整數   TINYINT(-128-127)   SMALLINT(-32768-32767)   MEDIUMINT(-8388608-8388607)   INT(-2147483648-2147483647) BIGINT(-9223372036854775808-9223372036854775807)    無專用類型,   www.2cto.com   TINYINT可以用NUMBER(3,0)代替   SMALLINT可以用NUMBER(5,0)代替   MEDUIMINT可以用NUMBER(7,0)代替   INT可以用NUMBER(10,0)代替   BIGINT可以用NUMBER(20,0)代替   ORACLE中有SMALLINT,INT,INTEGER類型,不過這是NUMBER(38,0)的同義詞   DECIMAL NUMERIC   數值類型   DECIMAL[1-65[,0-30]] NUMERIC是DECIMAL的同義詞   NUMBER 可表示數范圍: 1*10^-130至1*10^126   NUMBER([1-38][,-84-127])   DECIMAL、NUMERIC、DEC是NUMBER的同義詞   FLOAT 浮點型   www.2cto.com   FLOAT(D,M)   oracle10g開始增加BINARY_FLOAT類型   10g以前無專用類型,可以用NUMBER代替   ORACLE中有FLOAT和REAL類型,不過這是NUMBER的同義詞   DOUBLE   雙精度浮點型   DOUBLE(D,M)   oracle10g開始增加BINARY_DOUBLE類型   10g以前無專用類型,可以用NUMBER代替   ORACLE中有DOUBLE PRECISION類型,不過這是NUMBER的同義詞   BIT   位類型   BIT(1-64)   無   DATETIME   日期類型   www.2cto.com   DATE,3字節存儲,只存儲日期,沒有時間,支持范圍是[1000-01-01]至[9999-12-31] TIME,3字節存儲,只存儲時間,沒有日期,支持范圍是[-838:59:59]至[838:59:59] DATETIME,占8字節存儲,可表示日期和時間,支持范圍是[1000-01-01 00:00:00]至[9999-12-31 23:59:59] TIMESTAMP,占4字節存儲,可表示日期和時間,范圍是[1970-01-01 00:00:00]至[2038-01-19 03:14:07]   DATE類型 7字節存儲,可表示日期和時間,支持范圍是[-4712-01-01 00:00:00]至[9999-12-31 23:59:59]   TIMESTAMP   高精度日期   5.6.4以前不支持小數秒精度 5.6.4開始TIME,DATETIME,TIMESTAMP支持,最多可以6位小數秒,也就是微秒級別   TIMESTAMP[0-9] 占用空間7-11個字節,當小數秒精度為0時與DATE類型相同,小數秒最高精度可達9位,也就是納精度   YEAR   www.2cto.com   年份   YEAR,1字節存儲,只存儲年份,支持范圍是[1901]至[2155]   無對應類型,可以用NUMBER(3,0)代替   CHAR   定長字符串   CHAR[0-255],定義長度默認按字符長度計算,最大保存255字符   CHAR[1-2000]   定義默認按字節長度計算   UNSIGNED   無符號說明   www.2cto.com   支持,用於數值類型   不支持   CLOB   大字符串,一般用於存儲文本文件或超大描述及備注類信息   TINYTEXT 最大支持255個字節 TEXT最大支持65535個字節 MEDIUMTEXT最大支持16MB個字節 LONGTEXT最大支持4GB字節   字段不支持默認值   支持(CLOB) oracle10g以前最大支持4GB個字節   oracle10g開始最大支持4GB個數據塊,數據塊大小為2KB-32KB   oracle還有一個LONG類型,是早期的存儲大字符串類型,最大支持2GB字節,現已不推薦使用   BLOB   大二進制對象,一般用於存儲文件或圖片數據   www.2cto.com   TINYBLOB 最大支持255個字節 BLOB最大支持65535個字節 MEDIUMBLOB最大支持16MB個字節   LONGBLOB最大支持4GB字節   字段不支持默認值   支持(BLOB)   oracle10g以前最大支持4GB個字節   oracle10g開始最大支持4G個數據塊,數據塊大小為2KB-32KB   oracle還有一個LONG RAW類型,是早期的存儲二進制類型,最大支持2GB字節,現已不推薦使用   BINARY   二進制信息   BINARY(0-255),定長 VARBINARY(0-65535),變長   RAW(1-2000)   ENUM   枚舉類型   ENUM(v1,v2,v3,...),最多65535個元素   www.2cto.com   不支持   SET   集合類型   SET(v1,v2,v3,...),最多64個元素   不支持   NATIONAL CHAR   國際化字符集類型,較少使用   無,MYSQL可以對每個字段指定字符編碼   支持 NCHAR(1-2000) NVARCHAR(1-4000) NCLOB   BFILE   外部文件指針類型   不支持   支持 文件大小最大4GB 文件名稱最長255字符   自定義數據類型   www.2cto.com   不支持   支持   XML類型   不支持   支持   自增類型   自動增長類型   支持 使用簡單   不支持 一般使用SEQUENCE解決,用法與自增類型差別較大,使用較復雜,但能實現非常靈活的應用,包括字符自增主鍵、全局主鍵等等   字段默認值表達式   不支持函數和表達式 TEXT和BLOB字段類型不支持默認值   支持函數和表達式   字段順序修改   支持,例如,把emp表的id字段順序放在name字段後面: alter table emp modify column id varchar(20) after name;   不支持,只能重建表或字段   www.2cto.com   虛擬字段   虛擬字段是一個邏輯字段定義,其結果值通常是一個表達式,並在表中存儲物理值,不占用空間,主要用於簡化查詢邏輯。比如有一個商品銷售表有單價和數量兩個字段,那可以建一個虛擬字段金額,其表達式=單價*數量   不支持   11g支持,例: create table sales (   id       number,   quantity number,   price    number,   amount   GENERATED always as (quantity*price) virtual );   表字段數限制   INNODB 最大1000個字段 所有字段總定義長度不能超過65535字節 所有固定長度字段的總長度不超過半個數據塊大小(數據塊大小一般為16K)   最大1000個字段
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved