วันอังคารที่ 1 ธันวาคม พ.ศ. 2558

IP ADDRESS คือ

IP Address คืออะไร  
       IP Address ย่อมาจากคำเต็มว่า Internet Protocal Address คือหมายเลขประจำเครื่องคอมพิวเตอร์แต่ละเครื่องในระบบเครือข่ายที่ใช้โปรโตคอลแบบ TCP/IP 
ถ้าเปรียบเทียบก็คือบ้านเลขที่ของเรานั่นเอง ในระบบเครือข่าย จำเป็นจะต้องมีหมายเลข IP กำหนดไว้ให้กับคอมพิวเตอร์ และอุปกรณ์อื่นๆ ที่ต้องการ IP ทั้งนี้เวลามีการโอนย้ายข้อมูล หรือสั่งงานใดๆ จะสามารถทราบตำแหน่งของเครื่องที่เราต้องการส่งข้อมูลไป จะได้ไม่ผิดพลาดเวลาส่งข้อมูล ซึ่งประกอบด้วยตัวเลข 4 ชุด มีเครื่องหมายจุดขั้นระหว่างชุด  เช่น 192.168.100.1 หรือ 172.16.10.1  เป็นต้น  โดยหมายเลข IP Address ของเครื่องคอมพิวเตอร์แต่ละเครื่องจะมีค่าไม่ซ้ำกัน สิ่งตัวเลข 4 ชุดนี้บอก คือ Network ID กับ Host ID ซึ่งจะบอกให้รู้ว่า เครื่อง computer ของเราอยู่ใน network ไหน และเป็นเครื่องไหนใน network นั้น เราจะรู้ได้อย่างไรว่า Network ID และ Host ID มีค่าเท่าไหร่ ก็ขึ้นอยู่กับว่า IP Address นั้น อยู่ใน class อะไร
       เหตุที่ต้องมีการแบ่ง class ก็เพื่อให้เกิดความเป็นระเบียบ เป็นการแบ่ง IP Address ออกเป็นหมวดหมู่นั้นเอง สิ่งที่จะเป็นตัวจำแนก class ของ network ก็คือ bit ทางซ้ายมือสุดของตัวเลขตัวแรกของ IP Address (ที่แปลงเป็นเลขฐาน 2 แล้ว) นั่นเอง โดยที่ถ้า bit ทางซ้ายมือสุดเป็น 0 ก็จะเป็น class A ถ้าเป็น 10 ก็จะเป็น class B ถ้าเป็น 110 ก็จะเป็น class C ดังนั้น IP Address จะอยู่ใน class A ถ้าตัวเลขตัวแรกมีค่าได้ตั้งแต่ 0 ? 127 (000000002 ? 011111112) จะอยู่ใน class B ถ้าเลขตัวแรกมีค่าตั้งแต่ 128 ? 191 (100000002 ? 101111112) และ จะอยู่ใน class C ถ้าเลขตัวแรกมีค่าตั้งแต่ 192 - 223 (110000002 ? 110111112) มีข้อยกเว้นอยู่นิดหน่อยก็คือตัวเลข 0, 127 จะใช้ในความหมายพิเศษ จะไม่ใช้เป็น address ของ network ดังนั้น network ใน class A จะมีค่าตัวเลขตัวแรก ในช่วง 1 ? 126
       สำหรับตัวเลขตั้งแต่ 224 ขึ้นไป จะเป็น class พิเศษ  อย่างเช่น  Class D ซึ่งถูกใช้สำหรับการส่งข้อมูลแบบ Multicast ของบาง Application และ Class E ซึ่ง Class นี้เป็น Address ที่ถูกสงวนไว้ก่อน ยังไม่ถูกใช้งานจริง ๆ  โดย Class D และ Class E นี้เป็น Class พิเศษ ซึ่งไม่ได้ถูกนำมาใช้งานในภาวะปกติ

    ตัวอย่าง IP Address
    Class A ตั้งแต่ 10.xxx.xxx.xxx
    Class B ตั้งแต่ 172.16.xxx.xxx ถึง 172.31.xxx.xxx
    Class C ตั้งแต่ 192.168.0.xxx ถึง 192.168.255.xxx

       จาก IP Address เราสามารถที่จะบอก ได้คร่าวๆ ว่า computer 2 เครื่องอยู่ใน network วงเดียวกันหรือเปล่าโดยการเปรียบเทียบ Network ID ของ IP Address ถ้ามี Network ID ตรงกันก็แสดงว่าอยู่ใน network วงเดียวกัน เช่น computer เครื่องหนึ่งมี IP Address 1.2.3.4 จะอยู่ใน network วงเดียวกับอีกเครื่องหนึ่งซึ่งมี IP Address 1.100.150.200 เนื่องจากมี Network ID ตรงกันคือ 1 (class A ใช้ Network ID 1 byte)

    วิธีตรวจสอบ IP Address
    1.คลิกปุ่ม Start เลือก Run
    2.พิมพ์คำว่า cmd กดปุ่ม OK
    3.จะได้หน้าต่างสีดำ
    4.พิมพ์คำว่า ipconfig กด enter
    5.จะเห็นกลุ่มหมายเลข IP Address


โปรแกรม เช็คไอพี ความเร็วเน็ต : http://archive.mindphp.com/modules.php?name=Test_Speed_Internet_True
ข้อมูลอ้างอิง
http://www.showded.com
http://www.it-guides.com/index.php

