數據庫和mysql字段定義羅列_雲中的二舅-ChinaUnix博客

VARCHAR變長字符串VARCHAR[0-65535] 定義長度默認按字符長度計算,如果是GBK編碼的漢字將佔用2個字節,如果字段定義總字節長度超過65535將自動轉化爲MEDIUMTEXT類型定義VARCHAR2[1-4000] VARCHAR是VARCHAR2的同義詞 定義默認按字節長度計算

TINYINT SMALLINT MEDIUMINT INT BIGINT整數TINYINT(-128-127) SMALLINT(-32768-32767) MEDIUMINT(-8388608-8388607) INT(-2147483648-2147483647) BIGINT(-9223372036854775808-9223372036854775807) 無專用類型, 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浮點型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日期類型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年份YEAR,1字節存儲,只存儲年份,支持範圍是[1901]至[2155]無對應類型,可以用NUMBER(3,0)代替

CHAR定長字符串CHAR[0-255],定義長度默認按字符長度計算,最大保存255字符CHAR[1-2000] 定義默認按字節長度計算

UNSIGNED無符號說明支持,用於數值類型不支持

CLOB大字符串,一般用於存儲文本文件或超大描述及備註類信息TINYTEXT 最大支持255個字節 TEXT最大支持65535個字節 MEDIUMTEXT最大支持16MB個字節 LONGTEXT最大支持4GB字節 字段不支持默認值支持(CLOB) oracle10g以前最大支持4GB個字節 oracle10g開始最大支持4GB個數據塊,數據塊大小爲2KB-32KB oracle還有一個LONG類型,是早期的存儲大字符串類型,最大支持2GB字節,現已不推薦使用

BLOB大二進制對象,一般用於存儲文件或圖片數據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個元素不支持

SET集合類型SET(v1,v2,v3,...),最多64個元素不支持

NATIONAL CHAR國際化字符集類型,較少使用無,MYSQL可以對每個字段指定字符編碼支持 NCHAR(1-2000) NVARCHAR(1-4000) NCLOB

BFILE外部文件指針類型不支持支持文件大小最大4GB 文件名稱最長255字符

自定義數據類型 不支持支持

XML類型 不支持支持

自增類型自動增長類型支持 使用簡單不支持 一般使用SEQUENCE解決,用法與自增類型差別較大,使用較複雜,但能實現非常靈活的應用,包括字符自增主鍵、全局主鍵等等

字段默認值表達式 不支持函數和表達式 TEXT和BLOB字段類型不支持默認值支持函數和表達式

字段順序修改 支持,例如,把emp表的id字段順序放在name字段後面: alter table emp modify column id varchar(20) after name;不支持,只能重建表或字段

虛擬字段虛擬字段是一個邏輯字段定義,其結果值通常是一個表達式,並在表中存儲物理值,不佔用空間,主要用於簡化查詢邏輯。比如有一個oracle視頻教程商品銷售表有單價和數量兩個字段,那可以建一個虛擬字段金額,其表達式=單價*數量不支持11g支持,例: create table sales ( id number, quantity number, price number, amount GENERATED always as (quantity*price) virtual );

表字段數限制 INNODB 最大1000個字段 所有字段總定義長度不能超過65535字節 所有固定長度字段的總長度不超過半個數據塊大小(數據塊大小一般爲16K)最大1000個字段

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章