แสดงบทความที่มีป้ายกำกับ Database แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Database แสดงบทความทั้งหมด

วันอาทิตย์ที่ 13 มีนาคม พ.ศ. 2559

แก้ปัญหา file size exceeded the maximum size permitted by your PHP

สวัสดีครับ

วันนี้เรามาแก้ปัญหาอัพโหลดไฟล์ SQL ขึ้น Server ด้วย phpMyadmin แล้วแจ้ง Error ว่า

"No data was received to import. Either no file name was submitted, or the file size exceeded the maximum size permitted by your PHP configuration. See FAQ 1.16."

วิธีแก้ปัญหา (ผมใช้ XAMPP เป็น Web Server นะครับ)

1. เปิด XAMPP Control Panel ขึ้นมา
2. คลิกปุ่ม Config > PHP (php.ini)



3. หาบรรทัดที่เขียนว่า "upload_max_filesize" แก้ขนาดไฟล์ตามที่ต้องการ > Save



4. Stop Service แล้ว Start Service ใหม่

จบครับ



วันเสาร์ที่ 24 สิงหาคม พ.ศ. 2556

รวมบทความน่าสนใจภาค 3

สวัสดีครับวันนี้มีบทความน่าสนใจมาฝากเพื่อน ๆ เลือกอ่านกันได้ตามใจชอบครับ

การใช้งานโปรแกรม Access 2010 : เป็นไฟล์ PowerPoint วิชาฐานข้อมูลนะครับว่ากันตั้งแต่เบื้องต้นไปจนถึงขั้นกลางครับ

การใช้งาน Joomla Version 1.5.x : เป็นไฟล์ PowerPoint เช่นเดียวกันครับ ถึงจะล้าสมัยไปแล้วสำหรับ Joomla Version นี้แต่ก็เหมาะสำหรับผู้เริ่มต้นศึกษา CMS ยอดฮิตอย่าง Joomla ครับ

การตลาด Online [Online Marketing] : เป็นไฟล์ PowerPoint บรรยายในหัวข้อดังนีิ

  • การทำการตลาดออนไลน์ เพื่อส่งเสริมการขาย
  • การทำการตลาดผ่าน Search Engine
  • การทำการตลาดผ่าน Social Network

ขอขอบพระคุณ คุณภาวนา เทียนศิริ จาก บริษัท ไชโย โฮสติ้ง จำกัด ที่ได้ผลิตเอกสารชุดนี้ขึ้นมาครับ


ภาษา PHP5 : เป็นไฟล์ PowerPoint อธิบายเกี่ยวกับเบื้องต้นของภาษา PHP Version 5 นี้ครับ

ขอขอบพระคุณ iamsanya.com สำหรับเอกสารชุดนี้ครับ

สำหรับวันนี้ก็หมดเพียงเท่านี้ครับ พบกันใหม่โอกาสหน้าครับ

วันศุกร์ที่ 4 มกราคม พ.ศ. 2556

MySQL Data Type คืออะไร ???

สวัสดีครับทุกท่านที่แวะมาเยี่ยมชม

วันนี้เรามาเรียนรู้เรื่อง MySQL Data Type กันว่ามีอะไรบ้างและแต่ละอย่างแตกต่างกันอย่างไร เพื่อที่จะได้เลือก Data Type [ชนิดของข้อมูล] ได้อย่างถูกต้องและเหมาะสมเวลาที่เราทำการออกแบบฐานข้อมูลครับ

บทความชิ้นนี้เขียนขึ้นมาเพราะต้องทำการบ้านส่งอาจารย์ครับ 555+ ก็เลยรวบรวมเอาข้อมูลจากหลาย ๆ เว็บมาปรับปรุงขึ้นใหม่  พร้อมแล้วเราไปดูกันเลยครับว่า Data Type ใน MySQL นั้นมีอะไรบ้าง

Data Type ใน MySQL เราแบ่งหลักๆได้เป็น 3 ประเภท คือ

  1. Numeric เอาไว้จัดเก็บตัวเลข
  2. Date and Time เอาไว้จัดเก็บ วัน , เวลา
  3. String เอาไว้จัดเก็บ ตัวหนังสือ ตัวอักษรต่างๆ

ประเภท Numeric มีดังนี้

Type

คำอธิบาย

ขนาดพื้นที่
ที่ใช้เก็บ

