DATA TYPE

27
{ DATA TYPE ชชชชชชชชชชชชช

description

DATA TYPE. ชนิดของข้อมูล. INT BIGINT FLOAT[(M,D )] DOUBLE[(M,D )] DECIMAL[(M,D )] DATE  DATETIME TIMESTAMP[(M )] TIME TINYBLOB BLOB MEDIUMBLOB LONGBLOB SET. VARCHAR CHAR  TINYTEXT TEXT MEDIUMTEXT LONGTEXT TINYINT SMALLINT MEDIUMINT. DATA TYPE. - PowerPoint PPT Presentation

Transcript of DATA TYPE

{DATA TYPE

ชนิ�ดของข�อมูล

VARCHAR CHAR  TINYTEXT TEXT MEDIUMTEXT LONGTEXT TINYINT SMALLINT MEDIUMINT

DATA TYPE

INT BIGINT FLOAT[(M,D)] DOUBLE[(M,D)] DECIMAL[(M,D)] DATE  DATETIME TIMESTAMP[(M)] TIME TINYBLOB BLOB MEDIUMBLOB LONGBLOB SET

  สำ �หรั�บเก็�บข�อมูลปรัะเภทตั�วอ�ก็ษรั เมู��อเล�อก็ชนิ�ดของฟิ ลด! เป"นิปรัะเภทนิ#$ จะตั�องมู# ก็�รัก็ �หนิดคว�มูย�วของข�อมูลลง

ไปด�วย ซึ่*�งสำ�มู�รัถก็ �หนิดค,�ได�ตั�$งแตั, 1 - 255 เหมู�ะ สำ �หรั�บก็�รัเก็�บข�อมูลสำ�$นิๆ เช,นิ ช��อ นิ�มูสำก็/ล หรั�อห�วข�อ

ตั,�งๆ เป"นิตั�นิ... ในิสำ,วนิฟิ ลด!ปรัะเภทนิ#$ จะ สำ�มู�รัถเล�อก็ "แอตัทรั�บ�วตั!" เป"นิ

BINARY ได� โดยปก็ตั�แล�วก็�รัจ�ดเรั#ยงข�อมูลเวล�สำ�บค�นิ(query) สำ �หรั�บ VARCHAR จะเป"นิแบบ case-sensitive ( ตั�วอ�ก็ษรัใหญ่, และเล�ก็มู#คว�มูหมู�ยแตัก็ตั,�งก็�นิ) แตั, ห�ก็รัะบ/ "แอตัทรั�บ�วตั!" เป"นิ BINARY ป/3บ ก็�รั

สำ�บค�นิจะไมู,ค �นิ*งตั�วอ�ก็ษรัว,�จะเป"นิตั�วใหญ่, หรั�อตั�วเล�ก็

VARCHAR

สำ �หรั�บเก็�บข�อมูลปรัะเภทตั�วอ�ก็ษรั แบบท#�ถก็ จ �ก็�ดคว�มูก็ว��งเอ�ไว�ค�อ 255 ตั�วอ�ก็ษรั ไมู,

สำ�มู�รัถปรั�บเปล#�ยนิได�เหมู�อนิก็�บVARCHAR ห�ก็ท �ก็�รัสำ�บค�นิโดยเรั#ยง

ตั�มูล �ด�บ ก็�จะเรั#ยงข�อมูลแบบ case-sensitive เว�นิแตั,จะก็ �หนิดแอตัทรั�บ�วตั!

เป"นิ BINARY ท#�จะท �ให�ก็�รัเรั#ยงข�อมูลเป"นิ แบบ non case-sensitive เช,นิเด#ยวก็�บ

VARCHAR

CHAR

  ในิก็รัณี#ท#�ข�อคว�มูย�วๆ หรั�อตั�องก็�รัท#�จะค�นิห� ข�อคว�มู โดยอ�ศั�ยฟิ6เจอรั! FULL TEXT SEARCH

ของ MySQL เรั�อ�จจะเล�อก็ท#�จะไมู,เก็�บข�อมูลลงในิ ฟิ ลด!ปรัะเภท VARCHAR ท#�มู#ข�อจ �ก็�ดแค, 256 ตั�ว

อ�ก็ษรั แตั,เรั�จะเก็�บลงฟิ ลด!ปรัะเภท TEXT แทนิ โดยTINYTEXT นิ#$ จะสำ�มู�รัถเก็�บข�อมูล ได� 256 ตั�ว

อ�ก็ษรั ซึ่*�งมูองเผิ�นิๆ ก็�ไมู,ตั,�งก็�บเก็�บลงฟิ ลด!ปรัะเภทCHAR หรั�อ VARCHAR(255) เลย แตั,จรั�งๆ มู�นิ

ตั,�งก็�นิตัรังท#� มู�นิท �FULL TEXT SEARCH ได�

TINYTEXT

 สำ �หรั�บเก็�บข�อมูลปรัะเภทตั�ว อ�ก็ษรั เช,นิเด#ยวก็�บ

TINYTEXT แตั,สำ�มู�รัถ เก็�บได�มู�ก็ข*$นิ โดย สำงสำ/ดค�อ

65,535 ตั�วอ�ก็ษรั หรั�อ64KB เหมู�ะสำ �หรั�บเก็�บ

ข�อมูลพวก็เนิ�$อห�ตั,�งๆ ท#� ย�วๆ

TEXT

  เก็�บข�อมูลปรัะเภทตั�วอ�ก็ษรั เช,นิ เด#ยวก็�บ TINYTEXT แตั,เก็�บ ข�อมูลได� 16,777,215 ตั�วอ�ก็ษรั

MEDIUMTEXT

  เก็�บข�อมูลปรัะเภทตั�วอ�ก็ษรั เช,นิ เด#ยวก็�บ TINYTEXT แตั,เก็�บ ข�อมูลได� 4,294,967,295 ตั�ว

อ�ก็ษรั

LONGTEXT

  สำ �หรั�บเก็�บข�อมูลชนิ�ดตั�วเลขท#�มู#ขนิ�ด 8 บ�ตั ข�อมูลปรัะเภทนิ#$เรั� สำ�มู�รัถก็ �หนิดเพ��มูเตั�มู ในิสำ,วนิของ "แอตัทรั�บ�วตั!" ได�ว,�จะเล�อก็เป"นิ

UNSIGNED หรั�อ UNSIGNED ZEROFILL โดยจะ มู# คว�มูแตัก็ตั,�งด�งนิ#$

      - UNSIGNED : จะหมู�ยถ*งเก็�บค,�ตั�วเลขแบบไมู,มู# เครั��องหมู�ย แบบนิ#$จะท �ให�สำ�มู�รัถเก็�บค,�ได� ตั�$งแตั, 0 - 255

     - UNSIGNED ZEROFILL : เหมู�อนิข��งตั�นิ แตั,ว,�ห�ก็ ข�อมูลท#�ก็รัอก็เข��มู�ไมู,ครับตั�มูจ �นิวนิ หล�ก็ท#�เรั�ก็ �หนิด ตั�ว

MySQL จะท �ก็�รัเตั�มู 0 ให�ครับหล�ก็เอง เช,นิ ถ��ก็ �หนิดให�ใสำ,ได� 3 หล�ก็ แล�วท �ก็�รัเก็�บข�อมูล 25 เข��ไป เวล�ท#�สำ�บค�นิด เรั�จะได�ค,�ออก็

มู�เป"นิ 025 ห�ก็ไมู,เล�อก็ "แอตัทรั�บ�วตั!" สำ��งท#�เรั�จะได�ก็�ค�อSIGNED นิ��นิก็�ค�อตั�องเสำ#ยบ�ตันิ*งไปเก็�บเครั��องหมู�ย บวก็/ ลบ ท �

ให�สำ�มู�รัถเก็�บข�อมูลได�อย,ในิช,วง -128 ถ*ง 127 เท,�นิ�$นิTINYINT

สำ �หรั�บเก็�บข�อมูลปรัะเภทตั�วเลขท#�มู#ขนิ�ด 16 บ�ตั จ*งสำ�มู�รัถเก็�บค,�ได�ตั�$งแตั, -32768 ถ*ง

32767 (ในิก็รัณี#แบบค�ดเครั��องหมู�ย) หรั�อ 0 ถ*ง 65535 ( ในิก็รัณี#

UNSIGNED หรั�อไมู,ค�ดเครั��องหมู�ย) สำ�มู�รัถเล�อก็ Attribute เป"นิUNSIGNED และ UNSIGNED ZEROFILL ได�เช,นิเด#ยวก็�บ TINYINT

SMALLINT

สำ �หรั�บเก็�บข�อมูลปรัะเภทตั�วเลขท#�มู#ขนิ�ด 24 บ�ตั นิ��นิก็�หมู�ยคว�มูว,�สำ�มู�รัถเก็�บ ข�อมูลตั�วเลขได�

ตั�$งแตั, -8388608 ไปจนิถ*ง 8388607 (ในิก็รัณี#แบบค�ดเครั��องหมู�ย) หรั�อ 0 ถ*ง 16777215

( ในิก็รัณี#ท#�เป"นิ UNSIGNED หรั�อไมู,ค�ดเครั��องหมู�ย) ซึ่*�งสำ�มู�รัถเล�อก็ Attribute เป"นิUNSIGNED และ UNSIGNED ZEROFILL ได�เช,นิเด#ยวก็�บ TINYINT

MEDIUMINT

  สำ �หรั�บเก็�บข�อมูลปรัะเภทตั�วเลขท#�มู#ขนิ�ด 32 บ�ตั หรั�อสำ�มู�รัถเก็�บข�อมูลได�ตั�$งแตั, -2147483648 ไป

จนิถ*ง 2147483647 ครั�บ (ในิก็รัณี#แบบค�ดเครั��องหมู�ย) หรั�อ 0 ถ*ง 4294967295 (ในิก็รัณี#ท#�เป"นิ

UNSIGNED หรั�อไมู,ค�ดเครั��องหมู�ย) ซึ่*�งสำ�มู�รัถ เล�อก็ Attribute เป"นิ UNSIGNED และ

UNSIGNED ZEROFILL ได�เช,นิเด#ยว ก็�บ TINYINT 

INT

สำ �หรั�บเก็�บข�อมูลปรัะเภทตั�วเลขท#�มู#ขนิ�ด 64 บ�ตั สำ�มู�รัถเก็�บข�อมูลได�ตั�$งแตั, -

9223372036854775808 ไปจนิถ*ง9223372036854775807 (แบบค�ดเครั��องหมู�ย) หรั�อ 0 ถ*ง18446744073709551615 ( ในิก็รัณี#ท#�เป"นิUNSIGNED หรั�อไมู,ค�ดเครั��องหมู�ย) ซึ่*�งสำ�มู�รัถ

เล�อก็ Attribute เป"นิ UNSIGNED และUNSIGNED ZEROFILL ได�เช,นิเด#ยวก็�บTINYINT

BIGINT

  ท#�ก็ล,�วถ*งไปท�$งหมูด ในิตัรัะก็ล INT นิ�$นิจะเป"นิ เลขจ �นิวนิเตั�มู ห�ก็เรั�บ�นิท*ก็ข�อมูล ท#�มู#เศัษทศันิ�ยมู

มู�นิจะถก็ป9ดท�นิท# ด�งนิ�$นิห�ก็ตั�องก็�รัจะเก็�บค,�ท#�เป"นิ เลขทศันิ�ยมู ตั�องเล�อก็ชนิ�ดขอฟิ ลด! เป"นิ FLOAT

โดยจะเก็�บข�อมูลแบบ 32 บ�ตั ค�อมู#ค,�ตั�$งแตั, -3.402823466E+38 ไปจนิถ*ง -1.175494351E- 38, 0 และ1.175494351E-38 ถ*ง3.402823466E+38

FLOAT[(M,D)]

  สำ �หรั�บเก็�บข�อมูลปรัะเภทตั�วเลขทศันิ�ยมู เช,นิเด#ยวก็�บ FLOAT แตั,มู#ขนิ�ดเป"นิ 64

บ�ตั สำ�มู�รัถเก็�บได�ตั�$งแตั, -1.7976931348623157E+308 ถ*ง -2.2250738585072014E-308, 0 และ

2.2250738585072014E-308 ถ*ง1.7976931348623157E+308

DOUBLE[(M,D)]

  เก็�บข�อมูลตั�วเลขทศันิ�ยมู เช,นิเด#ยวก็�บ FLOAT แตั,ใช�ก็�บข�อมูล ท#� ตั�องก็�รัคว�มูละเอ#ยดและถก็ตั�องของข�อมูลสำง

เก็#�ยวก็�บข�อมูลปรัะเภท FLOAT, DOUBLE และ DECIMAL ก็�ค�อ เวล�ก็ �หนิดคว�มู ย�วของข�อมูลในิฟิ ลด! จะถก็ก็ �หนิดอย,ในิ

รัปแบบ (M,D) ซึ่*�งหมู�ยคว�มูว,� ตั�องมู#ก็�รัรัะบ/ว,� จะให�มู# ตั�วเลข สำ,วนิท#�เป"นิจ �นิวนิเตั�มูก็#�หล�ก็ และมู#เลขทศันิ�ยมูก็#�หล�ก็ เช,นิ ถ��เรั�

ก็ �หนิดว,� FLOAT(5,2) จะ หมู�ยคว�มูว,� เรั�จะเก็�บข�อมูลเป"นิ ตั�วเลขจ �นิวนิเตั�มู 5 หล�ก็ และทศันิ�ยมู 2 หล�ก็ ด�งนิ�$นิห�ก็ท �ก็�รั

ใสำ, ข�อมูล 12345.6789 เข��ไป สำ��งท#�จะเข��ไปอย,ในิข�อมูลจรั�งๆ ก็� ค�อ 12345.68 ( ป9ดเศัษให�มู#จ �นิวนิหล�ก็ ตั�มูท#�ก็ �หนิดไว�)

DECIMAL[(M,D)]

สำ �หรั�บเก็�บข�อมูลปรัะเภทว�นิท#� โดยเก็�บได�จ�ก็ 1 มูก็รั�คมู ค.ศั.

1000 ถ*ง 31 ธั�นิว�คมู ค.ศั. 9999 โดยจะแสำดงผิลในิรัป

แบบ YYYY-MM-DD

DATE 

  สำ �หรั�บเก็�บข�อมูลปรัะเภทว�นิท#� และ เวล� โดยจะเก็�บได�ตั�$งแตั, 1 มูก็รั�คมู

ค.ศั. 1000 เวล� 00:00:00 ไป จนิถ*ง 31 ธั�นิว�คมู ค.ศั. 9999

เวล� 23:59:59 โดยรัปแบบก็�รั แสำดงผิล เวล�ท#�ท �ก็�รั

สำ�บค�นิ(query) ออก็มู� จะเป"นิYYYY-MM-DD HH:MM:SS 

DATETIME

  สำ �หรั�บเก็�บข�อมูลปรัะเภทว�นิท#� และเวล�เช,นิ ก็�นิ แตั,จะเก็�บในิรัปแบบของ

YYYYMMDDHHMMSS หรั�อYMMDDHHMMSS หรั�อYYYYMMDD หรั�อ YYMMDD แล�วแตั,

ว,�จะรัะบ/ค,� M เป"นิ 14, 12, 8 หรั�อ 6 ตั�มูล �ด�บ สำ�มู�รัถเก็�บได�ตั�$งแตั,ว�นิท#� 1

มูก็รั�คมู ค.ศั. 1000 ไป จนิถ*งปรัะมู�ณีป6ค.ศั. 2037

TIMESTAMP[(M)]

สำ �หรั�บเก็�บข�อมูลปรัะเภทเวล� มู#ค,�ได�ตั�$งแตั, -838:59:59 ไปจนิถ*ง 838:59:59 โดยจะ

แสำดงผิล ออก็มู�ในิรัปแบบ HH:MM:SS YEAR[(2/4)] : สำ �หรั�บเก็�บข�อมูลปรัะเภทป6 ในิ

รัปแบบ YYYY หรั�อ YY แล�วแตั,ว,�จะเล�อก็ 2 หรั�อ 4 ( ห�ก็ไมู,รัะบ/ จะถ�อว,�เป"นิ 4 หล�ก็) โดยห�ก็

เล�อก็เป"นิ 4 หล�ก็ จะเก็�บค,�ได�ตั�$งแตั, ค.ศั. 1901 ถ*ง 2155 แตั, ห�ก็เป"นิ 2 หล�ก็ จะเก็�บตั�$งแตั,

ค.ศั. 1970 ถ*ง 206

TIME

ข�อสำ�งเก็ตั ค,�ท#�เก็�บในิข�อมูลปรัะเภทTIMESTAMP และ YEAR นิ�$นิจะมู#คว�มูสำ�มู�

รัถพอๆ ก็�บ ก็�รัเก็�บข�อมูลว�นิเด�อนิป6 และเวล� ด�วย ฟิ ลด!ชนิ�ด VARCHAR แตั,ตั,�งก็�นิตัรังท#� จะใช�

เนิ�$อท#�เก็�บข�อมูล นิ�อยก็ว,�

TIME

ทว,� ฟิ ลด!ปรัะเภท TIMESTAMP นิ�$นิจะมู#ข�อ จ �ก็�ดในิเรั��องของเวล�ท#�สำ�มู�รัถเก็�บได� ค�อ จะตั�อง

อย,ในิรัะหว,�ง 1 มูก็รั�คมู ค.ศั. 1000 ไปจนิถ*ง แถวๆ ค.ศั. 2037 อย,�งท#�บอก็ แตั,ห�ก็เก็�บเป"นิ

VARCHAR นิ�$นิจะไมู,ตั�ดข�อจ �ก็�ดนิ#$ ฟิ ลด!ชนิ�ดYEAR ก็�เช,นิก็�นิครั�บ... ใช�เนิ�$อท#�แค, 1 ไบตั!เท,�นิ�$นิ

ในิก็�รั เก็�บข�อมูล แตั,ข�อจ �ก็�ดจะอย,ท#� ป6 ค.ศั. 1901 ถ*ง 2155 เท,�นิ�$นิ ( หรั�อ ค.ศั. 1970 ถ*ง2069 ในิก็รัณี# 2 หล�ก็) แตั,ห�ก็เก็�บเป"นิVARCHAR จะได�ตั�$งแตั, 0000 ถ*ง 9999 เลย

TIME

  สำ �หรั�บเก็�บข�อมูลปรัะเภทไบนิ�รั# ได�แก็, ไฟิล!ข�อมูลตั,�งๆ, ไฟิล!รัปภ�พ,

ไฟิล!มู�ลตั�มู#เด#ย เป"นิตั�นิ ค�อไฟิล!อะไรัก็�ตั�มูท#�อ�พโหลดผิ,�นิฟิอรั!มูอ�พโหลด

ไฟิล!ในิภ�ษ� HTML โดยTINYBLOB นิ�$นิจะมู#เนิ�$อท#�ให�เก็�บ

ข�อมูลได� 256 ไบตั!

TINYBLOB

สำ �หรั�บเก็�บข�อมูลปรัะเภท ไบนิ�รั# เช,นิเด#ยวก็�บ

TINYBLOB แตั,สำ�มู�รัถ เก็�บข�อมูลได� 64KB

BLOB

สำ �หรั�บเก็�บข�อมูลปรัะเภท ไบนิ�รั# เช,นิเด#ยวก็�บ

TINYBLOB แตั,เก็�บข�อมูล ได� 16MB

MEDIUMBLOB

สำ �หรั�บเก็�บข�อมูลปรัะเภทไบนิ�รั# เช,นิเด#ยวก็�บTINYBLOB แตั,เก็�บข�อมูลได� 4GB ข�อสำ�งเก็ตั ข�อมูล

ปรัะเภท BLOB นิ�$นิ แมู�จะมู#ปรัะโยชนิ!ในิเรั��องของก็�รัเก็�บ ข�อมูลปรัะเภท BINARY ให�อย,ก็�บตั�วฐ�นิข�อมูล ท �ให�

สำะดวก็เวล�สำ�บค�นิก็�ตั�มู แตั,มู�นิก็�ท �ให�ฐ�นิข�อมูลมู#ขนิ�ด ใหญ่, เก็�นิคว�มูจ �เป"นิด�วย ท �ให�เก็�ดคว�มูไมู,สำะดวก็ในิก็�รั

สำ �รัองฐ�นิข�อมูลในิก็รัณี#ท#�มู#ข�อมูลอ�พโหลดไปเก็�บมู�ก็ๆ โดยปก็ตั�แล�ว จะใช�ว�ธั#ก็�รัอ�พโหลดไปเก็�บไว�ในิโฟิลเดอรั!

แล�วเก็�บล�งก็!ไปย�งไฟิล!เหล,�นิ�$นิ เป"นิฟิ ลด!ชนิ�ดVARCHAR มู�ก็ก็ว,�

LONGBLOB

 สำ �หรั�บเก็�บข�อมูลท#�เป"นิก็ล/,มูของ ข�อมูลท#�ยอมูให�เล�อก็ได� 1 ค,�

หรั�อหล�ยๆ ค,� ซึ่*�งสำ�มู�รัถ ก็ �หนิด ได�ถ*ง 64 ค,�

SET