Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. วิธีแสดงทศนิยม 2 ตำแหน่งใน MySQL/PHP

    การจัดรูปแบบตัวเลขทศนิยม 2 ตำแหน่ง ใน PHP ใช้ฟังก์ชัน number_format() สำหรับจัดรูปแบบตัวเลขให้มีทศนิยมตามที่ต้องการ พร้อมคั่นหลักพันได้ ใน MySQL ใช้ FORMAT() หรือ ROUND() แทน PHP: number_format() <?php $number1 = 10.3423; $number2 = 10; $result1 = number_format($number1, 2); // 10.34 $result2

  2. วิธีค้นหาชื่อที่ขึ้นต้นด้วยตัวอักษร A ใน MySQL

    การใช้ LIKE สำหรับค้นหาข้อความขึ้นต้นด้วยรูปแบบ ออปอเรเตอร์ LIKE ร่วมกับตัวแทน (Wildcard) % ใช้ค้นหาสตริงที่ขึ้นต้นด้วยตัวอักษรหรือรูปแบบที่กำหนดได้ง่าย ไวยากรณ์ SELECT * FROM your_table_name WHERE your_column_name LIKE A%; ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( StudentName VARC

  3. วิธีรักษาลำดับ SELECT ใน MySQL UNION ด้วย ORDER BY CASE

    จัดเรียงผลลัพธ์ UNION ตามลำดับที่ต้องการด้วย CASE WHEN คำสั่ง UNION จะจัดเรียงผลลัพธ์อัตโนมัติ (และลบแถวซ้ำ) ทำให้ลำดับเดิมของแต่ละ SELECT หายไป แก้ไขได้โดยใช้ ORDER BY CASE แทน UNION ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, ShippingDa

  4. การเขียนเงื่อนไข IF ELSE ใน MySQL Stored Procedure

    ใช้ IF-THEN-ELSE ควบคุมเงื่อนไขภายใน Stored Procedure MySQL Stored Procedure รองรับโครงสร้างควบคุมเงื่อนไข IF ... THEN ... ELSE ... END IF เพื่อเลือก Execute คำสั่ง SQL ที่ต่างกันตามเงื่อนไข ตัวอย่างสร้างตาราง 2 ตาราง CREATE TABLE DemoTable1 (Id INT); CREATE TABLE DemoTable2 (Id INT); INSERT INTO

  5. วิธีป้องกันไม่ให้ผู้ใช้เข้าถึง Schema เฉพาะใน MySQL

    การเพิกถอนสิทธิ์เข้าถึงฐานข้อมูล (Schema) ของผู้ใช้เฉพาะ ใน MySQL สิทธิ์การเข้าถึงฐานข้อมูลเก็บอยู่ในตาราง mysql.db สามารถลบแถวที่เกี่ยวข้องกับผู้ใช้และฐานข้อมูลที่ต้องการป้องกัน แล้วรัน FLUSH PRIVILEGES เพื่อโหลดสิทธิ์ใหม่ ไวยากรณ์ DELETE FROM mysql.db WHERE Db IN (your_schema, your_schema\_%) A

  6. วิธีค้นหาข้อมูลด้วย Regular Expression (REGEXP) ใน MySQL

    การค้นหาตามรูปแบบ (Pattern Matching) ด้วย REGEXP MySQL รองรับ Regular Expression ผ่านออปอเรเตอร์ REGEXP (หรือ RLIKE) เพื่อค้นหาแถวที่ค่าคอลัมน์ตรงกับรูปแบบที่กำหนด ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( UserId VARCHAR(100) ); INSERT INTO DemoTable VALUES (User-123-G), (Us-453-GO)

  7. วิธีสร้าง Primary Key แบบ Auto Increment ใน MySQL

    การกำหนดคอลัมน์ Primary Key ให้เพิ่มค่าอัตโนมัติ ใช้ AUTO_INCREMENT ร่วมกับ PRIMARY KEY เพื่อให้คอลัมน์ ID เพิ่มค่าอัตโนมัติทุกครั้งที่ INSERT ข้อมูลใหม่ สามารถรวมกับ ZEROFILL เพื่อเติมศูนย์นำหน้าได้ ไวยากรณ์ CREATE TABLE your_table_name ( your_column_name INT(6) ZEROFILL NOT NULL AUTO_INCREMEN

  8. วิธีดึงข้อมูลเฉพาะเดือนและปีที่กำหนดใน MySQL

    การกรองข้อมูลตามเดือนและปีด้วย YEAR() และ MONTH() ใช้ฟังก์ชัน YEAR() และ MONTH() เพื่อดึงส่วนปีและเดือนจากคอลัมน์วันที่/เวลา แล้วเปรียบเทียบกับค่าที่ต้องการ ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( CustomerId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName VARCHAR(20),

  9. วิธีแสดงชนิดข้อมูลคอลัมน์ในคอลัมน์แยกต่างหากด้วย MySQL SELECT

    การดึงข้อมูล Metadata จาก INFORMATION_SCHEMA.COLUMNS MySQL เก็บข้อมูลโครงสร้างตาราง (Metadata) ไว้ในฐานข้อมูลระบบ INFORMATION_SCHEMA สามารถ JOIN กับตารางข้อมูลจริงเพื่อแสดงค่าข้อมูลพร้อมชนิดข้อมูลของคอลัมน์นั้นๆ ได้ ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCRE

  10. วิธีเปลี่ยนชนิดข้อมูลจาก DATE เป็น DATETIME ใน MySQL

    การเปลี่ยนชนิดข้อมูลคอลัมน์ด้วย ALTER TABLE CHANGE เมื่อต้องการเปลี่ยนคอลัมน์จาก DATE (เก็บเฉพาะวันที่) เป็น DATETIME (เก็บวันที่และเวลา) ใช้คำสั่ง ALTER TABLE ... CHANGE โดยระบุชื่อคอลัมน์เดิม ชื่อคอลัมน์ใหม่ (อาจเหมือนเดิม) และชนิดข้อมูลใหม่ ไวยากรณ์ ALTER TABLE your_table_name CHANGE your_colum

  11. วิธีใช้ SELECT ร่วมกับ COUNT ใน MySQL

    การนับจำนวนแถวตามกลุ่มด้วย COUNT() และ GROUP BY ฟังก์ชัน COUNT() ใช้ร่วมกับ GROUP BY เพื่อนับจำนวนรายการในแต่ละกลุ่ม ได้ผลลัพธ์แสดงค่าของคอลัมน์ที่จัดกลุ่ม พร้อมจำนวนนับ ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(100), S

  12. วิธีป้องกันค่าตัวแปรใน Stored Procedure ไม่เปลี่ยนเมื่ออัปเดตข้อมูลใน MySQL

    การเก็บค่าเก่าก่อนอัปเดตด้วย User-Defined Variable ใน Stored Procedure หากต้องการเก็บค่าเดิมของฟิลด์ไว้ก่อนทำการ UPDATE แล้วนำค่าเก้าไปใช้งานต่อ (เช่น บันทึก Log, คำนวณความแตกต่าง) ควรอ่านค่ามาเก็บในตัวแปร ก่อน คำสั่ง UPDATE ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( Id INT NOT NULL A

  13. วิธีเลือกแถวเฉพาะใน MySQL ด้วย FIND_IN_SET()

    การค้นหาค่าในสตริงที่คั่นด้วยจุลภาค (Comma-Separated Values) เมื่อข้อมูลเก็บอยู่ในรูปแบบรายการคั่นด้วยจุลภาค (CSV) ในคอลัมน์เดียว เช่น 112,114,567,Java,345 สามารถใช้ฟังก์ชัน FIND_IN_SET() เพื่อค้นหาแถวที่มีค่าที่ต้องการอยู่ในรายการนั้นๆ ได้ ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( L

  14. วิธีจัดเรียงข้อมูลด้วย ORDER BY CASE WHEN REGEXP ใน MySQL

    การจัดเรียงแบบกำหนดเองด้วย CASE และ Regular Expression เมื่อต้องการจัดเรียงข้อมูลที่ผสมผสานระหว่างตัวเลขและตัวอักษร โดยต้องการให้ตัวอักษรมาก่อน ตัวเลขทีหลัง (หรือตรงข้าม) สามารถใช้ CASE WHEN ร่วมกับ REGEXP เพื่อสร้างเงื่อนไขการจัดเรียงแบบกำหนดเองได้ ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTabl

  15. วิธีจัดเรียงลำดับคอลัมน์ตัวเลขแบบ ASC ใน MySQL

    การใช้ CAST() เพื่อจัดเรียงตัวเลขที่เก็บเป็นข้อความ เมื่อคอลัมน์ตัวเลขถูกเก็บเป็นชนิดข้อมูลข้อความ (VARCHAR/TEXT) การจัดเรียงด้วย ORDER BY แบบปกติจะใช้การเปรียบเทียบแบบสตริง ทำให้ได้ลำดับผิดพลาด (เช่น 100 จะอยู่ก่อน 11) แก้ไขได้โดยใช้ CAST() แปลงเป็นตัวเลขก่อนจัดเรียง ตัวอย่างสร้างตารางและข้อมูล CR

  16. วิธีแสดงรายการแถวทั้งหมดตามกลุ่มด้วย MySQL GROUP BY

    การใช้ GROUP_CONCAT() เพื่อรวมค่าตามกลุ่ม เมื่อต้องการแสดงรายการแถวทั้งหมดที่จัดกลุ่มไว้ด้วยกัน สามารถใช้ฟังก์ชัน GROUP_CONCAT() ได้ ซึ่งจะรวมค่าจากหลายแถวให้กลายเป็นสตริงเดียว โดยคั่นด้วยตัวแบ่งที่ระบุ ตัวอย่างการสร้างตารางและข้อมูลทดสอบ mysql> CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_

  17. ค้นหาคอลัมน์ชนิด TEXT ในฐานข้อมูลด้วย INFORMATION_SCHEMA.COLUMNS ใน MySQL

    Query ตาราง INFORMATION_SCHEMA.COLUMNS กรอง DATA_TYPE = text เพื่อหาคอลัมน์ชนิด TEXT ทั้งหมด คำสั่งค้นหา WHERE DATA_TYPE = text; ผลลัพธ์ตัวอย่าง (บางส่วนจาก 240 แถว) +---------------------------------------------+--------------------------------+ | TABLE_NAME | CO

  18. จัดกลุ่มข้อมูลแต่เรียงลำดับกลุ่มแบบสุ่มด้วย RAND() ใน MySQL

    ใช้ Subquery กำหนดค่าสุ่มต่อกลุ่ม แล้ว JOIN กลับมาเรียงตามค่าสุ่ม สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable(Value) VALUES (X), (Y), (X), (X), (Y), (Z), (Z); ดูข้อมูล SELECT * FROM DemoTable; +----+-------+ | Id | Value | +----+-------+ | 1 | X | | 2 | Y | | 3 | X | | 4 |

  19. แสดง Deadlock Logs ใน MySQL ด้วย innodb_print_all_deadlocks

    เปิดการบันทึก Deadlock ทั้งหมดด้วย innodb_print_all_deadlocks แล้วดูด้วย SHOW ENGINE INNODB STATUS ขั้นตอนที่ 1: เปิดการบันทึก Deadlock SET GLOBAL innodb_print_all_deadlocks = 1; Query OK, 0 rows affected (0.00 sec) ขั้นตอนที่ 2: ดูสถานะ InnoDB (รวม Deadlock logs) SHOW ENGINE INNODB STATUS; ผลล

  20. รวมคอลัมน์เพื่อค้นหาด้วย LIKE ผ่าน CONCAT() ใน MySQL

    ใช้ CONCAT() รวมคอลัมน์ แล้วค่อยใช้ LIKE ค้นหา สร้างตารางและเพิ่มข้อมูล INSERT INTO DemoTable(ClientFirstName, ClientLastName) VALUES (John, Smith), (John, Miller), (Carol, Taylor), (Adam, Smith); ดูข้อมูล SELECT * FROM DemoTable; +----------+-----------------+----------------+ | ClientId |

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:104/229  20-คอมพิวเตอร์/Page Goto:1 98 99 100 101 102 103 104 105 106 107 108 109 110