การแก้ไขปัญหาเทคโนโลยีสารสนเทศ

การแก้ปัญหาด้วยกระบวนการสารสนเทศ
การแก้ปัญหามีหลายวิธี ขึ้นกับชนิดของาน วิธีการแก้ปัญหาอย่างหนึ่งอาจแก้ปัญหาอีกอย่างหนึ่งไม่ได้ และการแก้ปัญหาอาจจำเป็นต้องใช้เทคโนโลยีสารสนเทศหรือไม่ก็ได้ ดังนั้น จึงควรยึดหลักการแก้ปัญหาอย่างเป็นระบบ เพื่อไม่ให้เสียเวลา หลงทาง และสับสน วิธีการแก้ปัญหาแต่ละวิธีมีความเหมาะสมกับงานแตกต่างกันไป ก่อนที่จะใช้วิธีแก้ปัญหา ด้วยกระบวนการทางเทคโนโลยีสารสนเทศ จะขอยกวิธีการแก้ปัญหาอย่างมีขั้นตอนโดยทั้วไป มาให้พิจารณาดูจำนวนหนึ่ง
                                                                    
1.1 หลักการแก้ปัญหาตามวิธีวิทยาศาสตร์ ( Scientific method ) วิธีการแก้ปัญหาทางวิทยาศาสตร์เป็นวิธีที่มีมานานมากแล้ว ซึ่งใช้ศึกษาค้นคว้าความรู้ใหม่ๆ ตั้งแต่หลายร้อยปีก่อน จนเกิดความก้าวหน้าทางวิทยาศาสตร์ด้านต่างๆ มากมายอย่างทุกวันนี้ หลักการแก้ปัญหา ทางวิทยาศาสตร์ มีดังนั้
1. เก็บข้อมูลเบื้องต้น โดยการศึกษา สังเกตเหตุการณ์หรือปรากฎการณ์ทางธรรมชาติ
2. ตั้งสมมิฐานเกี่ยวกับสาเหตุ แนวความคิด หรือทฤษฎี ของการเกิดปรากฎการณ์และทางการแก้ปัญหา
3. พัฒนาการวิธีการที่จะทดสอบสมมติฐานหรือทฤษฎีตามข้อ 2
4. ทำการทดลองเพื่อพิสูจน์สมมติฐานหรือทฤษฎี โดยตั้งวัตถุประสงค์ให้ชัดเจน อาจมีการตั้งกลุ่มทดลองภายใต้การควบคุม เปรียบเทียบกับกลุ่มที่ไม่ควบคุม ทำการบันทึกผลการทดลองที่สังเกตพบไว้อย่างละเอียดแม่นยำ
5. วิเคราะห์ผลการทดลอง เพื่อหาคำตอบว่าสมมติฐานที่ตั้งไว้นั้นเป็นจริงหรือไม่
6. เขียนรายงานสรุปผลคำตอบที่ได้ผลที่ได้จากวิธีนี้เป็นที่ยอมรับกันมาก เนื่องจากเป็นวิธีที่พิสูจน์ได้ เห็นผลชัดเจน และ มีวัตถุประสงค์เด่นชัด แต่ผลที่ได้อาจขาดความคิดสร้างสรรค์ หรือบางครั้งสำหรับปัญหาง่ายๆ ก็ไม่จำเป็นต้องใช้ขั้นตอนมากมายเช่นนี้ และปัญหาบางอย่างก็อาจใช้ไม่ได้เลย เพราะทดลองไม่ได้
1.2 หลักการแก้ปัญหาตามวิธีการทางวิศวกรรม ( Engineering problem solving ) วิธีเหมาะกับการแก้ปัญหาในการออกแบบผลิตภัณฑ์ สินคัา หรือเพื่อสร้างสิ่งใหม่หรือเพื่อการแก้ปัญหาในเชิงวิศวกรรม มีขั้นตอนดังนี้
1. วิเคราะห์ปัญหา กำหนดรายละเอียดปัญหาให้ชัดเจนเป็นข้อๆ กำหนดความ ต้องการและข้อจำกัดในการแก้ปัญหาเป็นข้อๆวิเคราะห์ข้อมูลว่ามีข้อมูลใดที่มีอยุ่แล้วและใช้ได้อะไรคือสิ่งที่ยังไม่รู้และต้องการรู้
2. สร้างแบบจำลองวิธีการแก้ปัญหา ( Define model ) อาจเป็นแบบจำลองทางคณิตศาสตร์ หรือบางกรณีต้องสร้างแบบจำลองย่อส่วนจากของจริง คิดค้นหาสูตรสมการที่จะใช้แก้ปัญหา เก็บข้อมูลที่ต้องใช้แก้ปัญหา
3. คำนวณหาคำตอบโดยใช้แบบจำลอง วิธี และสมกาในข้อ 2 ตรวจสอบผลลัพธ์ที่ได้ว่าถูกต้องเหมาะสมหรือไม่
4. ผลลัพธ์หรือคำตอบที่ได้มีเหตุผลว่าถูกต้องเหมาะสม จึงนำไปปฏิบัติ
1.3 วิธีการแก้ปัญหาแบบสร้างสรรค์ ( Creative problem solving ) วิธีนี้เป็นวิธีแก้ปัญหาที่ใช้แนวคิดแบบสร้างสรรค์ สามารถนำไปใช้งานได้กว้างขวาง ซึ่งมีหลายวิธีเช่นกันในที่นี้ขอยกตัวอย่างวิธีของ Sidney J. Parnessดังนี้
1. ใช้ความสังเกตอย่างพินิจพิเคราะห์ คือให้ตื่นตัวตกใจ ใช้ตาดูหูฟัง เพื่อให้มองเห็นปัญหาต่าง ๆ ที่เกิดขึ้น และมองเห็นวิธีแก้ปัญหาที่อาจเป็นไปได้
2. ค้นหาความจริง โดยเก็บรวบรวมข้อมูล เช่น ทำการศึกษา ทดลอง หรือทำวิธีใดๆที่เหมาะสม
3. ค้นหาปัญหา เพื่อดูว่าปัญหาที่แท้จริงคืออะไร สาเหตุของการเกิดคืออะไร
4. ค้นหาแนวความคิดในการแก้ปัญหา โดยการคิดค้นวิธีการแก้ปัญหาหลายๆวิธีที่อาจใช้ได้ อย่าเพิ่งด่วนสรุปวิธีนั้นวิธีนี้ดีที่สุด ทำการประเมินและปรับปรุงแนวคิดให้ดีขึ้น
5. ค้นหาวิธีการแก้ปัญหาที่เหมาะสม โดยการกำหนดเกณฑ์ในการเลือกวิธีใดวิธีหนึ่งจากวิธีที่คิดไว้หลายๆวิธี เช่น เลือวิธีที่เร็ว ราคาถูก และดีเพียงพอกับความต้องการ
6. ค้นหาวิธีการยอมรับวิธีแก้ปัญหาที่เลือกไว้ โดยหาวิธีที่จะทำให้ตนเองและผู้เกี่ยวข้องยอมรับวิธีแก้ปัญหาที่เลือกไว้ร่วมกัน และตกลองแก้ปัญหาด้วยวิธีนั้นข้อเสียของวิธีนี้คือ ไม่กล่าวถึงวิธีการนำไปปฏิบัติ หรือการทดสอบวิธีการแก้ปัญหาที่
เลือกไว้ก่อนนำไปใช้จริง แต่มีจุดเด่นตรงที่ชาวยสรางแนวทางการแก้ปัญหาที่หลากหลาย ที่ผู้ใช้เลือกได้โดยอิสระ
1.4 การแก้ปัญหาด้วยกระบวนการทางเทคโนโลยีสารสนเทศ การแก้ปัญหาที่ซับซ้อนด้วยวิธีการต่างๆ ที่กล่าวมาแล้ว ส่วนมากจำเป็นต้องใช้เทคโนโลยีสารสนเทศเข้าช่วยเพื่อเพิ่มความรวดเร็ว ถูกต้อง และสามารถทำซ้ำได้ง่าย ในกระบวนการทางเทคโนโลยีสารสนเทศเข้าช่วยแก้ปัญหา จำเป็นต้องปรับรูปแบบวิธีการทำงานให้เหมาะสมกับการใช้เทคโนโลยีสารสนเทศ
วิธีการแก้ปัญหาด้วยกระบวนการทางเทคโนโลยีสารสนเทศ เป็นวิธีคล้ายกับการแก้ปัญกาทางวิศวกรรมมาก แต่ในการนำระบบคอมพิวเตอร์ไปใช้ในการแก้ปัญหา หรือเพิ่มประสิทธิภาพในการทำงานใดๆ ก็ตาม จะต้องมีการวิเคราะห์ปัญหาและศึกษาความเป็นไปได้ให้รอบคอบเสียก่อน ทั้งนี้เนื่องจากคอมพิวเตอร์ไม่ใช้เครื่องมือวิเศษที่จะแก้ปัญหได้ทุกเรื่อง
นอกจากนี้ยังจะต้องมีการศึกษาถึงความคุ้มค่าในการลงทุน เพื่อไม่ให้เป็นการลงทุนที่เสียเปล่า ต้องเลือกวิธีการแก้ปัญหาให้เหมาะสมกับงาน จัดหาเครื่องมือและเทคโนโลยีที่ไม่เกินความจำเป็น
การแก้ปัญหาด้วยกระบวนการทางเทคโนโลยีสารสนเทศ เหมาะกับระบบงานที่ต้องทำงานอย่างใดอย่างหนึ่งซึ่งซากและมีปริมาณงานมากหรืองานที่ต้องการความรวดเร็วในการคำนวณเกินกว่าคนธรรมดาจะทำได้ วิธีการโดยทั้วไปคือ ปรับเปลี่ยนวิธีการหรือระบบการทำงานแบบเดิม มาใช้ระบบงานที่มีเครื่องคอมพิวเตอร์ช่วยทำงานเป็นบางส่วน หรือทั้งหมด เท่าที่สามารถจะทำแทนคนได้
ดังนั้น การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ จึงต้องมีการสร้างระบบงานคอมพิวเตอร์ขึ้นมาช่วยทำงานอย่างหลีกเลี่ยงไม่ได้ วิธีการโดยทั้วไป เราอาจไม่ต้องสร้างระบบงานทั้งหมดขึ้นใหม่ แต่พัฒนาระบบงานเดิมให้เป็นระบบงานที่ทำงานโดยคอมพิวเตอร์นิยมเรียกกันว่า การพัฒนาระบบงานคอมพิวเตอร์
1.4.1 ขั้นตอนการพัฒนาระบบงานคอมพิวเตอร์ ตามหลักวิชาว่าด้วยการวิเคราะห์และออกแบบระบบงาน ( System analysis and design ) มีการจัดขั้นตอนการพัฒนาระบบงานคอมพิวเตอร์และสารสนเทศดังนี้
1. วิเคราะห์ระบบงานหรือปัญหา ( System or problem analysis ) รวมถึงรายละเอียดข้อมูลที่ต้องใช้ โดยการศึกษาระบบงานเดิมอย่างละเอียด
2. กำหนดรายละเอียดของความต้องการของผู้ใช้ระบบงาน ( Require-ments specification )
3. ออกแบบขั้นตอนวิธีการทำงานของระบบใหม่
4. ตรวจสอบขั้นตอนวิธีให้ได้ผลตามความต้องการ
5. ออกแบบโปรแกรม ( Program design )
6.เขียนชุดคำสั่ง ( Coding )
7. ทดสอบโปรแกรม ( Testing ) และหาที่ผิดพลาด ( Debuugging )
8. นำโปรแกรมและระบบงานไปใช้งานจริง ( Implementation oroperation )
9. บำรุงรักษา ติดตามผล แก้ไขปรับปรุง ( Software maintenance and improvement ) เพื่อให้ทันสมัยใช้ได้ตลอดไป จะเห็นว่าการพัฒนาระบบสารสนเทศ จำเป็นจะต้องรู้ขั้นตอนวิธีการทำงานของระบบเดิม ตามด้วยการหาวิธีการแก้ปัญหาโดยใช้ระบบคอมพิวเตอร์และโปรแกรม จากนั้นจึงออกแบบวิธีการทำงานในระบบใหม่ให้ระเอียดซึ่งจะต้องมีการสร้างโปรแกรมคอมพิวเตอร์ขึ้นมาช่วยทำงานบางส่วน หรือทั้งหมด
1.4.2 ขั้นตอนการพัฒนาระบบงานโดยการจัดซื้อโปรแกรมสำเร็จรูป ในกรณีที่เราไม่ได้พัฒนาโปรแกรมเอง แต่เป็นการจัดซื้อโปรแกรมสำเร็จรูปมาใช้งาน เราอาจปรับเปลี่ยนขั้นตอนมาเป็นดังนี้
1. วิเคราะห์ปัญหาและระบบงานที่จะทำ ( System or problem analysis ) รวมถึงรายละเอียดข้อมูลที่มีอยุ่
2. กำหนดรายละเอียดของความต้องการของผู้ใช้ระบบงาน ( Require-ments specification )
3. ออกแบบขั้นตอนวิธีการทำงานของระบบใหม่
4. ตรวจสอบขั้นตอนวิธีว่าให้ผลตรงกับที่ต้องการ
5. จัดหาโปรแกรมที่ทำงานตรงตามความต้องการ โดยการซื้อหรือจ้างทำ
6. นำโปรแกรมและระบบงานไปใช้จริง ( Implementation oroperation )
7. บำรุงรักษาระบบ ติดตามผลและแก้ไขปรับปรุง ( Software mainte-mance and improvement )
1.5 เครื่องมือในการวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา ในการออกแบบขั้นตอนวิธีการทำงานเพื่อการแก้ปัญหาต่างๆ หรือการเขียนโปรแกรม จำเป็นต้องใช้เครื่องมือบางอย่างช่วยในการออกแบบและวิเคราะห์วิธีการเพื่อให้ง่ายต่อการมองภาพกระบวนการทำงานของระบบ สามารถตรวจสอบหาที่ผิด รวมทั้งหาทางปรับปรุงให้ดีกว่าเดิมได้ เครื่องมือดังกล่าวที่ง่ายที่สุด ได้แก่ ผังงาน หรือโฟลชาร์ต ( Flowchart ) และรหัสจำลอง ( Pseudo Code )
1.5.1 ผังงาน ( Flowchart ) เป็นเครื่องมือช่วยออกแบบ และวิเคราะห์การทำงานของโปรอกรมแบบรูปภาพขั้นพื้นฐานที่สุด ช่วยให้สามารถมองเห็นภาพของความสัมพันธ์ระหว่างกระบวนการต่างๆ ของระบบงานหรือโปรแกรมได้ง่าย และสามารถตรวจสอบว่าวิธีการนั้น ถูกต้อง มีประสิทธิภาพในการทำงาน และมีความซับซ้อนหรือไม่ ทำให้นำไปเขียนเป็นโปรแกรมได้อย่างถูกต้องซึ่งเหมาะสมสำหรับผู้เริ่มต้นศึกษากลไกของโปรแกรมอย่างละเอียดรวมทั้งเพื่อเป็นการศึกษาคิดค้นขั้นตอนวิธี( algorithm ) ที่ละเอียดอ่อน และยังจัดว่าเป็นกระบวนการที่ไม่ใหญ่และซับซ้อนมากนัก ผังงานประกอบด้วยสัญลักษณ์
จุดเริ่มต้น / สิ้นสุดของโปรแกรม
ลูกศรแสดงทิศทางการทำงานของโปรแกรมและการไหลของข้อมูล
ใช้แสดงคำสั่งในการประมวลผล หรือการกำหนดค่าข้อมูลให้กับตัวแปร
แสดงการอ่านข้อมูลจากหน่วยเก็บข้อมูลสำรองเข้าสู่หน่วยความจำหลักภายในเครื่องหรือการแสดง ผลลัพธ์จากการประมวลผลออกมา
การตรวจสอบเงื่อนไขเพื่อตัดสินใจ โดยจะมีเส้นออกจารรูปเพื่อแสดงทิศทางการทำงานต่อไป เงื่อนไขเป็นจริงหรือเป็นเท็จ
แสดงผลหรือรายงานที่ถูกสร้างออกมา
แสดงจุดเชื่อมต่อของผังงานภายใน หรือเป็นที่บรรจบของเส้นหลายเส้นที่มาจากหลายทิศทางเพื่อ
จะไปสู่การทำงานอย่างใดอย่างหนึ่งที่เหมือนกัน
การขึ้นหน้าใหม่ ในกรณีที่ผังงานมีความยาวเกินกว่าที่จะแสดงพอในหนึ่งหน้า
ปัจจุบันโปรแกรมช่วยเขียนผังงานทำให้เขียนได้ง่ายขึ้น เช่น SmartDraw ,Microsoft Visio 2002 ซึ่งหาข้อมูลและโปรแกรมตัวอย่างได้ที่เว็บไซต์ต่อไปนี้
http://www.smartdrae.com/resourcers/centers/flowcharts/index.htm
http://www.microsoft.com/office/visio/default.asp
1.5.2 รหัสลำลอง ( Pseudo Code ) เป็นเครื่องช่วยในการออกแบบระบบงานและโปรแกรมอีกแบบหนึ่ง โดยเขียนขั้นตอนวิธีเป็น ประโยคสั้นๆ กะทัดรัด แต่สื่อความหมายชัดเจน เรียงกันโดยมีหมายเลขกำกับแต่ละขั้นตอน ให้ทำงานตามลำดับหมายเลขและเงื่อนไขที่เขียนไว้ ตัวอย่างเช่น ถ้าต้องการออกแบบโปรแกรมให้พิมพ์ตัวเลขจาก 1 ถึง N โดยที N เป็นตัวเลขใด ๆ ก็ได้ที่มากกว่าหรือเท่ากับ 1 เราอาจเขียนวิธีทำงาน ที่เรียกว่ารหัสจำลองได้ดังนี้
1. ป้อนค่า N จากแป้นพิมพ์
2. กำหนดให้ตัวแปร I เป็นตัวเลขที่จะต้องพิมพ์ เริ่มต้นที่ I = 1
3. พิมพ์ค่า I ที่กระดาษของเครื่องพิมพ์
4. ตรวจสอบว่า I = N แล้วหรือไม่
5. ถ้า I ไม่เท่ากับ N ให้เพิ่มค่า I = I+1 จากนั้นกลับไปทำตามขั้นตอนที่ 3
6. ถ้า I = N แสดงว่างานเสร็จแล้ว จบโปรแกรม
ให้สังเกตขั้นตอนที่ 5 เมื่อทำมาถึงขั้นนี้ และ I ไม่เท่ากับ N เราต้องย้อนกลับไปทำขั้นที่ 3 เรื่อยๆเป็นการวน ( Looping ) จนกว่า I จะเท่ากับ N เมื่อ I = N เราจะลงไปทำขั้นตอนที่ 6 ซึ่งเป็นการจบงาน
สำหรับผู่ผึกจนชำนาญแล้ว อาจเขียนผังงาน หรืออาจใช้รหัสจำลองอย่างเดียวก็ได ้แต่การมองเห็นภาพระบบงานของรหัสจำลองมีน้อยกว่า อาจเข้าใจยากและไม่ค่อยสร้างความประทับใจเวลานำเสนอต่อมวลชน
  แหล่งอ้างอิง :  http://www.thaigoodview.com/node/35032?page=0%2C2

