Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. วิธีสลับค่า Boolean Field ใน MySQL ด้วย Query เดียว

    ใช้ฟังก์ชัน IF() เพื่อกลับค่า Boolean (0 ↔ 1) ในคำสั่ง UPDATE เดียว ไวยากรณ์ UPDATE yourTableName SET yourBooleanColumn = IF(yourBooleanColumn, 0, 1); ตัวอย่างการใช้งาน สร้างตาราง ReverseBooleanField: ); เพิ่มข้อมูล (true/false): INSERT INTO ReverseBooleanField(isValid) VALUES(false); ข้อมูลก

  2. วิธีคำนวณผลรวมค่าของแถวเดียว (Row-wise Sum) ใน MySQL

    การบวกค่าคอลัมน์หลายคอลัมน์ในแถวเดียวกัน ต้องจัดการค่า NULL ให้ถูกต้อง กรณี 1: ไม่มีค่า NULL SELECT col1 + col2 + col3 AS total FROM yourTable; กรณี 2: มีค่า NULL (แนะนำ) SELECT IFNULL(col1,0) + IFNULL(col2,0) + IFNULL(col3,0) AS total FROM yourTable; ตัวอย่างการใช้งาน สร้างตาราง SumValueOfSingle

  3. วิธีตรวจสอบว่า String มีตัวเลขใน MySQL

    ใช้ Regular Expression (REGEXP) เพื่อตรวจสอบว่าสตริงมีตัวเลข 0-9 หรือไม่ ไวยากรณ์ SELECT * FROM yourTableName WHERE yourColumnName REGEXP [0-9]; ตัวอย่างการใช้งาน สร้างตาราง StringContainsNumber: ); เพิ่มข้อมูลทดสอบ: INSERT INTO StringContainsNumber(Words) VALUES(MySQL is a RDBMS 456); ข้อมูล

  4. วิธีดึงชื่อคอลัมน์ตารางเรียงลำดับ A-Z ใน MySQL

    ใช้ ORDER BY ร่วมกับ INFORMATION_SCHEMA.COLUMNS เพื่อเรียงชื่อคอลัมน์ตามตัวอักษร ไวยากรณ์ SELECT ref.COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS ref WHERE ref.TABLE_NAME = yourTableName ORDER BY ref.COLUMN_NAME; ตัวอย่าง สร้างตาราง ColumnsOrder (คอลัมน์เรียงไม่เป็นลำดับ): ); กรณี 1: เรียง A-Z

  5. วิธีสร้างหมายเลขลำดับ (Row Number) ใน MySQL Query

    สามารถสร้างหมายเลขลำดับ (Serial Number) ในผลลัพธ์ Query ได้โดยใช้ User-defined Variable ไวยากรณ์ SELECT @variableName := @variableName + 1 AS aliasName, yourColumn1, yourColumn2, ... FROM yourTableName, (SELECT @variableName := 0) AS variableName; ตัวอย่างการใช้งาน สร้างตาราง tblStud

  6. วิธีลบศูนย์ต่อท้ายค่าทศนิยมใน MySQL

    สามารถลบศูนย์ต่อท้าย (trailing zeros) ของค่าทศนิยมได้โดยใช้ฟังก์ชัน TRIM() ร่วมกับการบวก 0 ไวยากรณ์ SELECT TRIM(yourColumnName) + 0 FROM yourTableName; ตัวอย่างการใช้งาน สร้างตาราง removeTrailingZeroInDecimal: ); เพิ่มข้อมูลทดสอบ: INSERT INTO removeTrailingZeroInDecimal(Amount) VALUES(126); ข้

  7. วิธีใช้ OR ร่วมกับ LIKE สองเงื่อนไขใน MySQL

    สามารถรวมเงื่อนไข LIKE สองรายการด้วยตัวดำเนินการ OR ได้ ไวยากรณ์ SELECT * FROM yourTableName WHERE (yourColumnName LIKE %value1% OR yourColumnName LIKE %value2%) AND yourColumnName = someValue; ตัวอย่างการใช้งาน สร้างตาราง ORLikeDemo: ); เพิ่มข้อมูลทดสอบ: INSERT INTO ORLikeDemo(FirstName, Las

  8. วิธีเปลี่ยน Database Engine ของตาราง MySQL

    ก่อนอื่น ตรวจสอบ Engine ปัจจุบันของตารางว่าคือ InnoDB หรือ MyISAM โดยดูจากคอลัมน์ ENGINE ใน information_schema.tables ตรวจสอบ Engine ปัจจุบัน SELECT ENGINE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = yourDatabaseName AND TABLE_NAME = yourTableName; ตัวอย่าง สร้างตาราง StudentInformation

  9. วิธีเลือกข้อมูลคอลัมน์ที่ไม่ว่างเปล่าใน MySQL

    สามารถเลือกข้อมูลที่ไม่ใช่ค่าว่างได้โดยใช้ IS NOT NULL ร่วมกับฟังก์ชัน TRIM() ไวยากรณ์ SELECT * FROM yourTableName WHERE yourColumnName IS NOT NULL AND TRIM(yourColumnName) <> ; ตัวอย่างการใช้งาน สร้างตารางทดสอบ: ); เพิ่มข้อมูลทดสอบ (รวม NULL, ค่าว่าง, และช่องว่าง): INSERT INTO SelectNonEmpty

  10. วิธีแสดงเงื่อนไข Unique Constraints ของตารางใน MySQL

    คุณสามารถแสดงเงื่อนไข Unique Constraints ของตารางใน MySQL ได้โดยใช้ information_schema.table_constraints ไวยากรณ์ SELECT DISTINCT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = yourTableName AND CONSTRAINT_TYPE = UNIQUE; ตัวอย่างการใช้งาน เพื่อให้เข้าใจไวยากรณ์ข้าง

  11. ให้สิทธิ์ USER เข้าถึง VIEW เท่านั้นใน MySQL (GRANT SELECT ON VIEW)

    ใช้ GRANT SELECT ON database.view TO user@host; ให้สิทธิ์อ่าน View เฉพาะเจาะจง ขั้นตอน ดู View ใน Database: SHOW FULL TABLES IN db_name WHERE TABLE_TYPE LIKE VIEW; ดู User ที่มีอยู่: SELECT user, host FROM mysql.user; Grant สิทธิ์: GRANT SELECT ON test.viewemployeeidandemployeename TO Adam Smith@lo

  12. MySQL 8: ใช้ ENGINE แทน TYPE สำหรับ InnoDB

    ตั้งแต่ MySQL 5.1 TYPE = InnoDB ล้าสมัย (Deprecated) ต้องใช้ ENGINE = InnoDB แทน ตัวอย่าง Error ใน MySQL 8.0.12 ) TYPE = InnoDB; ERROR 1064 (42000): syntax error near TYPE = InnoDB ถูกต้อง: ใช้ ENGINE ) ENGINE = InnoDB; Query OK, 0 rows affected คำแนะนำ: ตรวจสอบเวอร์ชันด้วย SELECT VERSION(); MySQL

  13. หาเงินเดือนสูงสุดและอันดับ 2 ด้วย LIMIT OFFSET ใน MySQL

    ใช้ ORDER BY salary DESC LIMIT 2 OFFSET 0 ดึง 2 อันดับบนสุด รูปแบบ: SELECT col1, col2 FROM yourTableName ORDER BY salaryCol DESC LIMIT 2 OFFSET 0; ตัวอย่าง (ข้อมูลเดียวกันกับบทความก่อน) ORDER BY EmployeeSalary DESC LIMIT 2 OFFSET 0; ผลลัพธ์: +------------+--------------+----------------+ | Employee

  14. แสดงผล MySQL เป็น CSV บนหน้าจอด้วย CONCAT()

    ใช้ CONCAT(col1, ,, col2, ,, col3) สร้าง CSV แสดงบนหน้าจอ (ไม่ใช่ Export ไฟล์) รูปแบบ: SELECT CONCAT(col1, ,, col2, ,, col3) AS CSVFormat FROM yourTableName; ตัวอย่าง สร้างตาราง CSVFormatOutputs 5 เรคคอร์ด SELECT CONCAT(StudentId, ,, StudentName, ,, StudentAge) AS CSVFormat FROM CSVFormatOutputs; ผ

  15. หาเงินเดือนสูงสุดและอันดับ 2 ด้วย Subquery ใน MySQL

    ใช้ Subquery ซ้อนหา Max และ Second Max รูปแบบ: SELECT (SELECT MAX(salary) FROM emp) AS MaximumSalary, (SELECT MAX(salary) FROM emp WHERE salary NOT IN (SELECT MAX(salary) FROM emp)) AS SecondMaximumSalary; ตัวอย่าง สร้างตารางพนักงาน 8 คน มี Salary ต่างกัน AS SecondMaximumSalary; ผลลัพธ์: +--

  16. เรียงลำดับด้วย LIKE ใน MySQL ใช้ CASE WHEN

    ใช้ CASE WHEN ... LIKE ... THEN priority ใน ORDER BY เพื่อจัดลำดับตาม Pattern รูปแบบ: SELECT * FROM yourTableName ORDER BY CASE WHEN col LIKE %pattern1% THEN 1 WHEN col LIKE %pattern2% THEN 2 ELSE 3 END; ตัวอย่าง: เรียงตามนามสกุล สร้างตาราง 6 เรคคอร์ด (มี Taylor, Miller, Smith, Williams)

  17. นับจำนวนครั้งที่ค่าซ้ำในคอลัมน์ MySQL ด้วย COUNT() และ GROUP BY

    ใช้ COUNT(*) กับ GROUP BY นับความถี่ของแต่ละค่า รูปแบบ: SELECT yourColumnName, COUNT(*) AS frequency FROM yourTableName GROUP BY yourColumnName; ตัวอย่าง: นับยี่ห้อรถ สร้างตาราง 12 เรคคอร์ด (มีซ้ำ) SELECT CarName, COUNT(*) AS TotalCount FROM CountOccurrences GROUP BY CarName; ผลลัพธ์: +------------

  18. ใช้ CONCAT_WS() ใน MySQL สร้าง CSV จากคอลัมน์

    CONCAT_WS(separator, col1, col2, ...) = Concatenate With Separator รวมคอลัมน์ด้วยตัวแบ่ง ข้าม NULL อัตโนมัติ รูปแบบ SELECT CONCAT_WS(,, col1, col2, col3) AS csv FROM yourTableName; ตัวอย่าง: สร้าง CSV จากตารางนักเรียน SELECT CONCAT_WS(,, StudentId, StudentName, StudentAge) AS CSVFormat FROM CSVForm

  19. เรียงลำดับตามสตริงที่กำหนดใน MySQL ด้วย FIELD()

    ใช้ ORDER BY FIELD(column, val1, val2, val3, ...) กำหนดลำดับสตริงเอง ตัวอย่าง: เรียงรถตามความชอบ สร้างตาราง CarName 6 คัน ORDER BY FIELD(CarName, Bugatti, BMW, Audi, Aston Martin, Ford, Honda); ผลลัพธ์: เรียงตามลำดับที่ระบุใน FIELD() ทุกค่า +----+--------------+ | Id | CarName | +----+--------

  20. เปลี่ยนปีในวันที่ MySQL ด้วย DATE_FORMAT() และ UPDATE

    ใช้ DATE_FORMAT(date, YYYY-%m-%d) ร่วม UPDATE เพื่อเปลี่ยนปี คงเดือน/วันไว้ รูปแบบ: UPDATE yourTableName SET dateCol = DATE_FORMAT(dateCol, 2019-%m-%d); ตัวอย่าง สร้างตารางและเพิ่มข้อมูล 5 เรคคอร์ด (ปีต่างกัน) UPDATE ChangeYear SET ArrivalTime = DATE_FORMAT(ArrivalTime, 2019-%m-%d); ผลลัพธ์: ทุกแถว

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