Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. ใช้ CONCAT() ผนวก Wildcard ใน LIKE Query MySQL

    ไวยากรณ์ SELECT * FROM yourTable WHERE yourColumn LIKE CONCAT(%, yourValue, %); ตัวอย่าง: ตาราง demo48 CREATE TABLE demo48 ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) ); INSERT INTO demo48 (name) VALUES (John Smith), (John Doe), (Adam Smith), (David Miller), (Chris Brown

  2. ค้นหาเรคคอร์ดที่มีตัวเลขเฉพาะในคอลัมน์ CSV ด้วย MySQL

    ปัญหา: คอลัมน์เก็บค่าแบบ Comma-Separated Values (CSV) เช่น 4,5,6 ต้องการหาแถวที่มีตัวเลข 4 อยู่ในรายการ วิธี: CONCAT + LIKE SELECT * FROM yourTable WHERE CONCAT(,, yourColumn, ,) LIKE %,4,%; ตัวอย่าง: ตาราง demo49 CREATE TABLE demo49 ( id VARCHAR(20), first_name VARCHAR(20) ); INSERT INTO

  3. สร้างตาราง MySQL พร้อมฟิลด์ TIMESTAMP

    คำสั่งสร้างตารางพร้อม TIMESTAMP CREATE TABLE demo50 ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, start_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, end_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL ); INSERT ข้อมูลทดสอบ -- ทั้งคู่ใช้ DEFAULT INSERT INTO demo50 VALUES (); --

  4. หาผลรวมตัวเลขของปี (Sum of Digits) ใน MySQL

    หลักการ: แยกตัวเลขแต่ละหลักแล้วบวกกัน เช่น ปี 2020 → 2 + 0 + 2 + 0 = 4 วิธีคำนวณด้วยคณิตศาสตร์ (ไม่ต้องแปลงสตริง) SET @year = 2020; SELECT FLOOR(@year / 1000) -- หลักพัน + FLOOR(@year % 1000 / 100) -- หลักร้อย + FLOOR(@year % 100 / 10) -- หลักสิบ + FLOOR(@year % 10)

  5. เรียงลำดับตามเงื่อนไขใน MySQL ด้วย ORDER BY CASE WHEN

    หลักการ: ORDER BY CASE WHEN ใช้ CASE WHEN ภายใน ORDER BY เพื่อกำหนดลำดับแสดงผลแบบกำหนดเอง (Custom Sort Order) ไวยากรณ์ SELECT * FROM yourTable ORDER BY CASE WHEN condition1 THEN sort_value1 WHEN condition2 THEN sort_value2 ... ELSE default_sort_value END; ตัวอย่าง: ตาราง demo51 CR

  6. JOIN ตารางใน MySQL: ดึงข้อมูลจากหลายตาราง

    หลักการ JOIN JOIN ใช้รวมข้อมูลจาก 2 ตารางขึ้นไป โดยอาศัยคอลัมน์ที่เกี่ยวข้อง (มักเป็น Primary Key - Foreign Key) ประเภท JOIN หลัก JOIN Typeคำอธิบาย INNER JOINเฉพาะแถวที่มีคู่ในทั้ง 2 ตาราง (ค่าเริ่มต้นของ JOIN) LEFT JOINทุกแถวของตารางซ้าย + ข้อมูลตารางขวาที่ match (NULL ถ้าไม่มี) RIGHT JOINทุกแ

  7. เลือกข้อมูลตามช่วงวันที่แบบมีเงื่อนไขใน MySQL (BETWEEN/BEFORE/AFTER)

    สถานการณ์: กรองพนักงานตามวันที่เข้า-ออกงาน ต้องการหาพนักงานที่: เข้า工作ก่อนวันที่ X (joining_date < 2020-05-11) AND (ออกงานหลังวันที่ Y 2020-08-10 OR ยังไม่ได้ออกงาน relieving_date IS NULL) ไวยากรณ์ SELECT * FROM yourTable WHERE date_col1 value2 OR date_col2 IS NULL); ตัวอย่าง: ตาราง demo35 CRE

  8. นับจำนวนคอลัมน์ที่มีค่าเฉพาะใน MySQL

    โจทย์: นับจำนวนคอลัมน์ที่มีค่า 1 ในแต่ละแถว สมมติตารางมีคอลัมน์ value1, value2, value3 ที่เก็บค่า 0 หรือ 1 ต้องการทราบว่าแต่ละแถวมีค่า 1 กี่คอลัมน์ ไวยากรณ์ที่ใช้ SELECT SUM(value1 + value2 + value3) AS Total_Number_Of_1, SUM(value1 AND value2 AND value3) AS Total_Rows_With_All_1 FROM your

  9. ใช้ PreparedStatement ใน Java กับ MySQL: WHERE condition แบบปลอดภัย

    ทำไมต้อง PreparedStatement? ป้องกัน SQL Injection — ค่าพารามิเตอร์ถูกจัดการแยกจากคำสั่ง SQL ประสิทธิภาพดีกว่า — คอมไพล์คำสั่งครั้งเดียว ใช้ซ้ำได้ จัดการชนิดข้อมูลอัตโนมัติ — ไม่ต้องกังวล quote string หรือ format date ไวยากรณ์ Java String query = SELECT column FROM table WHERE name = ?; PreparedSt

  10. เลือกแถวด้วยเงื่อนไขผ่าน CONCAT_WS ใน MySQL

    ฟังก์ชัน CONCAT_WS() CONCAT_WS(separator, str1, str2, ...) — Concatenate With Separator รวมสตริงด้วยตัวคั่น ข้ามค่า NULL อัตโนมัติ ตัวอย่าง: ตาราง demo38 CREATE TABLE demo38 ( user_id INT, user_first_name VARCHAR(20), user_last_name VARCHAR(20), user_date_of_birth DATE ); INSERT IN

  11. ลบข้อมูลซ้ำใน MySQL คงเหลือเพียง 1 แถวด้วย Temporary Table

    วิธีการ: ใช้ Temporary Table ขั้นตอนหลัก 4 ขั้นตอน: สร้าง temp table จากข้อมูล distinct TRUNCATE ตารางต้นฉบับ INSERT ข้อมูลกลับจาก temp table DROP temp table ไวยากรณ์ CREATE TABLE temp_table AS SELECT DISTINCT col1, col2 FROM original_table; TRUNCATE TABLE original_table; INSERT INTO original_t

  12. การแบ่งหน้า (Pagination) ใน MySQL ด้วย LIMIT

    หลักการ LIMIT OFFSET, ROW_COUNT SELECT * FROM yourTable LIMIT offset, row_count; offset: ข้ามกี่แถว (เริ่มจาก 0) row_count: จำนวนแถวที่ต้องการ ตัวอย่าง: ตาราง demo40 CREATE TABLE demo40 ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(40) ); INSERT INTO demo40 (name) VALUES (Ch

  13. MySQL REGEXP: แสดงเฉพาะเรคคอร์ดที่มีตัวอักษร หรือผสมตัวเลข-ตัวอักษร (ข้ามเฉพาะตัวเลข)

    ไวยากรณ์ REGEXP SELECT column FROM table WHERE column REGEXP [a-zA-Z]; ตัวอย่าง: ตารางชื่อ CREATE TABLE demo41 (name VARCHAR(40)); INSERT INTO demo41 VALUES (John Smith34), (John Smith), (9234John Smith), (john smith), (98775); ข้อมูลทั้งหมด +----------------+ | name | +----------------

  14. เลือกแถวโดยลบวันที่ใน WHERE clause ของ MySQL

    ใช้ TIMESTAMPDIFF() คำนวณความต่าง ฟังก์ชัน TIMESTAMPDIFF(unit, datetime1, datetime2) คืนค่าความต่างในหน่วยที่ระบุ ไวยากรณ์ TIMESTAMPDIFF(unit, start_datetime, end_datetime) unit: MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR ตัวอย่าง: หาแถวที่เวลาอยู่ในช่วง 5 นาทีจากเวลาอ้างอิ

  15. สร้างตาราง MySQL ตั้งค่าวันที่ปัจจุบันเป็นค่าเริ่มต้น (DEFAULT)

    ไวยากรณ์สร้างตารางพร้อม DEFAULT CREATE TABLE yourTable ( column1 DATATYPE NOT NULL, column2 DATATYPE DEFAULT default_value, ... ); ตัวอย่าง: ตั้งค่าวันที่เข้าทำงานเป็นวันปัจจุบันอัตโนมัติ CREATE TABLE demo43 ( employee_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, employee_name VA

  16. แทนที่เฉพาะครั้งแรกของคำซ้ำในสตริง MySQL ด้วย REGEXP_REPLACE

    ฟังก์ชัน REGEXP_REPLACE() MySQL 8.0+ รองรับ REGEXP_REPLACE() ที่สามารถระบุได้ว่าจะแทนที่ครั้งที่เท่าไหร่ ไวยากรณ์: REGEXP_REPLACE(expr, pattern, replacement, position, occurrence, match_type) position: เริ่มค้นหาตำแหน่งที่ (เริ่มต้น 1) occurrence: ครั้งที่จะแทนที่ (0 = ทุกครั้ง, 1 = ครั้งแรก, 2 = ค

  17. เลือกข้อมูลยกเว้นค่าต่ำกว่าที่กำหนดใน MySQL

    ไวยากรณ์พื้นฐาน ใช้เงื่อนไข WHERE column > value เพื่อเลือกเฉพาะแถวที่มีค่ามากกว่าที่กำหนด: SELECT * FROM yourTable WHERE yourColumn > yourValue; ตัวอย่าง: สร้างตารางและข้อมูล CREATE TABLE demo27 ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, value INT ); INSERT INTO demo27 (value) VA

  18. ชนิดข้อมูลสำหรับผสมตัวเลขและตัวอักษรใน MySQL

    คำตอบสั้น: ใช้ VARCHAR เมื่อต้องจัดเก็บข้อมูลที่ผสมตัวเลขและตัวอักษร (เช่น รหัสสินค้า SKU-123, หมายเลขสมาชิก M2024001) ชนิดข้อมูลที่เหมาะสมที่สุดคือ VARCHAR ไวยากรณ์ CREATE TABLE yourTable ( yourColumn VARCHAR(40) ); ตัวอย่างการใช้งาน CREATE TABLE demo28 ( id INT NOT NULL AUTO_INCREMENT PR

  19. ORDER BY หลายคอลัมน์ใน MySQL: ไวยากรณ์และตัวอย่าง

    ไวยากรณ์พื้นฐาน การเรียงลำดับหลายคอลัมน์ทำได้โดยระบุคอลัมน์ตามลำดับความสำคัญ คั่นด้วยเครื่องหมายจุลภาค: SELECT * FROM yourTable ORDER BY column1 DESC, column2 ASC, column3; ตัวอย่าง: สร้างตารางและเพิ่มข้อมูล CREATE TABLE demo29 ( value1 INT, value2 INT ); INSERT INTO demo29 VALUES (10, 500

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:11/229  20-คอมพิวเตอร์/Page Goto:1 5 6 7 8 9 10 11 12 13 14 15 16 17