TINYINT(M) สำหรับเก็บข้อมูลชนิดตัวเลข จำนวนเต็มไม่มีทศนิยม
signed คือ  -128 ถึง 127
unsigned คือ 0 ถึง 255
1 bytes
SMALLINT(M) สำหรับเก็บข้อมูลชนิดตัวเลข จำนวนเต็มไม่มีทศนิยม
signed คือ -32768 ถึง 32767
unsigned คือ 0 ถึง 65535
2 bytes
MEDIUMINT(M) สำหรับเก็บข้อมูลชนิดตัวเลข จำนวนเต็มไม่มีทศนิยม
signed คือ -8388608 ถึง 8388607
unsigned คือ 0 ถึง 16777215
3 bytes
INT(M) สำหรับเก็บข้อมูลชนิดตัวเลข จำนวนเต็มไม่มีทศนิยม
signed คือ -2147483648 ถึง 2147483647
unsigned คือ 0 ถึง 4294967295
4 bytes
BIGINT(M) สำหรับเก็บข้อมูลชนิดตัวเลข จำนวนเต็มไม่มีทศนิยม
signed คือ -9223372036854775808 ถึง 9223372036854775807
unsigned คือ 0 ถึง 18446744073709551615
8 bytes
FLOAT(M,D) สำหรับเก็บข้อมูลชนิดตัวเลขมีทศนิยม
signed คือ -3.402823466E+38 ถึง -1.175494351E-38, 0
unsigned คือ 1.175494351E-38 ถึง 3.402823466E+38
4 bytes
DOUBLE(M,D) สำหรับเก็บข้อมูลชนิดตัวเลขมีทศนิยม
signed คือ -1.7976931348623157E+308 ถึง -2.2250738585072014E-308, 0
unsigned คือ 2.2250738585072014E-308 ถึง 1.7976931348623157E+308
8 bytes
DECIMAL(M,D) เปลี่ยนแปลงได้ ขึ้นอยู่กับความยาวของตัวเลข (M) ค่าที่ระบุจำนวนตัวเลขที่ต้องการเก็บ เช่น (M) คือ 30 ก็เก็บเลขได้ 30 หลัก (ตั้งแต่ MySQL 5.0.3) สูงสุดที่ 30 หลัก (M+7)/8
BIT (M) ใส่ค่า bit ใส่ได้ ตั้งแต่ 1 ถึง 64 (ตั้งแต่ MySQL 5.0.3)  

สำหรับค่าตัวเลขสามารถกำหนดความยาวของตัวเลขและจำนวนหลังจุดทศนิยมได้ ขึ้นอยู่กับเป็นข้อมูลชนิดใด ในที่นี้จะแทนด้วยตัว

M คือ ค่าความยาวของตัวเลขรวมจุดทศนิยม
D คือ จำนวนตัวเลขหลังจุดทศนิยม

  • unsigned คือ ไม่ติดลบ หรือไม่มีเครื่องหมาย
  • unsigned zerofill คือ ไม่ติดลบ แต่ว่าหากข้อมูลที่กรอกเข้ามาไม่ครบตามจำนวน หลักที่เรากำหนด ตัว MySQL จะทำการเติม 0 ให้ครบหลักเอง เช่น ถ้ากำหนดให้ใส่ได้ 3 หลัก แล้วทำการเก็บข้อมูล 25 เข้าไป เวลาที่สืบค้นดู เราจะได้ค่าออกมาเป็น 025
  • signed คือ ค่าติดลบ หรือมีเครื่องหมาย

ปกติที่เราสร้าง field จะถูกกำหนดเป็น signed โดยอัตโนมัติครับ

ประเภท Date and Time มีดังนี้

Type

คำอธิบาย

ขนาดพื้นที่
ที่ใช้เก็บ

DATE สำหรับเก็บข้อมูลประเภทวันที่ โดยเก็บได้จาก 1 มกราคม ค.ศ. 1000 ถึง 31 ธันวาคม ค.ศ. 9999 โดยจะแสดงผลในรูปแบบ YYYY-MM-DD 3 bytes
TIME สำหรับเก็บข้อมูลประเภทเวลา มีค่าได้ตั้งแต่ -838:59:59 ไปจนถึง 838:59:59 โดยจะแสดงผล ออกมาในรูปแบบ HH:MM:SS 3 bytes
DATETIME

สำหรับเก็บข้อมูลประเภทวันที่ และเวลา โดยจะเก็บได้ตั้งแต่ 1 มกราคม ค.ศ. 1000 เวลา 00:00:00 ไปจนถึง 31 ธันวาคม ค.ศ. 9999 เวลา 23:59:59 โดยรูปแบบการแสดงผล เวลาที่ทำการสืบค้น (query) ออกมา จะเป็น YYYY-MM-DD HH:MM:SS

8 bytes
TIMESTAMP[(M)] สำหรับเก็บข้อมูลประเภทวันที่ และเวลาเช่นกัน แต่จะเก็บในรูปแบบของ YYYYMMDDHHMMSS หรือ YMMDDHHMMSS หรือ YYYYMMDD หรือ YYMMDD แล้วแต่ ว่าจะระบุค่า M เป็น 14, 12, 8 หรือ 6 ตามลำดับ สามารถเก็บได้ตั้งแต่วันที่ 1 มกราคม ค.ศ. 1000 ไป จนถึงประมาณปี ค.ศ. 2037 4 bytes
YEAR[(2|4)] สำหรับเก็บข้อมูลประเภทปี ในรูปแบบ YYYY หรือ YY แล้วแต่ว่าจะเลือกโดยหากเลือกเป็น 4 หลัก จะเก็บค่าได้ตั้งแต่ ค.ศ. 1901 ถึง 2155 แต่ หากเป็น 2 หลัก จะเก็บตั้งแต่ ค.ศ. 1970 ถึง 2069 1 bytes

