Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. วิธีจัดเรียง ORDER BY แบบกำหนดเอง บางค่า DESC บางค่า ASC ใน MySQL

    จัดเรียงค่าเฉพาะก่อน ด้วย FIELD() แล้วค่าอื่นตามปกติ ฟังก์ชัน FIELD(str, val1, val2, ...) คืนค่าตำแหน่งของ str ในรายการ (1-based) หรือ 0 ถ้าไม่เจอ ใช้ใน ORDER BY เพื่อกำหนดลำดับพิเศษให้ค่าบางค่า ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable (Value INT); INSERT INTO DemoTable VALUES (10), (70),

  2. วิธีรวมหลายแถวเป็นรายการคั่นจุลภาคด้วย GROUP_CONCAT ใน MySQL

    รวมค่าจากหลายแถวเป็นสตริงเดียวด้วย GROUP_CONCAT() GROUP_CONCAT() เป็น Aggregate Function รวมค่าจากหลายแถวในกลุ่มเดียวกันให้กลายเป็นสตริงคั่นด้วยตัวแบ่งที่กำหนด ใช้ร่วมกับ GROUP BY ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(3

  3. MySQL แปลงตัวอักษรเป็นตัวเล็กอัตโนมัติด้วย Trigger

    สร้าง Trigger BEFORE INSERT เพื่อแปลงค่าเป็น Lowercase อัตโนมัติ ใช้ BEFORE INSERT TRIGGER ร่วมกับฟังก์ชัน LOWER() เพื่อแปลงค่าที่จะ Insert ให้เป็นตัวพิมพ์เล็กก่อนบันทึกลงตาราง ตัวอย่างสร้างตาราง CREATE TABLE DemoTable (StudentSubject TEXT); สร้าง Trigger CREATE TRIGGER lowerCaseOnInsertDemo BEFO

  4. วิธีใช้ NOW() กับฟิลด์ TIMESTAMP ใน MySQL Workbench

    กำหนดค่าเริ่มต้น TIMESTAMP เป็นเวลาปัจจุบันด้วย NOW() ใน MySQL Workbench สามารถตั้งค่า Default Value ของคอลัมน์ TIMESTAMP เป็น CURRENT_TIMESTAMP (หรือ NOW()) ได้ทั้งตอนสร้างตารางและตอนแก้ไขตาราง สร้างตารางพร้อม Default Timestamp CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KE

  5. วิธีตรวจสอบว่าตารางมีอยู่แล้วใน MySQL และแสดงคำเตือน

    ใช้ CREATE TABLE IF NOT EXISTS และ SHOW WARNINGS คำสั่ง CREATE TABLE IF NOT EXISTS จะสร้างตารางก็ต่อเมื่อยังไม่มีอยู่ หากมีอยู่แล้วจะไม่สร้างใหม่ และปล่อย Warning ให้ดูได้ด้วย SHOW WARNINGS ตัวอย่าง: พยายามสร้างตารางที่มีอยู่แล้ว CREATE TABLE IF NOT EXISTS DemoTable (Id INT); -- Query OK, 0 rows af

  6. วิธีใช้เงื่อนไข AND หลายเงื่อนไขใน MySQL

    รวมเงื่อนไขหลายอย่างด้วย AND ใน WHERE ใช้ AND เชื่อมเงื่อนไขหลายอย่างใน WHERE ทุกเงื่อนไขต้องเป็นจริง (TRUE) พร้อมกัน纔จะเลือกแถวนั้น ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName VARCHAR(20), StudentAge INT, Stude

  7. วิธีดู Index ที่สร้างไว้ในตาราง MySQL ด้วย SHOW INDEX

    แสดงรายการดัชนี (Indexes) ของตารางด้วย SHOW INDEX คำสั่ง SHOW INDEX FROM table_name (หรือ SHOW KEYS) แสดงข้อมูลดัชนีทั้งหมดของตาราง รวมถึง Primary Key, Unique, Index ทั่วไป, Fulltext, Spatial ตัวอย่างสร้างตารางและสร้าง Index CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

  8. วิธีรวมตารางสองตารางด้วย UNION ALL พร้อมเงื่อนไขใน MySQL

    รวมผลลัพธ์จากสองตารางด้วย UNION ALL และกรองด้วย WHERE UNION ALL รวมผลลัพธ์จากหลาย SELECT เข้าด้วยกัน (เก็บแถวซ้ำไว้) ต่างจาก UNION ที่ลบแถวซ้ำ ใช้ WHERE ในแต่ละ SELECT เพื่อกรองข้อมูลก่อนรวม ตัวอย่างสร้างตาราง 2 ตาราง CREATE TABLE DemoTable1 (Id INT, FirstName VARCHAR(20)); CREATE TABLE DemoTable2

  9. วิธีค้นหาข้อมูลระหว่างคอลัมน์สองคอลัมน์ใน MySQL ด้วย BETWEEN

    ใช้ BETWEEN ตรวจสอบค่าอยู่ระหว่างคอลัมน์สองคอลัมน์ ออปอเรเตอร์ BETWEEN สามารถใช้ตรวจสอบว่าค่าคงที่ (หรือคอลัมน์อื่น) อยู่ในช่วงระหว่างคอลัมน์ A และคอลัมน์ B ได้ โดยเขียน value BETWEEN col1 AND col2 ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

  10. วิธีดึงวันที่มากกว่า NOW() + 10 วันใน MySQL

    กรองวันที่ในอนาคต 10 วันด้วย DATE_ADD และ WHERE ใช้ DATE_ADD(NOW(), INTERVAL 10 DAY) คำนวณวันที่ 10 วันข้างหน้า แล้วกรองวันที่ในตารางที่มากกว่าค่านั้น ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable (ShippingDate DATE); -- สมมติ NOW() = 2019-06-04 20:43:57 INSERT INTO DemoTable VALUES (2019-06-

  11. MySQL: ลบตัวอักษรสุดท้ายถ้าเป็นอักขระเฉพาะ (เช่น ?) ด้วย SUBSTRING()

    ลบตัวอักษรสุดท้ายถ้าเป็นอักขระเฉพาะ ใช้ SUBSTRING() ร่วมกับ CHAR_LENGTH() ตัวอย่าง INSERT INTO DemoTable VALUES (MySQL), (MongoDB?), (Java?), (C); ข้อมูลก่อนแก้ +-------------+ | SubjectName | +-------------+ | MySQL | | MongoDB? | | Java? | | C | +-------------+ Query:

  12. วิธีลดค่าลง 10 สำหรับแถวเฉพาะใน MySQL

    อัปเดตค่าคอลัมน์ลดลงจำนวนคงที่ด้วย WHERE ใช้คำสั่ง UPDATE พร้อมนิพจน์คำนวณ Score = Score - 10 และ WHERE กำหนดเงื่อนไขแถวที่ต้องการแก้ไข ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Score INT ); INSERT INTO DemoTable (Score) VALUES (67), (

  13. วิธีนับจำนวนค่าที่คั่นด้วยจุลภาคในคอลัมน์ MySQL

    นับจำนวนรายการในสตริง CSV ด้วย CHAR_LENGTH และ REPLACE เมื่อคอลัมน์เก็บค่าหลายค่าคั่นด้วยจุลภาค (เช่น MySQL,MongoDB) สามารถนับจำนวนรายการได้โดยเปรียบเทียบความยาวสตริงก่อนและหลังลบจุลภาคออก สูตร: (ความยาวทั้งหมด - ความยาวหลังลบตัวคั่น) / ความยาวตัวคั่น + 1 สำหรับจุลภาค (ความยาว 1): CHAR_LENGTH(col)

  14. วิธีนับจำนวนแถวในตาราง MySQL โดยไม่ใช้ COUNT(*)

    ใช้ COUNT(1) แทน COUNT(*) เพื่อนับจำนวนแถว COUNT(1) และ COUNT(*) ให้ผลลัพธ์เหมือนกันคือนับจำนวนแถวทั้งหมด (รวมแถวที่มี NULL) แต่ COUNT(1) ชี้ให้เห็นเจตนาชัดเจนว่า นับแถว ไม่ใช่ นับคอลัมน์ และในบาง Database Engine อาจมีประสิทธิภาพเล็กน้อยกว่า (แต่ MySQL ทำ Optimize ให้เหมือนกัน) ตัวอย่างสร้างตารางแล

  15. วิธีดึงข้อมูลระหว่างวันนี้ และ 7 วันที่แล้วใน MySQL

    กรองข้อมูลช่วง 7 วันที่ผ่านมา dengan DATE_SUB และ INTERVAL ใช้ DATE_SUB() หรือลบ INTERVAL โดยตรงจาก NOW()/CURDATE() เพื่อหาวันที่ 7 วันที่แล้ว แล้วกรองข้อมูลที่มากกว่าวันนั้น ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable (LoginDate DATE); INSERT INTO DemoTable VALUES (2018-03-21), (2019-05-22)

  16. วิธีดึงชื่อวันจาก TIMESTAMP ใน MySQL ด้วย DAYNAME()

    ใช้ฟังก์ชัน DAYNAME() แปลง Timestamp/Date ให้เป็นชื่อวัน ฟังก์ชัน DAYNAME() รับคอลัมน์ DATE, DATETIME, หรือ TIMESTAMP คืนค่าชื่อวันภาษาอังกฤษ (Monday, Tuesday, ...) ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable (LoginDate TIMESTAMP); INSERT INTO DemoTable VALUES (2019-06-01), (2019-06-02), (20

  17. วิธี INSERT วันที่รูปแบบ mm/dd/yyyy ใน MySQL ด้วย STR_TO_DATE

    แปลงสตริงวันที่รูปแบบกำหนดเป็น DATE ด้วย STR_TO_DATE() MySQL เก็บ DATE ในรูปแบบ YYYY-MM-DD หากข้อมูลเข้ามาในรูปแบบอื่น (เช่น MM-DD-YYYY) ต้องแปลงด้วย STR_TO_DATE() ก่อน INSERT ไวยากรณ์ INSERT INTO your_table (date_col) VALUES (STR_TO_DATE(your_date_string, your_format_specifier)); ตัวอย่างสร้างตา

  18. วิธีจัดเรียงข้อมูลด้วย ORDER BY แบบกำหนดค่าเฉพาะก่อนใน MySQL

    การจัดเรียงให้ค่าเฉพาะอยู่บนสุดด้วย Boolean Expression ใน ORDER BY ใช้นิพจน์ Boolean StudentId = 70 ใน ORDER BY ซึ่งจะคืนค่า 1 (TRUE) หรือ 0 (FALSE) เรียง DESC จะทำให้ค่าที่ TRUE (ค่า 70) อยู่บนสุด ตามด้วยค่าอื่นๆ เรียง ASC ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable (StudentId INT); INSERT

  19. คำสงวน (Reserved Words) ใน MySQL: name เป็นคำสงวนหรือไม่?

    การใช้คำสงวนเป็นชื่อตาราง/คอลัมน์ ต้องใช้ Backtick name ไม่ใช่คำสงวน (Reserved Word) ใน MySQL สามารถใช้เป็นชื่อตาราง/คอลัมน์ได้โดยไม่ต้องใช้ backtick (`) แต่คำสงวนอื่นๆ เช่น SELECT, ORDER, GROUP, INDEX ต้องใช้ backtick ครอบ ตัวอย่าง: ใช้ name เป็นชื่อตารางและคอลัมน์ (ไม่ต้อง backtick) CREATE TABLE

  20. วิธีแยกตัวเลขผลลัพธ์ Query ใน MySQL ด้วย CONCAT

    การแยกตัวเลขแรกออกจากตัวเลขที่เหลือด้วย LEFT, RIGHT, CONCAT ใช้ฟังก์ชันสตริง LEFT(), RIGHT(), LENGTH() ร่วมกับ CONCAT() เพื่อแยกและจัดรูปแบบตัวเลข เช่น แยกหลักแรกออกมาแสดงแยก ตัวอย่างสร้างตารางและข้อมูล CREATE TABLE DemoTable ( StudentId INT ); INSERT INTO DemoTable VALUES (2222), (5555), (456

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