MySQL支持多種類型的SQL數據類型:數字類型,日期和時間類型,字符串(字符和字節)類型以及空間類型 數據類型描述使用如下約定:html
M表示整數類型的最大顯示寬度。最大顯示寬度爲255.顯示寬度與類型可包含的值範圍無關,對於浮點和定點類型,M是能夠存儲的總位數。mysql
若是指定ZEROFILL數字列,MySQL會自動將該UNSIGNED 屬性添加到列中。 容許該UNSIGNED 屬性的數字數據類型也容許SIGNED。可是,默認狀況下SIGNED會對這些數據類型進行簽名,所以該 屬性不起做用。正則表達式
SERIAL是別名BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE。sql
SERIAL DEFAULT VALUE在整數列的定義中是別名NOT NULL AUTO_INCREMENT UNIQUE。數據庫
BIT[(M)] 位值類型。M表示每一個值的位數,從1到64.若是M省略,則默認值爲1安全
TINYINT[(M)] [UNSIGNED] [ZEROFILL] 一個很是小的整數。簽署的範圍是 -128到127。無符號的範圍是0到 255。服務器
https://dev.mysql.com/doc/refman/5.5/en/integer-types.html加密
BOOLEAN 這些類型是同義詞 TINYINT(1)。值爲零被視爲false。非零值被認爲是真的:spa
數字類型 | 描述 |
---|---|
TINYINT | 一個很是小的整數 |
SMALLINT | 一個小整數 |
MEDIUMINT | 一箇中等大小的整數 |
INT | 標準整數 |
BIGINT | 一個大整數 |
DECIMAL | 定點數 |
FLOAT | 單精度浮點數 |
DOUBLE | 雙精度浮點數 |
MySQL沒有內置 BOOLEAN或BOOL數據類型。爲了表示布爾值,MySQL使用最小的整數類型TINYINT(1)。換句話說,是 BOOLEAN和BOOL的同義詞TINYINT(1).日誌
在MySQL中,字符串能夠包含從純文本到二進制數據(如圖像或文件)的任何內容。經過使用LIKE運算符, 正則表達式和全文搜索,能夠基於模式匹配來比較和搜索字符串
字符串類型 | 描述 |
---|---|
CHAR | 固定長度的非二進制(字符)字符串 |
VARCHAR | 可變長度的非二進制字符串 |
BINARY | 固定長度的二進制字符串 |
VARBINARY | 可變長度的二進制字符串 |
TINYBLOB | 一個很是小的BLOB(二進制大對象) |
BLOB | 一個小BLOB |
MEDIUMBLOB | 一箇中等大小的BLOB |
LONGBLOB | 一個大BLOB |
TINYTEXT | 一個很是小的非二進制字符串 |
TEXT | 一個小的非二進制字符串 |
MEDIUMTEXT | 中等大小的非二進制字符串 |
LONGTEXT | 一個很大的非二進制字符串 |
ENUM | 枚舉; 能夠爲每一個列值分配一個枚舉成員 |
SET | 一套; 能夠爲每一個列值分配零個或多個SET成員 |
MySQL提供日期和時間類型以及日期和時間的組合。此外,MySQL支持 時間戳數據類型,用於跟蹤表中一行的更改。若是您只想存儲沒有日期和月份的年份,則可使用YEAR數據類型。日期和時間類型表明的時間值 DATE, TIME, DATETIME, TIMESTAMP,和 YEAR。每一個時間類型都有一系列有效值,以及當您指定MySQL沒法表示的無效值時可使用的「 零 」值。該TIMESTAMP類型具備特殊的自動更新行爲
日期和時間類型 | 描述 |
---|---|
DATE | CCYY-MM-DD格式的日期值 |
TIME | hh:mm:ss格式的時間值 |
DATETIME | CCYY-MM-DD hh:mm:ss格式的日期和時間值 |
TIMESTAMP | CCYY-MM-DD hh:mm:ss 格式化的時間戳值 |
YEAR | 年份CCYY或YY 格式 |
空間數據類型 | 描述 |
---|---|
GEOMETRY | 任何類型的空間值 |
POINT | 一個點(一對XY座標) |
LINESTRING | 曲線(一個或多個POINT 值) |
POLYGON | 一個多邊形 |
GEOMETRYCOLLECTION | 一組GEOMETRY value |
MULTILINESTRING | 一組LINESTRING value |
MULTIPOINT | 一組POINT value |
MULTIPOLYGON | 一組POLYGON Value |
JSON自5.7.8版本以來,MySQL支持本機數據類型,容許您更有效地存儲和管理JSON文檔。本機JSON數據類型提供JSON文檔和最佳存儲格式的自動驗證
備份數據庫很是重要,這樣您就能夠恢復數據,並在發生問題時從新啓動並運行,例如系統崩潰,硬件故障或用戶錯誤地刪除數據。在升級MySQL安裝以前,備份也是必不可少的保護措施,它們可用於將MySQL安裝轉移到另外一個系統或設置複製從屬服務器。
增量恢復是恢復在給定時間跨度內所作的更改。這也稱爲時間點恢復,由於它使服務器的狀態達到給定時間。時間點恢復基於二進制日誌,一般在備份文件徹底恢復以後,將備份文件還原到備份時的狀態。而後,在二進制日誌文件中寫入的數據更改將做爲增量恢復應用於重作數據修改,並使服務器達到所需的時間點。