ชนิดของข้อมูลใน MySQL

Standard

ข้อมูลตัวเลข:

TINYINT ขนาดที่เก็บ 1 ไบต์
UNSIGNED เก็บค่าจำนวนเต็ม 0 ถึง 255
SIGNED เก็บค่าจำนวนเต็ม -128 ถึง 127

SMALLINT ขนาดที่เก็บ 2 ไบต์
UNSIGNED เก็บค่าจำนวนเต็ม 0 ถึง 65535
SIGNED เก็บค่าจำนวนเต็ม -32768 ถึง 32767

MEDIUMINT ขนาดที่เก็บ 3 ไบต์
UNSIGNED เก็บค่าจำนวนเต็ม 0 ถึง 16777215
SIGNED เก็บค่าจำนวนเต็ม -8388608 ถึง 8388607

INT หรือ INTEGER ขนาดที่เก็บ 4 ไบต์
UNSIGNED เก็บค่าจำนวนเต็ม 0 ถึง 4294967295
SIGNED เก็บค่าจำนวนเต็ม -2147483648 ถึง 2147483647

BIGINT หรือ INTEGER ขนาดที่เก็บ 8 ไบต์
UNSIGNED เก็บค่าจำนวนเต็ม 0 ถึง 18446744073709551615
SIGNED เก็บค่าจำนวนเต็ม -9223372036854775808 ถึง 9223372036854775807

(ขนาดที่เก็บของ INTEGER จะแปรตามค่าที่บันทึก)

FLOAT(x) ถ้า 0 <= x <= 24 ขนาดที่เก็บ 4 ไบต์ (ดู FLOAT)
ถ้า 25 <= x <= 53 ขนาดที่เก็บ 8 ไบต์ (ดู DOUBLE)
เก็บค่าจำนวนจริงแบบ IEEE

FLOAT ขนาดที่เก็บ 4 ไบต์
เก็บค่าจำนวนจริงแบบ IEEE
ตั้งแต่ -3.402823466E+38 ถึง -1.175494351E-38
และ 0
และ 1.175494351E-38 ถึง 3.402823466E+38

DOUBLE หรือ REAL ขนาดที่เก็บ 8 ไบต์
เก็บค่าจำนวนจริงแบบ IEEE
ตั้งแต่ -1.7976931348623157E+308 ถึง -2.2250738585072014E-308
และ 0
และ 2.2250738585072014E-308 ถึง 1.7976931348623157E+308

DECIMAL(m,d) หรือ NUMERIC(m,d) ถ้า d = 0 ขนาดที่เก็บคือ m+1 ไบต์ ถ้า d > 0 ขนาดที่เก็บคือ m+2 ไบต์
เก็นค่าเลขทศนิยมแบบระบุจำนวนหลัก m ทุกหลักรวมทศนิยม และ d หลักหลังทศนิยม
เช่นถ้าต้องการเก็บค่าให้ได้มากที่สุดเพียง 9999.99 ให้กำหนดเป็น DECIMAL(7,2)

ข้อมูลวันเวลา:

DATE ขนาดที่เก็บ 3 ไบต์
เก็บค่าวันที่ในรูปแบบ YYYY-MM-DD
โดยมีค่าตั้งแต่ 1000-01-01 ถึง 9999-12-31

DATETIME ขนาดที่เก็บ 8 ไบต์
เก็บค่าวันที่และเวลาในรูปแบบ YYYY-MM-DD HH:mm:SS
โดยมีค่าตั้งแต่ 1000-01-01 00:00:00 ถึง 9999-12-31 23:59:59

TIMESTAMP[(m)] ขนาดที่เก็บ 4 ไบต์
เก็บวันที่และเวลาในรูปแบบ String Timestamp
m = 14 หรือไม่กำหนด -> YYYYMMDDHHmmSS
m = 12 -> YYMMDDHHmmSS
m = 10 -> YYMMDDHHmm
m = 8 -> YYYYMMDD
m = 6 -> YYMMDD
m = 4 -> YYMM
m = 2 -> YY
โดยมีค่าตั้งแต่ 1970-01-01 00:00:00 ถึง 2037

TIME ขนาดที่เก็บ 3 ไบต์
เก็บค่าเวลาในรูปแบบ HH:mm:SS
โดยมีค่าตั้งแต่ 00:00:00 ถึง 23:59:59

YEAR[(2 หรือ 4)] ขนาดที่เก็บ 1 ไบต์
เก็บค่าปี 2 หรือ 4 หลัก
หากระบุเป็น 2 จะเก็บค่า 70 ถึง 69 หมายถึงปี 1970 ถึง 2069
หากระบุเป็น 4 จะเก็บค่า 1901 ถึง 2155

ข้อมูลตัวอักษร:

CHAR(m) ขนาดที่เก็บ m ไบต์ แต่ไม่เกิน 255 ไบต์
เก็บค่าอักษรตามรหัส ASCII หรือ encoding ที่ใช้อยู่

VARCHAR(m) ขนาดที่เก็บตามข้อมูลจริง มากที่สุด m ไบต์ แต่ไม่เกิน 255 ไบต์
เก็บค่าอักษรตามรหัส ASCII หรือ encoding ที่ใช้อยู่

CHAR จะเก็บขนาดตายตัว ส่วน VARCHAR จะเก็บตามขนาดของข้อมูลตัวอักษร

TINYBLOB หรือ TINYTEXT
ขนาดที่เก็บตามข้อมูลจริง +1 ไบต์ แต่ไม่เกิน 255 ไบต์
เก็บค่าอักษรตามรหัส ASCII หรือข้อมูล BINARY

BLOB หรือ TEXT
ขนาดที่เก็บตามข้อมูลจริง +2 ไบต์ แต่ไม่เกิน 65535 ไบต์
เก็บค่าอักษรตามรหัส ASCII หรือข้อมูล BINARY

MEDIUMBLOB หรือ MEDIUMTEXT
ขนาดที่เก็บตามข้อมูลจริง +3 ไบต์ แต่ไม่เกิน 16777215 ไบต์
เก็บค่าอักษรตามรหัส ASCII หรือข้อมูล BINARY

LONGBLOB หรือ LONGTEXT
ขนาดที่เก็บตามข้อมูลจริง +4 ไบต์ แต่ไม่เกิน 4294967295 ไบต์
เก็บค่าอักษรตามรหัส ASCII หรือข้อมูล BINARY

ENUM(’value1′,’value2′,…)
ขนาดที่เก็บ 1 หรือ 2 ไบต์ ตามจำนวนค่า value ซึ่งกำหนดได้มากที่สุด 65535 ค่า
เก็บค่าตาม value ที่กำหนด

SET(’value1′,’value2′,…)
ขนาดที่เก็บ 1, 2, 3, 4 หรือ 8 ไบต์ ตามจำนวนค่า value ซึ่งกำหนดได้มากที่สุด 64 ค่า
เก็บค่าตาม value ที่กำหนด

ENUM เก็บค่า value เพียงค่าเดียวต่อหนึ่งชุดข้อมูล SET เก็บ value ได้หลายๆ ค่าต่อหนึ่งชุดข้อมูล


ที่มา

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s