ชนิดของฟิลด์ mysql

DATETIME : เป็นฟิลด์ชนิดที่เหมาะสมกับการเก็บข้อมูลวันที่ และเวลา สมดังชื่อของมันนั่นแหละครับ โดยจะเก็บได้ตั้งแต่ 1 มกราคม ค.ศ. 1000 เวลา 00:00:00 ไปจนถึง 31 ธันวาคม ค.ศ. 9999 เวลา 23:59:59 ครับ โดยรูปแบบการแสดงผล เวลาที่ทำการสืบค้น (query) ออกมา จะเป็น YYYY-MM-DD HH:MM:SS
TIMESTAMP[(M)] : เอาไว้เก็บเวลาเช่นกันครับ แต่จะเก็บในรูปแบบของ YYYYMMDDHHMMSS หรือ YYMMDDHHMMSS หรือ YYYYMMDD หรือ YYMMDD แล้วแต่ว่าเราจะระบุค่า M เป็น 14, 12, 8 หรือ 6 ตามลำดับ โดยความเห็นส่วนตัวของผมแล้ว การเก็บค่า วันเดือนปี และเวลา ในรูปแบบนี้มันเอาไปใช้งานสะดวกดีไม่หยอก (ผมชอบเก็บในรูปแบบ YYYYMMDDHHMMSS และ YYYYMMDD มากทีเดียว)... เราสามารถเก็บได้ตั้งแต่วันที่ 1 มกราคม ค.ศ. 1000 ไปจนถึงแถวๆ ปี ค.ศ. 2037 ครับ
TIME : อันนี้เอาไว้เก็บเวลาครับ มีค่าได้ตั้งแต่ -838:59:59 ไปจนถึง 838:59:59 โดยจะแสดงผลออกมาในรูปแบบ HH:MM:SS
YEAR[(2/4)] : อันนี้ก็สมดังชื่อครับ คือเอาไว้เก็บปี ในรูปแบบ YYYY หรือ YY แล้วแต่ว่าจะเลือก 2 หรือ 4 (หากไม่ระบุ จะถือว่าเป็น 4 หลัก) โดยหากเลือกเป็น 4 หลัก จะเก็บค่าได้ตั้งแต่ ค.ศ. 1901 ถึง 2155 แต่หากเป็น 2 หลัก จะเก็บตั้งแต่ ค.ศ. 1970 ถึง 2069 ครับ
ข้อสังเกตมีข้อสังเกตเกี่ยวกับฟิลด์ชนิด TIMESTAMP และ YEAR นิดหน่อยครับ นั่นก็คือ

  • ค่าที่เก็บในฟิลด์ชนิด TIMESTAMP นั้นจะมีความสามารถพอๆ กับ การเก็บข้อมูลวันเดือนปี และเวลา ด้วยฟิลด์ชนิด VARCHAR แต่ต่างกันตรงที่ จะใช้เนื้อที่เก็บข้อมูลน้อยกว่า... ทว่า ฟิลด์ประเภท TIMESTAMP นั้นจะมีข้อจำกัดในเรื่องของเวลาที่สามารถเก็บได้ คือจะต้องอยู่ในระหว่าง 1 มกราคม ค.ศ. 1000 ไปจนถึงแถวๆ ค.ศ. 2037 อย่างที่บอก แต่หากเก็บเป็น VARCHAR นั้นจะไม่ติดข้อจำกัดนี้
  • ฟิลด์ชนิด YEAR ก็เช่นกันครับ... ใช้เนื้อที่แค่ 1 ไบต์เท่านั้นในการเก็บข้อมูล แต่ข้อจำกัดจะอยู่ที่ ปี ค.ศ. 1901 ถึง 2155 เท่านั้น (หรือ ค.ศ. 1970 ถึง 2069 ในกรณี 2 หลัก) แต่หากเก็บเป็น VARCHAR จะได้ตั้งแต่ 0000 ถึง 9999 เลย อันนี้เลยอยู่ที่ความจำเป็นมากกว่าครับ (แต่ด้วยความที่ว่า ปัจจุบันฮาร์ดดิสก์ราคาถูกมากๆ ผมเลยไม่ติดใจอะไรที่จะใช้ VARCHAR แทน เพื่อความสบายใจ อิอิ เพราะสมมติว่ากินเนื้อที่ต่างกัน 3 ไบต์ ต่อ 1 ระเบียน มีข้อมูล 4 ล้านระเบียน ก็เพิ่งต่างกัน 12 ล้านไบต์ หรือ 12 เมกะไบต์เท่านั้นเอง ซึ่งหากเทียบกับปริมาณข้อมูลทั้งหมดของข้อมูล 4 ล้านระเบียน ผมว่ามันต้องมีอย่างน้อยเป็นกิกะไบต์ ดังนั้นความแตกต่างที่ไม่กี่เมกะไบต์จึงไม่มากมายอะไรครับ)
