Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. วิธีค้นหาข้อความที่ตรงกันพอดี (Exact Match) ใน MySQL

    การค้นหาข้อความแบบ Case-Sensitive ใน MySQL โดยค่าเริ่มต้น MySQL จะค้นหาข้อความแบบ case-insensitive (ไม่แยกพิมพ์เล็ก/ใหญ่) หากต้องการค้นหาข้อความที่ตรงกันพอดีทุกตัวอักษร รวมถึงพิมพ์เล็ก/ใหญ่ ให้ใช้คำสำคัญ BINARY ไวยากรณ์ SELECT * FROM yourTableName WHERE BINARY yourColumnName = yourStringValue; ตัว

  2. วิธีเปลี่ยน Collation เป็น utf8_bin ใน MySQL ด้วยคำสั่งเดียว

    การเปลี่ยน Collation ของตารางใน MySQL คุณสามารถใช้คำสั่ง ALTER TABLE เพื่อเปลี่ยน collation ของตารางได้ในบรรทัดเดียว คำสั่งนี้จะเปลี่ยน collation เริ่มต้นของตารางและคอลัมน์ใหม่ที่จะสร้างขึ้นในอนาคต ไวยากรณ์ ALTER TABLE yourTableName COLLATE utf8_bin; ตัวอย่างการใช้งาน สร้างตารางทดสอบ: CREATE TABLE

  3. วิธีตรวจสอบว่า varchar มีเครื่องหมายเปอร์เซ็นต์ (%) ใน MySQL

    การค้นหาเครื่องหมายเปอร์เซ็นต์ในคอลัมน์ VARCHAR ด้วย MySQL ใน MySQL คุณสามารถใช้ตัวดำเนินการ LIKE ร่วมกับ ESCAPE เพื่อค้นหาเครื่องหมายเปอร์เซ็นต์ (%) ที่แท้จริงในคอลัมน์ VARCHAR ได้ เนื่องจากเครื่องหมาย % เป็นอักขระพิเศษ (wildcard) ใน LIKE จึงต้องใช้ escape character เพื่อให้ MySQL รู้ว่าต้องการค้นห

  4. เปลี่ยนรูปแบบวันที่เป็น dd/mm/yyyy ใน PHP และ MySQL

    ใน PHP ใช้ date(d/m/Y, strtotime($dateString)) ใน MySQL ใช้ DATE_FORMAT(column, %d/%m/%Y) PHP: แปลงรูปแบบวันที่ $loginDate = strtotime(2019-01-12); echo date(d/m/Y, $loginDate); ผลลัพธ์ PHP 12/01/2019 MySQL: แปลงรูปแบบวันที่ด้วย DATE_FORMAT SELECT DATE_FORMAT(yourDateColumn, %d/%m/%Y) AS formatte

  5. MySQL LIMIT 1 สำหรับเลือกแถวเดียว

    ใช้ LIMIT 1 จำกัดผลลัพธ์ให้ได้แค่ 1 แถว (ร่วมกับ WHERE ที่อาจตรงหลายแถว) ตัวอย่างการใช้งาน ใช้ตาราง selectWithPrimaryKey เดิม (7 แถว) ข้อมูลทั้งหมด +----+-------+------+-------+ | Id | Name | Age | Marks | +----+-------+------+-------+ | 1 | Larry | 24 | 98 | | 2 | John | 23 | 89 |

  6. แปลงวันที่ dd/mm/yyyy เป็น Unix Timestamp ใน MySQL

    ใช้ STR_TO_DATE() แปลงสตริงเป็นวันที่ แล้ว UNIX_TIMESTAMP() แปลงเป็น Timestamp ไวยากรณ์ SELECT UNIX_TIMESTAMP(STR_TO_DATE(yourColumn, %d/%m/%Y)) AS unixTimestamp FROM yourTable; ตัวอย่างการใช้งาน สร้างตาราง ConvertddmmyyyyInUnixTimeStamp: ); เพิ่มข้อมูล (รูปแบบ dd/mm/yyyy): (10/11/2012),(11/12/

  7. วิธีสร้าง Hash Value (MD5) สำหรับแต่ละแถวใน MySQL

    ใช้ MD5(CONCAT(col1, col2, col3...)) สร้าง Hash รวมค่าทุกคอลัมน์ของแถว ไวยากรณ์ SELECT MD5(CONCAT(col1, col2, col3, ...)) AS rowHash FROM yourTable; ตัวอย่างการใช้งาน สร้างตาราง getHashValueForEachRow: ); เพิ่มข้อมูล: (Larry,24,89),(David,26,98),(Bob,21,67),(Sam,22,56),(Mike,25,80); ข้อมูลทั้ง

  8. วิธี Map ค่า (Key-Value) ในคอลัมน์เดียวด้วย CASE/IF ใน MySQL

    ใช้ CASE WHEN หรือ IF() แปลงค่าในคอลัมน์ (เช่น 0/1) ให้เป็นข้อความที่อ่านง่าย (ENABLED/DISABLED) วิธีที่ 1: ใช้ CASE WHEN SELECT col1, col2, CASE WHEN flagColumn = 1 THEN ENABLED ELSE DISABLED END AS Status FROM yourTable; วิธีที่ 2: ใช้ IF() SELECT col1, col2, IF(flagColumn, ENABLED, DISAB

  9. MySQL ORDER BY สตริงที่มีตัวเลข (Natural Sort)

    ใช้ SUBSTR() แยกส่วนตัวอักษร และ CAST(... AS UNSIGNED) แปลงส่วนตัวเลข เพื่อเรียงแบบ Natural Sort ไวยากรณ์ SELECT * FROM yourTable ORDER BY SUBSTR(yourColumn FROM 1 FOR 1), CAST(SUBSTR(yourColumn FROM 2) AS UNSIGNED); ตัวอย่างการใช้งาน สร้างตาราง OrderByStringWithNumbers: ); เพิ่มข้อมูล (รูปแบบ

  10. วิธีอัปเดตค่า Boolean ใน MySQL

    MySQL แปลง BOOLEAN เป็น TINYINT(1) ภายใน: true = 1, false = 0 ใช้ UPDATE ธรรมดาได้เลย ไวยากรณ์ UPDATE yourTable SET yourBooleanColumn = yourValue WHERE condition; ตัวอย่างการใช้งาน สร้างตาราง UpdateBooleans: ); เพิ่มข้อมูล true/false: INSERT INTO UpdateBooleans(isSuccessful) VALUES(true),(false

  11. วิธีลบช่องว่างซ้ำ (Double Spaces) ในสตริง MySQL

    สร้าง Function แบบกำหนดเอง (Stored Function) ใช้ WHILE ลูป REPLACE() จนกว่าจะไม่มีช่องว่างซ้ำ ไวยากรณ์สร้าง Function 0 DO SET param = REPLACE(param, , ); END WHILE; RETURN param; END // DELIMITER ; ตัวอย่างสร้าง Function function_DeleteSpaces DELIMITER ; ทดสอบ Function SELECT functi

  12. วิธีดึงข้อมูลแถวล่าสุดในตาราง MySQL

    มี 2 วิธีหลัก: 1) ORDER BY ... DESC LIMIT 1, 2) ใช้ MAX() กับ Primary Key วิธีที่ 1: ORDER BY DESC LIMIT 1 SELECT * FROM yourTable ORDER BY yourColumn DESC LIMIT 1; วิธีที่ 2: ใช้ MAX() SET @maxId = (SELECT MAX(yourColumn) FROM yourTable); SELECT * FROM yourTable WHERE yourColumn = @maxId; ตัวอย่

  13. MySQL SELECT * กับ DISTINCT ID (ใช้ GROUP BY)

    ใช้ GROUP BY id เพื่อดึงแถวแรกของแต่ละ ID ที่ซ้ำกัน (MySQL อนุญาตให้ SELECT * กับ GROUP BY) ไวยากรณ์ SELECT * FROM yourTableName GROUP BY yourIdColumn; ตัวอย่างการใช้งาน สร้างตาราง DistinctIdDemo (ไม่มี PK, ID ซ้ำได้): CREATE TABLE DistinctIdDemo (Id INT, Name VARCHAR(20), Age INT); เพิ่มข้อมูล

  14. Data Type ที่เหมาะสมที่สุดสำหรับเงิน/สกุลเงินใน MySQL

    DECIMAL เป็น Data Type ที่เหมาะสมที่สุดสำหรับเก็บเงิน เพราะแม่นยำ ไม่มีปัญหาจุดทศนิยมลอย (Floating Point Error) ไวยากรณ์ DECIMAL DECIMAL(TotalDigits, DigitsAfterDecimalPoint); ตัวอย่างการใช้งาน สร้างตาราง CurrenciesDemo: CREATE TABLE CurrenciesDemo (TotalPrice DECIMAL(10,2)); เพิ่มข้อมูลราคา: I

  15. MySQL BETWEEN ไม่รวมค่าสิ้นสุด (Endpoint)

    ใช้ BETWEEN ... AND ... ร่วม NOT IN (endVal) เพื่อตัดเฉพาะค่าสิ้นสุดออก ไวยากรณ์ SELECT * FROM yourTable WHERE yourColumn BETWEEN startVal AND endVal AND yourColumn NOT IN (endVal); ตัวอย่าง (ใช้ตารางเดียวกับบทความก่อนหน้า) ข้อมูลตาราง BetweenWithoutEndPoints เดิม (Id 1-9) กรณี 1: ตัดทั้งจุดเริ

  16. MySQL BETWEEN ไม่รวมค่าเริ่มต้นและค่าสิ้นสุด

    ใช้ BETWEEN ... AND ... ร่วม NOT IN (start, end) เพื่อตัดจุดเริ่มต้นและจุดสิ้นสุดออก ไวยากรณ์ SELECT * FROM yourTable WHERE yourColumn BETWEEN startVal AND endVal AND yourColumn NOT IN (startVal, endVal); ตัวอย่างการใช้งาน สร้างตาราง BetweenWithoutEndPoints: ); เพิ่มข้อมูล 9 แถว (Id 1-9): (Mi

  17. วิธีเลือกคู่ค่าที่ไม่ซ้ำจาก 2 คอลัมน์ใน MySQL

    ใช้ CASE จัดลำดับค่าใน 2 คอลัมน์ ให้ค่าน้อยอยู่หน้า ค่ามากอยู่หลัง แล้ว DISTINCT กรองค่าซ้ำ ตัวอย่างการใช้งาน สร้างตาราง select_DistinctTwoColumns: ); เพิ่มข้อมูล: INSERT INTO select_DistinctTwoColumns(FirstValue, SecondValue) VALUES(s,t),(t,u),(u,v),(u,t); ข้อมูลเดิม +----+------------+-------

  18. วิธีหาวันที่น้อยที่สุด (Minimum Date) จากคอลัมน์แยกวัน/เดือน/ปีใน MySQL

    ใช้ CONCAT() รวมคอลัมน์วัน/เดือน/ปี แล้วใช้ MIN() หาค่าน้อยที่สุด ตัวอย่างการใช้งาน สร้างตาราง FindMinimumDate (เก็บวัน/เดือน/ปีแยกกัน): ); เพิ่มข้อมูล: (04,09,2017),(05,07,2013),(25,12,2016); ข้อมูลทั้งหมด +----+---------+-----------+----------+ | Id | yourDay | yourMonth | yourYear | +----+--

  19. วิธีสุ่มเลือกแถวข้อมูลใน MySQL (Random Row)

    ใช้ ORDER BY RAND() LIMIT 1 เพื่อสุ่ม 1 แถวจากตาราง ไวยากรณ์ SELECT * FROM yourTableName ORDER BY RAND() LIMIT 1; ตัวอย่างการใช้งาน สร้างตาราง generateRandomRow: ); เพิ่มข้อมูล 7 แถว: INSERT INTO generateRandomRow(Name, Age) VALUES(John,23),(Larry,21),(David,21),(Carol,24),(Bob,27),(Mike,29),(S

  20. MySQL ตั้งค่า Date Column ให้ใส่วันที่ปัจจุบันอัตโนมัติ

    ใช้ DEFAULT NOW() สำหรับ DATETIME หรือ DEFAULT date สำหรับ DATE กรณีที่ 1: DATETIME DEFAULT NOW() yourColumnName DATETIME DEFAULT NOW(); สร้างตาราง DefaultCurrentdateDemo: CREATE TABLE DefaultCurrentdateDemo (LoginDate DATETIME DEFAULT NOW()); Insert บางแถวใส่ค่า บางแถวไม่ใส่ (จะได้ค่าปัจจุบัน):

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:146/229  20-คอมพิวเตอร์/Page Goto:1 140 141 142 143 144 145 146 147 148 149 150 151 152