วันจันทร์ที่ 2 พฤศจิกายน พ.ศ. 2552

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

VARCHAR คล้ายกับแบบ CHAR(M) แต่สามารถปรับขนาดตามข้อมูลที่เก็บในฟิลด์ได้ ความกว้างเป็นได้ตั้งแต่ 1 ถึง 255 ตัวอักษร
TINYINT สำหรับเก็บข้อมูลชนิดตัวเลขที่มีขนาด 8 บิต ข้อมูลประเภทนี้เราสามารถกำหนดเพิ่มเติม ในส่วนของ "แอตทริบิวต์" ได้ว่าจะเลือกเป็น UNSIGNED หรือ UNSIGNED ZEROFILL โดยจะมีความแตกต่างดังนี้UNSIGNED : จะหมายถึงเก็บค่าตัวเลขแบบไม่มีเครื่องหมาย แบบนี้จะทำใหสามารถเก็บค่าได้ ตั้งแต่ 0 - 255 UNSIGNED ZEROFILL : เหมือนข้างต้น แต่ว่าหากข้อมูลที่กรอกเข้ามาไม่ครบตามจำนวน หลักที่เรากำหนด ตัว MySQL จะทำการเติม 0 ให้ครบหลักเอง เช่น ถ้ากำหนดให้ใส่ได้ 3 หลัก แล้วทำการเก็บข้อมูล 25 เข้าไป เวลาที่สืบค้นดู เราจะได้ค่าออกมาเป็น 025 หากไม่เลือก "แอ ตทริบิวต์" สิ่งที่เราจะได้ก็คือ SIGNED นั่นก็คือต้องเสียบิตนึงไปเก็บเครื่องหมาย บวก/ลบ ทำ ให้สามารถเก็บข้อมูลได้อยู่ในช่วง -128 ถึง 127 เท่านั้น
TEXT เป็น text ที่ความกว้างเป็นได้สูงสุด 65,535 ตัวอักษร
DATE ขนาดที่เก็บ 3 ไบต์เก็บค่าวันที่ในรูปแบบ YYYY-MM-DDโดยมีค่าตั้งแต่ 1000-01-01 ถึง 9999-12-31
SMALLINT สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 16 บิต จึงสามารถเก็บค่าได้ตั้งแต่ -32768 ถึง 32767 (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 65535 (ในกรณี UNSIGNED หรือไม่คิดเครื่องหมาย)ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT
MEDIUMINT สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 24 บิต นั่นก็หมายความว่าสามารถเก็บ ข้อมูลตัวเลขได้ตั้งแต่ -8388608 ไปจนถึง 8388607 (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 16777215(ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ T
INT ขนาดที่เก็บ 4 ไบต์UNSIGNED เก็บค่าจำนวนเต็ม 0 ถึง 4294967295SIGNED เก็บค่าจำนวนเต็ม -2147483648 ถึง 2147483647
BIGINT ขนาดที่เก็บ 8 ไบต์UNSIGNED เก็บค่าจำนวนเต็ม 0 ถึง 18446744073709551615SIGNED เก็บค่าจำนวนเต็ม -9223372036854775808 ถึง 9223372036854775807
FLOAT ขนาดที่เก็บ 4 ไบต์เก็บค่าจำนวนจริงแบบ IEEEตั้งแต่ -3.402823466E+38 ถึง -1.175494351E-38และ 0และ 1.175494351E-38 ถึง 3.402823466E+38
DOUBLE ขนาดที่เก็บ 8 ไบต์เก็บค่าจำนวนจริงแบบ IEEEตั้งแต่ -1.7976931348623157E+308 ถึง -2.2250738585072014E-308และ 0และ 2.2250738585072014E-308 ถึง 1.7976931348623157E+308
DECIMAL สำหรับเก็บข้อมูลประเภทตัวเลขทศนิยม เช่นเดียวกับ FLOAT แต่ใช้กับข้อมูลที่ ต้องการความละเอียดและถูกต้องของข้อมูลสูง ข้อสังเกต เกี่ยวกับข้อมูลประเภท FLOAT, DOUBLE และ DECIMAL ก็คือ เวลากำหนดความ ยาวของข้อมูลในฟิลด์ จะถูกกำหนดอยู่ในรูปแบบ (M,D) ซึ่งหมายความว่า ต้องมีการระบุว่า จะให้มี ตัวเลขส่วนที่เป็นจำนวนเต็มกี่หลัก และมีเลขทศนิยมกี่หลัก เช่น ถ้าเรากำหนดว่า FLOAT(5,2) จะ หมายความว่า เราจะเก็บข้อมูลเป็นตัวเลขจำนวนเต็ม 5 หลัก และทศนิยม 2 หลัก ดังนั้นหากทำการใส่ ข้อมูล 12345.6789 เข้าไป สิ่งที่จะเข้าไปอยู่ในข้อมูลจริงๆ ก็คือ 12345.68 (ปัดเศษให้มีจำนวนหลัก ตามที่กำหนดไว้)
DATETIME ขนาดที่เก็บ 8 ไบต์เก็บค่าวันที่และเวลาในรูปแบบ YYYY-MM-DD HH:mm:SSโดยมีค่าตั้งแต่ 1000-01-01 00:00:00 ถึง 9999-12-31 23:59:59
TIMESTAMP ขนาดที่เก็บ 4 ไบต์เก็บวันที่และเวลาในรูปแบบ String Timestampm = 14 หรือไม่กำหนด -> YYYYMMDDHHmmSSm = 12 -> YYMMDDHHmmSSm = 10 -> YYMMDDHHmmm = 8 -> YYYYMMDDm = 6 -> YYMMDDm = 4 -> YYMMm = 2 -> YYโดยมีค่าตั้งแต่ 1970-01-01 00:00:00 ถึง 2037
TIME ข้อมูลประเภทเวลา สามารถเป็นได้ตั้งแต่ ‘-838:59:59’ ถึง ‘838:59:59’ แสดงผลในรูปแบบ HH:MM:SS
YEAR ข้อมูลประเภทปี คศ โดยสามารถเลือกว่าจะใช้แบบ 2 หรือ 4 หลัก
ถ้าเป็น 2 หลักจะใช้ได้ตั้งแต่ปี คศ 1901 ถึง 2155ถ้าเป็น 4 หลักจะใช้ได้ตั้งแต่ปี คศ 1970 ถึง 2069
CHAR เป็นข้อมูลสตริงที่จำกัดความกว้าง ไม่สามารถปรับขนาดได้ ขนาดความกว้างเป็นได้ตั้งแต่ 1 ถึง 255 ตัวอักษร
TINYBLOB ขนาดที่เก็บตามข้อมูลจริง +1 ไบต์ แต่ไม่เกิน 255 ไบต์เก็บค่าอักษรตามรหัส ASCII หรือข้อมูล BINARY
TINYTEXT ขนาดที่เก็บตามข้อมูลจริง +1 ไบต์ แต่ไม่เกิน 255 ไบต์เก็บค่าอักษรตามรหัส ASCII หรือข้อมูล BINARY
BLOB ขนาดที่เก็บตามข้อมูลจริง +2 ไบต์ แต่ไม่เกิน 65535 ไบต์เก็บค่าอักษรตามรหัส ASCII หรือข้อมูล BINARY
MEDIUMBLOB ขนาดที่เก็บตามข้อมูลจริง +3 ไบต์ แต่ไม่เกิน 16777215 ไบต์เก็บค่าอักษรตามรหัส ASCII หรือข้อมูล BINARY
MEDIUMTEXTขนาดที่เก็บตามข้อมูลจริง +3 ไบต์ แต่ไม่เกิน 16777215 ไบต์เก็บค่าอักษรตามรหัส ASCII หรือข้อมูล BINARY
LONGBLOB ขนาดที่เก็บตามข้อมูลจริง +4 ไบต์ แต่ไม่เกิน 4294967295 ไบต์เก็บค่าอักษรตามรหัส ASCII หรือข้อมูล BINARY
LONGTEXT ขนาดที่เก็บตามข้อมูลจริง +4 ไบต์ แต่ไม่เกิน 4294967295 ไบต์เก็บค่าอักษรตามรหัส ASCII หรือข้อมูล BINARY
ENUM ขนาดที่เก็บ 1 หรือ 2 ไบต์ ตามจำนวนค่า value ซึ่งกำหนดได้มากที่สุด 65535 ค่าเก็บค่าตาม value ที่กำหนด
SET ขนาดที่เก็บ 1, 2, 3, 4 หรือ 8 ไบต์ ตามจำนวนค่า value ซึ่งกำหนดได้มากที่สุด 64 ค่าเก็บค่าตาม value ที่กำหนด
BOOL เป็นชนิดข้อมูลที่เก็บได้เพียง2ค่าเท่านั้น คือ True กับ false
BINARY ระบบเลขที่มีสัญลักษณ์เพียงสองตัวคือ 0 (ศูนย์) กับ 1 (หนึ่ง) บางครั้งอาจหมายถึงการที่มีโอกาสเลือกได้เพียง 2 ทาง เช่น ปิดกับเปิด, ไม่ใช่กับใช่, เท็จกับจริง, ซ้ายกับขวา เป็นต้น
VARBINARY คือ มีลักษณะการเก็บคล้าย Varcha คือการเก็บข้อมูลตามที่รับมาจริงเท่านั้น มีขนาดสูงสุดมากถึง 8000 ไบต์

ไม่มีความคิดเห็น:

แสดงความคิดเห็น