Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. วิธีดึงข้อมูลอย่างน้อยจำนวน x แถวใน MySQL

    การใช้งานคำสั่ง LIMIT เพื่อจำกัดจำนวนแถวที่ต้องการ ใน MySQL หากต้องการดึงข้อมูลอย่างน้อยจำนวนแถวที่กำหนด (เช่น 2 แถว, 5 แถว) สามารถใช้คำสั่ง LIMIT ร่วมกับ ORDER BY เพื่อจัดเรียงข้อมูลก่อนแล้วค่อยจำกัดจำนวนแถวที่ต้องการ รูปแบบคำสั่ง (Syntax) SELECT * FROM yourTableName ORDER BY yourColumnName DESC L

  2. วิธีติดตั้งหรือเปิดใช้งาน InnoDB Storage Engine ใน MySQL

    ภาพรวม InnoDB เป็น Storage Engine เริ่มต้น (Default) ตั้งแต่ MySQL 5.5 เป็นต้นมา และใน MySQL 8.0 ก็ยังคงเป็น Default อยู่แล้ว โดยทั่วไปไม่จำเป็นต้องติดตั้งเพิ่มเติม แต่สามารถตรวจสอบและกำหนดค่าได้ผ่านไฟล์ my.ini (Windows) หรือ my.cnf (Linux/macOS) 1. ตรวจสอบสถานะ InnoDB SHOW ENGINES; -- หรือ SHOW VA

  3. MySQL ไม่บันทึกข้อมูลไบนารีได้ถูกต้อง? ควรใช้ Data Type อะไร?

    ปัญหาและวิธีแก้ เมื่อต้องการจัดเก็บข้อมูลแบบไบนารี (Binary Data) ใน MySQL ควรใช้ Data Type BIT ซึ่งออกแบบมาโดยเฉพาะสำหรับค่า bit-field แต่การแสดงผลปกติจะไม่เห็นค่า ต้องใช้ฟังก์ชัน BIN() เพื่อแปลงแสดงเป็นสตริงไบนารี ไวยากรณ์ BIT(M) -- M = จำนวนบิต (1-64) ตัวอย่างการใช้งาน 1. สร้างตารางและเพิ่มข้อ

  4. วิธีดู Trigger ทั้งหมดและ Trigger ของฐานข้อมูลปัจจุบันใน MySQL

    ภาพรวม MySQL จัดเก็บข้อมูล Trigger ไว้ในฐานข้อมูลระบบ information_schema สามารถสืบค้น Trigger ทั้งหมดในระบบ หรือจำกัดเฉพาะฐานข้อมูลที่ใช้งานอยู่ได้ 1. ดู Trigger ทั้งหมดในระบบ ใช้ตาราง information_schema.triggers เพื่อดู Trigger ทุกตัวพร้อมชื่อ Schema SELECT trigger_schema, trigger_name FROM inform

  5. การใช้ Trigger หลังการลบข้อมูล (AFTER DELETE) ใน MySQL

    ภาพรวม ใน MySQL สามารถสร้าง Trigger ที่ทำงานอัตโนมัติหลังจากคำสั่ง DELETE ถูกดำเนินการเสร็จสิ้น โดยใช้คีย์เวิร์ด AFTER DELETE ซึ่งเหมาะสำหรับการบันทึกประวัติ (Audit Log) หรือทำการกระทำตอบกลับเมื่อมีการลบข้อมูล ไวยากรณ์พื้นฐาน DELIMITER // CREATE TRIGGER trigger_name AFTER DELETE ON table_name FOR E

  6. MySQL: ตรวจสอบว่าตารางว่างเปล่าหรือไม่ (Empty Table Check)

    ตรวจสอบตารางว่าง ใช้ SELECT ดูว่าคืนข้อมูลหรือ Empty Set ตัวอย่าง INSERT INTO DemoTable VALUES (1001,John,23), (1002,Chris,21), (1003,David,22); ข้อมูล 3 แถว +------+-------+------+ | Id | Name | Age | +------+-------+------+ | 1001 | John | 23 | | 1002 | Chris | 21 | | 1003 | David | 2

  7. MySQL: CREATE TABLE AS SELECT ร่วมกับ UNION 2 ตาราง

    สร้างตารางใหม่จาก UNION ของ 2 ตาราง ใช้ CREATE TABLE AS SELECT ... UNION ... ตารางที่ 1 (DemoTable1): FirstName = John ตารางที่ 2 (DemoTable2): FirstName = Chris Query: CREATE TABLE AS UNION (SELECT FirstName, DemoTable2 AS TABLE_NAME FROM DemoTable2); ผลลัพธ์ (DemoTable3) +-----------+--------

  8. MySQL: กรองข้อมูลตามวันที่ปัจจุบัน (Current Date) ด้วย CURDATE()

    กรองข้อมูลตามวันที่ปัจจุบัน ใช้ CURDATE() ร่วมกับ DATE() และ TIME() ตัวอย่าง (2019-07-10 10:01:04), (2019-07-10 12:11:10); ข้อมูล (ทุกแถวเป็นวันที่ 2019-07-10) +---------------------+ | DueDate | +---------------------+ | 2019-07-10 04:20:00 | | 2019-07-10 05:10:40 | | 2019-07-10 09:

  9. MySQL: รวม SUM คอลัมน์เดียวกันจาก 2 ตาราง สำหรับ ID เฉพาะ ด้วย UNION

    มี 2 ตาราง คอลัมน์ PlayerId และ PlayerScore เหมือนกัน ต้องการรวม SUM PlayerScore สำหรับ PlayerId เฉพาะ ใช้ UNION ตารางที่ 1 (DemoTable1) +----------+-------------+ | PlayerId | PlayerScore | +----------+-------------+ | 1000 | 87 | | 1000 | 65 | | 1001 | 10 |

  10. MySQL: คัดลอกข้อมูลทั้งหมดจากตารางหนึ่งไปอีกตาราง (INSERT ... SELECT)

    คัดลอกทุกแถวจากตารางหนึ่งไปอีกตาราง ใช้ INSERT INTO ... SELECT Syntax INSERT INTO table2(col1,...) SELECT col1,... FROM table1; ตัวอย่าง ตารางที่ 1 (DemoTable1): FirstName = John, Chris, Bob สร้างตารางที่ 2 (DemoTable2): EmployeeName VARCHAR(100) Query คัดลอก INSERT INTO DemoTable2(EmployeeName

  11. ลบจำนวนเท่ากันจากทุกค่าในคอลัมน์ MySQL ด้วยคณิตศาสตร์พื้นฐาน

    การลบค่าคงที่จากทุกแถวในคอลัมน์ตัวเลข ใช้ Operator - (Minus) ใน SELECT หรือ UPDATE เพื่อลบจำนวนเท่ากันจากทุกค่า Syntax (SELECT - แสดงผลคำนวณ) SELECT column_name - subtract_value AS result_alias FROM table_name; Syntax (UPDATE - เปลี่ยนข้อมูลจริง) UPDATE table_name SET column_name = column_name - s

  12. ค้นหาข้อมูลที่มีอักขระ % (Percent) ใน MySQL ด้วย LIKE และ Escape Character

    การค้นหาตัวอักษร % (Percent Sign) ซึ่งเป็น Wildcard ใน LIKE ใน LIKE ตัว % หมายถึง ตัวอักษรใดๆ จำนวนเท่าไรก็ได้ หากต้องการค้นหา % จริง ต้อง **Escape ด้วย Backslash (\\%)** Syntax SELECT * FROM table_name WHERE column_name LIKE %\\%%; ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูลที่มี %: INSERT INTO D

  13. ดึงเฉพาะค่าที่มีอักขระพิเศษในคอลัมน์ MySQL ด้วย REGEXP

    การค้นหาข้อมูลที่มีอักขระพิเศษ (Non-Alphanumeric) ด้วย REGEXP ใช้ Pattern [^a-zA-Z0-9] (Negated Character Class) เพื่อจับคู่อักขระที่ **ไม่ใช่** ตัวอักษรอังกฤษและตัวเลข Syntax SELECT * FROM table_name WHERE column_name REGEXP [^a-zA-Z0-9]; ตัวอย่าง: ค้นหา SubjectCode ที่มีอักขระพิเศษ สร้างตารางและ

  14. เก็บแค่ 2 ตัวอักษรแรกของคอลัมน์ ลบส่วนที่เหลือด้วย SUBSTRING ใน MySQL

    การตัดสตริงเก็บเฉพาะ N ตัวแรกด้วย SUBSTRING() และ UPDATE ใช้ SUBSTRING(str, start, length) หรือ SUBSTR() เพื่อดึงส่วนของสตริง แล้ว UPDATE กลับเข้าไปในคอลัมน์เดิม Syntax UPDATE table_name SET column_name = SUBSTRING(column_name, 1, 2); ตัวอย่าง: เก็บแค่ 2 ตัวอักษรแรกของชื่อวิชา สร้างตารางและเพิ่มข้

  15. แทนที่ตัวเลขทุกหลักเป็น 0 ยกเว้นหลักแรกใน MySQL ด้วย CONCAT, LEFT, REPEAT

    การ Masking ตัวเลข: แสดงหลักแรก ต่อด้วย 0 ทุกหลักที่เหลือ ใช้ LEFT() ดึงตัวแรก + REPEAT(0, LENGTH-1) สร้างศูนย์ตามจำนวนหลักที่เหลือ แล้ว CONCAT() รวมกัน Syntax SELECT CONCAT(LEFT(number_col, 1), REPEAT(0, CHAR_LENGTH(number_col) - 1)) AS masked FROM table_name; ตัวอย่างการใช้งาน สร้างตารางและเพิ่ม

  16. แสดงโครงสร้างคอลัมน์ของ Temporary Table ใน MySQL ด้วย SHOW COLUMNS

    การดูโครงสร้างคอลัมน์ของ Temporary Table Temporary Table ใน MySQL ใช้ได้เฉพาะ Session ปัจจุบัน สามารถตรวจสอบโครงสร้างได้ด้วย SHOW COLUMNS หรือ DESCRIBE เหมือนตารางปกติ Syntax SHOW COLUMNS FROM temp_table_name; -- หรือ DESC temp_table_name; ตัวอย่าง: สร้าง Temporary Table และแสดงโครงสร้าง CREATE T

  17. จัดเรียงตามลำดับที่กำหนดเองใน MySQL ด้วย ORDER BY FIELD()

    การจัดเรียงข้อมูลตามลำดับที่กำหนดเอง (Custom Sort Order) ใช้ ORDER BY FIELD(column, val1, val2, val3, ...) เพื่อกำหนดลำดับการแสดงผลที่ไม่ใช่ Alphabetical หรือ Numeric Syntax SELECT * FROM table_name ORDER BY FIELD(column_name, value1, value2, value3) [ASC|DESC]; ตัวอย่าง: เรียงภาษาโปรแกรมตามลำดับ

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:83/229  20-คอมพิวเตอร์/Page Goto:1 77 78 79 80 81 82 83 84 85 86 87 88 89