MySQL ใช้ข้อมูลประเภทต่างๆ มากมาย แบ่งออกเป็นสามประเภท -
- ตัวเลข
- วันที่และเวลา
- ประเภทสตริง
ประเภทข้อมูลที่เป็นตัวเลข
MySQL ใช้ประเภทข้อมูลตัวเลขมาตรฐาน ANSI SQL ทั้งหมด ดังนั้นหากคุณมาที่ MySQL จากระบบฐานข้อมูลอื่น คำจำกัดความเหล่านี้จะดูคุ้นเคยสำหรับคุณ
รายการต่อไปนี้แสดงประเภทข้อมูลตัวเลขทั่วไปและคำอธิบาย -
- INT – จำนวนเต็มขนาดปกติที่สามารถเซ็นชื่อหรือไม่เซ็นก็ได้ หากลงนาม ช่วงที่อนุญาตคือตั้งแต่ -2147483648 ถึง 2147483647 หากไม่ได้ลงนาม ช่วงที่อนุญาตคือ 0 ถึง 4294967295 คุณสามารถระบุความกว้างได้สูงสุดถึง 11 หลัก
- TINYINT – จำนวนเต็มขนาดเล็กมากที่สามารถเซ็นชื่อหรือไม่เซ็นก็ได้ หากลงนาม ช่วงที่อนุญาตคือตั้งแต่ -128 ถึง 127 หากไม่ได้ลงนาม ช่วงที่อนุญาตคือ 0 ถึง 255 คุณสามารถระบุความกว้างได้ถึง 4 หลัก
- ตัวเล็ก – จำนวนเต็มขนาดเล็กที่สามารถเซ็นชื่อหรือไม่เซ็นก็ได้ หากลงนาม ช่วงที่อนุญาตคือตั้งแต่ -32768 ถึง 32767 หากไม่ได้ลงนาม ช่วงที่อนุญาตคือ 0 ถึง 65535 คุณสามารถระบุความกว้างได้สูงสุด 5 หลัก
- ปานกลาง – จำนวนเต็มขนาดกลางที่สามารถเซ็นชื่อหรือไม่เซ็นก็ได้ หากลงนาม ช่วงที่อนุญาตคือตั้งแต่ -8388608 ถึง 8388607 หากไม่ได้ลงชื่อ ช่วงที่อนุญาตคือตั้งแต่ 0 ถึง 16777215 คุณระบุความกว้างได้สูงสุด 9 หลัก
- ใหญ่ – จำนวนเต็มขนาดใหญ่ที่สามารถเซ็นชื่อหรือไม่เซ็นก็ได้ หากลงนาม ช่วงที่อนุญาตคือตั้งแต่ -9223372036854775808 ถึง 9223372036854775807 หากไม่ได้ลงชื่อ ช่วงที่อนุญาตคือ 0 ถึง 18446744073709551615 คุณระบุความกว้างได้สูงสุด 20 หลัก
- FLOAT(M,D) - เลขทศนิยมที่ไม่สามารถยกเลิกได้ คุณสามารถกำหนดความยาวที่แสดง (M) และจำนวนทศนิยม (D) นี้ไม่จำเป็นและจะ
ค่าเริ่มต้นคือ 10,2 โดยที่ 2 คือจำนวนทศนิยมและ 10 คือจำนวนหลักทั้งหมด (รวมทศนิยม) ความแม่นยำของทศนิยมสามารถไปถึง 24 ตำแหน่งสำหรับ FLOAT - สองเท่า(M,D) – ตัวเลขทศนิยมความแม่นยำสองเท่าที่ไม่สามารถยกเลิกการลงนามได้ คุณสามารถกำหนดความยาวการแสดงผล (M) และจำนวนทศนิยม (D) ได้
- ทศนิยม(M,D) – เลขทศนิยมที่คลายแพ็กซึ่งไม่สามารถยกเลิกการลงนามได้ ในทศนิยมที่คลายแพ็ก ทศนิยมแต่ละตัวจะสัมพันธ์กับหนึ่งไบต์ จำเป็นต้องกำหนดความยาวในการแสดงผล (M) และจำนวนทศนิยม (D) NUMERIC เป็นคำพ้องความหมายสำหรับ DECIMAL
ไม่จำเป็นและจะมีค่าเริ่มต้นเป็น 16,4 โดยที่ 4 คือจำนวนทศนิยม ความแม่นยำของทศนิยมสามารถไปที่ 53 ตำแหน่งสำหรับสองเท่า REAL เป็นคำพ้องความหมายสำหรับ DOUBLE
ประเภทวันที่และเวลา
ประเภทข้อมูลวันที่และเวลาของ MySQL มีดังนี้ -
- วันที่ - วันที่อยู่ในช่วงระหว่าง 1000-01-01 ถึง 9999-12-31 “YYYY-MM-DD” คือรูปแบบ DATE เริ่มต้น ตัวอย่างเช่น วันที่ 17 มกราคม 1984 จะถูกเก็บไว้เป็น 1984-01-17
- DATETIME − ชนิดข้อมูลนี้สนับสนุนวันที่พร้อมกับเวลาในช่วงระหว่าง 1000-01-01 00:00:00 น. และ 9999-12-31 23:59:59 น. “YYYY-MM-DD HH:MM:SS” เป็นรูปแบบ DATETIME เริ่มต้น ตัวอย่างเช่น 2:20 ในช่วงบ่ายของวันที่ 17 มกราคม 1984 จะถูกเก็บไว้เป็น 1984-01-17 14:20:00 น.
- ประทับเวลา − ประเภทข้อมูลการประทับเวลารองรับวันที่พร้อมกับเวลาในช่วงระหว่าง '1970-01-01 00:00:01' ถึง '2038-01-19 08:44:07' มันเหมือนกับประเภทข้อมูล DATETIME ตัวอย่างเช่น 2:20 ในช่วงบ่ายของวันที่ 17 มกราคม 1984 จะถูกเก็บไว้เป็น 1984-01-17 14:20:00 น.
- เวลา − จัดเก็บเวลาในรูปแบบ HH:MM:SS
- ปี(M) − จัดเก็บปีในรูปแบบ 2 หลักหรือ 4 หลัก หากระบุความยาวเป็น 2 (เช่น YEAR(2)) YEAR อาจอยู่ระหว่างปี 1970 ถึง 2069 (70 ถึง 69) หากกำหนดความยาวเป็น 4 YEAR จะเป็น 1901 ถึง 2155 ค่าความยาวเริ่มต้นคือ 4
ประเภทสตริง
แม้ว่าประเภทตัวเลขและวันที่จะสนุก แต่ข้อมูลส่วนใหญ่ที่คุณจะจัดเก็บจะเป็นสตริง
รูปแบบ. รายการนี้อธิบายประเภทข้อมูลสตริงทั่วไปใน MySQL
- CHAR(M) – สตริงที่มีความยาวคงที่ระหว่าง 1 ถึง 255 อักขระที่มีความยาว (เช่น CHAR (5)) เสริมด้านขวาด้วยช่องว่างตามความยาวที่ระบุเมื่อจัดเก็บ ไม่จำเป็นต้องกำหนดความยาว แต่ค่าเริ่มต้นคือ 1
- VARCHAR(M) – สตริงความยาวผันแปรได้ระหว่าง 1 ถึง 65,535 อักขระ ตัวอย่างเช่น VARCHAR(25) คุณต้องกำหนดความยาวเมื่อสร้างช่อง VARCHAR
- BLOB หรือ TEXT – ช่องที่มีความยาวสูงสุด 65535 อักขระ BLOB คือ "Binary Large Objects" และใช้เพื่อจัดเก็บข้อมูลไบนารีจำนวนมาก เช่น รูปภาพหรือไฟล์ประเภทอื่นๆ ฟิลด์ที่กำหนดเป็น TEXT จะเก็บข้อมูลจำนวนมากเช่นกัน ความแตกต่างระหว่างทั้งสองคือ การเรียงลำดับและการเปรียบเทียบข้อมูลที่เก็บไว้จะคำนึงถึงขนาดตัวพิมพ์บน BLOB และไม่คำนึงถึงขนาดตัวพิมพ์ในฟิลด์ TEXT คุณไม่ได้ระบุความยาวด้วย BLOB หรือ TEXT
- TINYBLOB หรือ TINYTEXT – คอลัมน์ BLOB หรือ TEXT ที่มีความยาวสูงสุด 255 อักขระ คุณไม่ได้ระบุความยาวด้วย TINYBLOB หรือ TINYTEXT
- MEDIUMBLOB หรือ MEDIUMTEXT – คอลัมน์ BLOB หรือ TEXT ที่มีความยาวสูงสุด 16777215 อักขระ คุณไม่ได้ระบุความยาวด้วย MEDIUMBLOB หรือ MEDIUMTEXT
- LONGBLOB หรือ LONGTEXT – คอลัมน์ BLOB หรือ TEXT ที่มีความยาวสูงสุด 4294967295 อักขระ คุณไม่ได้ระบุความยาวด้วย LONGBLOB หรือ LONGTEXT
- ENUM – การแจงนับ ซึ่งเป็นคำศัพท์เฉพาะสำหรับรายการ เมื่อกำหนด ENUM คุณกำลังสร้างรายการของรายการที่ต้องเลือกค่า (หรืออาจเป็น NULL) ตัวอย่างเช่น หากคุณต้องการให้ฟิลด์ของคุณมี "A" หรือ "B" หรือ "C" คุณจะต้องกำหนด ENUM ของคุณเป็น ENUM ('A', 'B', 'C') และเฉพาะค่าเหล่านั้น (หรือ NULL) สามารถเติมข้อมูลในช่องนั้นได้