CHAR : เป็นข้อมูลประเภท string แบบที่ถูกจำกัดความกว้างเอาไว้คือ 255 ตัวอักษร ไม่สามารถปรับเปลี่ยนได้เหมือนกับ VARCHAR ครับ หากเราทำการสืบค้นโดยเรียงตามลำดับ มันก็จะเรียงข้อมูลแบบ case-sensitive คือ คำนึงถึงตัวอักษรเล็ก และใหญ่ เว้นเสียแต่เราจะกำหนดแอตทริบิวต์เป็น BINARY ที่จะทำให้การเรียงข้อมูลเป็นแบบ non case-sensitive ครับ คือ ตัวอักษรใหญ่ และเล็ก มีค่าเท่ากัน
TINYBLOB : ฟิลด์ชนิด BLOB นั้นจะมีไว้เพื่อเก็บข้อมูลประเภทไบนารี พูดง่ายๆ คือพวก ไฟล์ข้อมูลต่างๆ, ไฟล์รูปภาพ, ไฟล์มัลติมีเดีย เป็นต้น คือไฟล์อะไรก็ตามที่อัพโหลดผ่านฟอร์มอัพโหลดไฟล์ในภาษา HTML ประมาณนั้น (จะกล่าวถึงภายหลังแน่นอน ตอนที่จะลองประยุกต์พัฒนาเว็บแอปพลิเคชันสักตัว) โดย TINYBLOB นั้นจะมีเนื้อที่ให้เก็บข้อมูลได้ 256 ไบต์ ครับ
TINYTEXT : ในกรณีที่ข้อความยาวๆ หรือต้องการที่จะค้นหาข้อความ โดยอาศัยฟีเจอร์ FULL TEXT SEARCH ของ MySQL (จะกล่าวถึงในตอนประยุกต์การพัฒนาเว็บบอร์ด) เราอาจจะเลือกที่จะไม่เก็บข้อมูลลงในฟิลด์ประเภท VARCHAR ที่มีข้อจำกัดแค่ 256 ตัวอักษร แต่เราจะเก็บลงฟิลด์ประเภท TEXT แทน (ต้องขออภัยที่ผมลืมอธิบายส่วนนี้ ตอนที่พูดถึง TEXT)... TINYTEXT นี้ จะให้เราเก็บข้อมูลได้ 256 ตัวอักษร ครับ ซึ่งมองเผินๆ ก็ไม่ต่างกับเก็บลงฟิลด์ประเภท CHAR หรือ VARCHAR(255) เลย แต่จริงๆ มันต่างกันตรงที่ มันทำ FULL TEXT SEARCH ได้ไง
BLOB : เหมือน TINYBLOB ครับ แต่สามารถเก็บข้อมูลได้ 64KB
MEDIUMBLOB : เหมือน TINYBLOB เช่นกัน แต่เก็บข้อมูลได้ 16MB
MEDIUMTEXT : เหมือน TEXT ครับ แต่เก็บข้อมูลได้ 16,777,215 ตัวอักษร
LONGBLOB : เหมือน TINYBLOB เช่นกัน แต่เก็บข้อมูลได้ 4GB
LONGTEXT : เหมือน TEXT ครับ แต่เก็บข้อมูลได้ 4,294,967,295 ตัวอักษร
ข้อสังเกตฟิลด์ประเภท BLOB นั้น แม้จะมีประโยชน์ในเรื่องของการเก็บข้อมูลประเภท BINARY ให้อยู่กับตัวฐานข้อมูล ทำให้สะดวกเวลาสืบค้นก็ตาม แต่มันก็ทำให้ฐานข้อมูลบวมเกินความจำเป็นด้วยครับ ทำให้เกิดความไม่สะดวกในการสำรองฐานข้อมูลในกรณีที่ มีข้อมูลอัพโหลดไปเก็บมากๆ โดยปกติแล้ว เราจะใช้วิธีการอัพโหลดไปเก็บไว้ในโฟลเดอร์ แล้วเก็บลิงก์ไปยังไฟล์เหล่านั้น เป็นฟิลด์ชนิด VARCHAR มากกว่า 
SMALLINT : เป็นฟิลด์สำหรับเก็บข้อมูลชนิดตัวเลขที่มีขนาดใหญ่ขึ้นมาอีกหน่อยครับ คือ 16 บิต จึงสามารถเก็บค่าได้ตั้งแต่ -32768 ถึง 32767 (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 65535 (ในกรณี UNSIGNED หรือไม่คิดเครื่องหมาย) แน่นอนครับ สามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT
MEDIUMINT : เช่นเดียวกับ SMALLINT ครับ แต่จะมีขนาดใหญ่ขึ้นมาอีก ก็คือ 24 บิต ครับ นั่นก็หมายความว่าสามารถเก็บข้อมูลตัวเลขได้ตั้งแต่ -8388608 ไปจนถึง 8388607 (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 16777215 (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) แน่นอนครับ สามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT
INT : เช่นเดียวกับ SMALLINT เช่นกัน แต่งานนี้จะเป็นขนาดปกติคือ 32 บิต หรือสามารถเก็บข้อมูลได้ตั้งแต่ -2147483648 ไปจนถึง 2147483647 ครับ (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 4294967295 (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) แน่นอนครับ สามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT
BIGINT : ในกรณีที่ต้องการเก็บค่าตัวเลขแบบเยอะเวอร์สุดๆ ก็ใช้นี่เลยครับ เหอๆ เก็บข้อมูลแบบ 64 บิต สามารถเก็บข้อมูลได้ตั้งแต่ -9223372036854775808 ไปจนถึง 9223372036854775807 เลยทีเดียว (แบบคิดเครื่องหมาย) หรือ 0 ถึง 18446744073709551615 (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) แน่นอนครับ สามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT... แต่ผมไม่เคยเจอใครเขาต้องใช้ถึงขนาดนี้ซะทีนะครับ
FLOAT[(M,D)] : ที่กล่าวถึงไปทั้งหมด ในตระกูล INT นั้นจะเป็นเลขจำนวนเต็มครับ หากเราบันทึกข้อมูลที่มีเศษทศนิยม มันจะถูกปัดทันที ดังนั้นหากเราต้องการจะเก็บค่าที่เป็นเลขทศนิยม เราต้องเลือกชนิดขอฟิลด์เป็น FLOAT ครับ อันนี้จะเก็บข้อมูลแบบ 32 บิต คือมีค่าตั้งแต่ -3.402823466E+38 ไปจนถึง -1.175494351E-38, 0 และ 1.175494351E-38 ถึง 3.402823466E+38...
DOUBLE[(M,D)] : ในกรณีที่ต้องการเก็บเลขทศนิยมในระดับที่ละเอียดแบบสุดๆ ไปเลย ก็ต้องเลือกชนิดนี้ครับ เพราะจะเก็บข้อมูลแบบ 64 บิต  สามารถเก็บได้ตั้งแต่ -1.7976931348623157E+308 ถึง -2.2250738585072014E-308, 0 และ 2.2250738585072014E-308 ถึง 1.7976931348623157E+308 (แต่ก็อีกนั่นแหละ ผมไม่เคยเจอใครต้องเก็บอะไรละเอียดขนาดนี้อ่ะนะ)
DECIMAL[(M,D)] : อันนี้ต้องสารภาพตามตรงว่าอ่านจากข้อมูลที่หามาได้ แล้วก็งงครับ คือเขาบอกว่า เป็นข้อมูลชนิดตัวเลขแบบ unpacked คือ อนุญาตให้สามารถเก็บข้อมูลตัวอักษรเข้าไปได้ด้วย แต่จากการที่ผมลองใช้งานดู มันก็ไม่แตกต่างอะไรไปจาก ฟิลด์ชนิด DOUBLE เลย สามารถเก็บข้อมูลได้เท่ากัน และมีการใช้งานที่เหมือนกัน... ผมลองกรอกข้อมูลแบบเป็นตัวเลขปนตัวอักษรไป มันก็ไม่นับตัวอักษร และตัวเลขใดๆ ที่อยู่ตามหลังตัวอักษรครับ
มีข้อสังเกตนิดนึง เกี่ยวกับข้อมูลชนิด FLOAT, DOUBLE และ DECIMAL ก็คือ เวลากำหนดความยาวของข้อมูลในฟิลด์ เราจะกำหนดในรูปแบบ (M,D) ซึ่งหมายความว่า เราต้องระบุด้วยว่า จะให้มีตัวเลขส่วนที่เป็นจำนวนเต็มกี่หลัก และมีเลขทศนิยมกี่หลักครับ... เช่น ถ้าเรากำหนดว่า FLOAT(5,2) จะหมายความว่า เราจะเก็บข้อมูลเป็นตัวเลขจำนวนเต็ม 5 หลัก และทศนิยม 2 หลัก... ดังนั้นหากเราใส่ข้อมูล 12345.6789 เข้าไป สิ่งที่จะเข้าไปอยู่ในข้อมูลจริงๆ ก็คือ 12345.68 ครับ (ปัดเศษให้มีจำนวนหลักตามที่เรากำหนด)
VARCHAR : เอาไว้เก็บข้อมูลประเภทตัวอักษรครับ ทุกครั้งที่เลือกชนิดของฟิลด์เป็นประเภทนี้ จะต้องมีการกำหนดความยาวของข้อมูลลงไปด้วย ซึ่งสามารถกำหนดได้ตั้งแต่ 1 - 255 ครับ... ฟิลด์ชนิดนี้ เหมาะสำหรับการเก็บข้อมูลสั้นๆ เช่น ชื่อ นามสกุล หรือหัวข้อต่างๆ เป็นต้น... ในส่วนฟิลด์ประเภทนี้ จะสามารถเลือก "แอตทริบิวต์" เป็น BINARY ได้ครับ... ปกติแล้วการจัดเรียงข้อมูลเวลาสืบค้น (query) สำหรับ VARCHAR จะเป็นแบบ case-sensitive (ตัวอักษรใหญ่ และเล็กมีความหมายแตกต่างกัน) แต่หากระบุ "แอตทริบิวต์" เป็น BINARY ปุ๊บ การสืบค้นจะไม่คำนึงตัวอักษรว่าจะเป็นตัวใหญ่ หรือตัวเล็กละ
TINYINT : ข้อมูลประเภทตัวเลขครับ แต่มีขนาดสูงสุดได้แค่ 8 บิต... ข้อมูลประเภทนี้เราสามารถกำหนดเพิ่มเติมในส่วนของ "แอตทริบิวต์" ได้ว่าจะเลือกเป็น UNSIGNED หรือ UNSIGNED ZEROFILL โดยจะมีความแตกต่างดังนี้

  • UNSIGNED : จะหมายถึงเก็บค่าตัวเลขแบบไม่มีเครื่องหมาย หรือพูดง่ายๆ คือ ไม่เก็บค่าลบเด็ดขาดนั่นเอง... แบบนี้จะทำให้สามารถเก็บค่าได้ตั้งแต่ 0 - 255 ครับ
  • UNSIGNED ZEROFILL : เหมือนข้างต้นครับ แต่ว่าหากข้อมูลที่กรอกเข้ามาไม่ครบตามจำนวนหลักที่เรากำหนด ตัว MySQL จะทำการเติม 0 ให้ครบหลักเองครับ... เช่นเรากำหนดให้ใส่ได้ 3 หลัก แล้วเราเก็บข้อมูล 25 เข้าไป เวลาเราสืบค้นดู เราจะได้ค่าออกมาเป็น 025 
หากเราไม่เลือก "แอตทริบิวต์" สิ่งที่เราจะได้ก็คือ SIGNED ครับ นั่นก็คือต้องเสียบิตนึงไปเก็บเครื่องหมาย บวก/ลบ ทำให้สามารถเก็บข้อมูลได้อยู่ในช่วง -128 ถึง 127 เท่านั้น
TEXT : เอาไว้เก็บข้อมูลประเภทตัวอักษร แต่สามารถเก็บได้มากขึ้นครับ โดยสูงสุดคือ 65,535 ตัวอักษร หรือ 64KB นั่นเอง... เหมาะสำหรับเก็บข้อมูลพวกเนื้อหาต่างๆ ที่ยาวๆ ครับ...
DATE : เอาไว้เก็บข้อมูลประเภทวันที่ โดยเก็บได้จาก 1 มกราคม ค.ศ. 1000 ถึง 31 ธันวาคม ค.ศ. 9999 โดยจะแสดงผลในรูปแบบ YYYY-MM-DD