mysql資料類型整理

來源:互聯網
上載者:User

標籤:double   mysql   空間   

mysql 資料類型的概念

定義資料類型的本質上是定義列 類似於描述列

資料分類的意義

分配合適的儲存空間

採用不同的操作方法

對應不同的需求


整數類型

正負0 造成 負數多一個

tinyint 1byte 0-255 -128 ~ 127

smallint2b0~65535

mediumt3b

int4b

bigint8b


帶小數的類型

float4b0,(3.4)

double8b

decimalM>D M+2

M<D D+2

decimal 最大支援 (65,30) 預設為(10,0)

M 整數位

D 小數位

日期和時間類型


類型格式儲存需求範圍

YEAR(M)YYYY/YY1b1901/19792155/2069

TIMEHH:MM:SS3b-838:59:59838:59:59

DATEYYYY-MM-DD3b1000-01-019999-12-31

DATETIMEYYYY-MM-DD HH:MM:SS 8b1000-01-01 00:00:00 9999-12-31 23:59:59

TIMESTMPYYYY-MM-DD HH:MM:SS 4b1970-01-01 00:00:00 2038-01-19 03:14:07 UTC


use db2

create table t_year(

col1 year(4),

col2 year(2)

);

inster into t_year values (2014),(14)

select * from t_year

當用單引號 把0括上 預設從 2000年開始


inster into t_time values (‘10:10:10‘);

(‘2 10:10‘) TIME 就變成了 (58:10:00);

字串類型

文本字串類型和二進位字串類型

不僅可以儲存字串,還可以儲存其它資料

字串可以區分或不區分大小比較

支援進行模式比對尋找

類型大小範圍用途儲存要求

char(M)定長字串0-255b定長字串Mbytes  1<=M<=255

varchar(M)0-65535b變長字串L+1 bytes L<=M 且 1<=M<=255

tinybolb0-255

tinytext0-255

blob0-65535

text0-65535

mediumblob0-16777215

mediumtext0-16777215

logngblob0-4294067295

longtext0-4294067295

enum1-2

set1-8


show variables like ‘sql_mode‘;


text 類型

長的非二進位字串

例如:文章、評論

可以把text類型理解為varchar 加長增強版

text 類型不區分大小寫  匹配查詢的時候無法匹配大小寫


enum類型

枚舉型  不區分大小寫

create table t1 (sex enum (‘F‘,‘M‘,‘UN‘));


set類型

可以多選

create table t2(s1 set(‘a‘,‘b‘,‘c‘));

desc t1  查看錶結構


二進位類型

no character set

以bytes為單位儲存,文本是用 字元 儲存的


字串類型的選擇

不同的資料引擎,選擇傾向不一樣

myisam  中 char  效率高於 varchar

innodb 中 char  效率基本等於 varchar  但是varchar 可變長度的優勢顯示出來了

memory  中 car varchar 效率類似,

不同的使用者選擇傾向不同

char 適合短的字元,並且經常變更的內容

varchar 與上條相反。


浮點數和定點數的選擇

精度要求不同,選擇大不同

相比較而言,定點數的計算代價要昂貴的多

decimal 跟錢有關的事情, 對資料精度要求高的採用


大資料類型的選擇

能不用盡量不用

text 和 blob有很多替代選擇

如果存在經常的刪除和更新

建議定期使用 optimize table 進行磁碟重組

建議 調用 檔案地址存進去

日期類型的選擇

timestamp紮用空間少,但是注意他的特性,有時區限制,根據市區的選擇會編號


總結

定義資料類型就是定義列

資料 字串 整數、浮點 定點 日期 二進位 enum set boleen

不同引擎 不同表現選擇不同

需求選擇


mysql資料類型整理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.