ประเภท String  มีดังนี้

Type

คำอธิบาย

ขนาดพื้นที่
ที่ใช้เก็บ

CHAR(M) สำหรับเก็บข้อมูลประเภทตัวอักษร ขนาดตามค่า M แต่ไม่เกิน 255 ตัวอักษร M bytes
VARCHAR(M) สำหรับเก็บข้อมูลประเภทตัวอักษร ทุกครั้งที่เลือกชนิดของฟิลด์เป็นประเภทนี้ จะต้องมี การกำหนดความยาวของข้อมูลลงไปด้วย ซึ่งสามารถกำหนดค่าได้ตั้งแต่ 1 - 255 ฟิลด์ชนิดนี้ เหมาะ สำหรับการเก็บข้อมูลสั้นๆ เช่น ชื่อ นามสกุล (ตั้งแต่ MySQL เวอร์ชั่น 5.0.3 ขึ้นไปสามารถเก็บได้ 0 – 65,535 ตัวอักษร) L+1 / L+2 bytes
TINYTEXT เป็น case-insensitive สามารถเก็บข้อมูล ได้ 255 ตัวอักษร L+1 bytes
TINYBLOB เป็น case-sensitive สำหรับการเรียงและเปรียบเทียบ สามารถเก็บข้อมูล ได้ 255 ตัวอักษร L+1 bytes
TEXT เป็น case-insensitive สำหรับเก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่สามารถเก็บได้มากขึ้น โดย สูงสุดคือ 65,535 ตัวอักษร เหมาะสำหรับเก็บข้อมูลพวกเนื้อหาต่างๆ ที่ยาวๆ L+2 bytes
BLOB เป็น case-sensitive สำหรับการเรียงและเปรียบเทียบ สามารถเก็บข้อมูล ได้สูงสุดคือ 65,535 ตัวอักษร L+2 bytes
MEDIUMTEXT เป็น case-insensitive เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่เก็บข้อมูลได้ 16,777,215 ตัวอักษร L+3 bytes
MEDIUMBLOB เป็น case-sensitive เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่เก็บข้อมูลได้ 16,777,215 ตัวอักษร L+3 bytes
LONGTEXT เป็น case-insensitive เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่เก็บข้อมูลได้ 4,294,967,295 ตัวอักษร L+4 bytes
LONGBLOB เป็น case-sensitive เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่เก็บข้อมูลได้ 4,294,967,295 ตัวอักษร L+4 bytes
ENUM(‘value1’,’value2’,…) เป็นการเก็บข้อมูลสตริงเข้าไว้เป็นรายการไว้ก่อน โดยค่าแรกถูกแทนด้วยค่า 1 หากรายการไม่ตรงกับรายการใดเลย จะแทนด้วยค่า 0 หรือจะใส่เป็นค่าตรงๆเลยก็ได้ ข้อมูลชนิดนี้จะช่วยลดพื้นที่การจัดเก็บได้อย่างมาก เหมาะกับการเลือกแบบลิสต์บ็อกซ์ เพราะเลือกได้เพียง 1 ตัวเลือกเท่านั้น ENUM เก็บค่ารายการได้สูงถึง 65535 ตัวเลือก 1 – 2 bytes
SET(‘value1’,’value2’,…) คล้ายกับ ENUM แต่เลือกรายการได้มากกว่าหนึ่งตัวเลือก จะใช้เลขฐานสองเก็บค่าตัวเลือก โดยรายการแรกมีค่า 1, 2, 4, 8, 16, 32,... ไปเรื่อยๆ ถ้าเลือกรายการไหนก็เอามาบวกกันจะได้ค่าที่จะเก็บบันทึก เหมาะกับการเลือกแบบเช็คบ็อกซ์ เพื่อให้ผู้ตอบเลือกได้มากกว่า 1 ตัวเลือก SET เก็บค่ารายการได้เพียง 64 ตัวเลือก 8 bytes
BOOL เหมือนกับ TINYINT แต่เก็บค่าเป็น 0 กับ 1 ซึ่ง 0 คือ เท็จ 1 คือ จริง  
BINARY(M) เหมือนกับชนิด CHAR แต่เก็บเป็นแบบ case-insensitive M bytes
VARBINARY(M) เหมือนกับชนิด VARCHAR แต่เก็บเป็นแบบ case-insensitive L+1 / L+2 bytes

L คือ ตัวอักษรที่ใช้จริง

  • case-sensitive คือ ตัวอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็กมีความหมายแตกต่างกัน
  • case-insensitive คือ ไม่คำนึงถึงตัวอักษรตัวพิมพ์ใหญ่หรือพิมพ์เล็ก


แหล่งอ้างอิง