Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. ใช้ GROUP BY รวมสตริงใน MySQL และกำหนดตัวคั่น (Separator)

    เพื่อรวมสตริงใน MySQL ด้วย GROUP BY ใช้ฟังก์ชัน GROUP_CONCAT() พร้อมพารามิเตอร์ SEPARATOR เช่น คอมม่า (,) หรือช่องว่าง ( ) รูปแบบไวยากรณ์ SELECT yourColumnName1, GROUP_CONCAT(yourColumnName2 SEPARATOR yourValue) AS anyVariableName FROM yourTableName GROUP BY yourColumnName1; ตัวอย่างการใช้งาน สร้

  2. เปิด MySQL Command Line บน Windows 10 อย่างไร?

    เพื่อเปิด MySQL Command Line จาก CMD ใช้ชื่อผู้ใช้ root พร้อมรหัสผ่าน ขั้นตอนการเปิด cd \ cd Program Files\MySQL\MySQL Server 8.0\bin mysql -uroot -p Enter password: ****** ขั้นตอนแบบละเอียดพร้อมภาพประกอบ กด Windows + R เปิด Run พิมพ์ CMD กด Enter ใน Command Prompt ให้เข้าไปที่โฟลเดอร์ bin ของ

  3. แปลงผลลัพธ์คำสั่ง MySQL เป็น UTF-8

    ใช้ฟังก์ชัน CAST() หรือ CONVERT() เพื่อแปลงผลลัพธ์คำสั่ง MySQL เป็น UTF-8 ใช้ MySQL 8.0.12 mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec) หมายเหตุ: ควรใช้ utf8mb4 แทน utf8 เพื่อหลีกเลี่ยงคำเตือน เนื่องจาก utf8 ใน MySQL เป็

  4. จับคู่ตัวอักษรเพียง 1 ตัวใน MySQL แทน %

    เพื่อจับคู่ตัวอักษรเพียง 1 ตัวใน MySQL ให้ใช้เครื่องหมาย underscore (_) แทน % รูปแบบไวยากรณ์ SELECT * FROM yourTableName WHERE yourColumnName LIKE yourString_; ตัวอย่างการใช้งาน สร้างตารางเก็บปีพุทธศักราช: mysql> create table OneCharactermatchDemo ( Id int NOT NULL AUTO_INCREMENT, PassoutYear

  5. ฟังก์ชันเทียบเท่า SCOPE_IDENTITY() ของ SQL Server ใน MySQL คืออะไร?

    ฟังก์ชันเทียบเท่า SCOPE_IDENTITY() ของ SQL Server ใน MySQL คือ LAST_INSERT_ID() รูปแบบไวยากรณ์ SELECT LAST_INSERT_ID(); ฟังก์ชันนี้คืนค่า ID ของแถวที่เพิ่มล่าสุด (AUTO_INCREMENT) ตัวอย่างการใช้งาน สร้างตาราง 2 ตาราง: mysql> create table TestOnLastInsertIdDemo ( StudentId int NOT NULL AUTO_INC

  6. เพิ่มคอลัมน์นับลำดับแถว (Serial Number) ใน MySQL

    เพื่อเพิ่มคอลัมน์ที่นับลำดับแถวเป็นหมายเลขเรียงลำดับ (Serial Number) สามารถใช้ตัวแปร Global ในคำสั่ง SELECT ตัวอย่างการใช้งาน สร้างตาราง: mysql> create table addColumnToCountAsSerialNumber ( Id int, Name varchar(20), Age int, Salary int ); Query OK, 0 rows affected (0.80 sec) เพิ่มข้อมูล: mysq

  7. ใน MySQL เลือก 2 แถวแรกของแต่ละกลุ่มอย่างไร?

    เพื่อเลือก 2 แถวแรกจากแต่ละกลุ่ม ใช้เงื่อนไข WHERE ร่วมกับ Subquery ตัวอย่างการใช้งาน สร้างตาราง: mysql> create table selectTop2FromEachGroup ( Name varchar(20), TotalScores int ); Query OK, 0 rows affected (0.80 sec) เพิ่มข้อมูล: mysql> insert into selectTop2FromEachGroup values(John,32);

  8. MySQL แปลงสตริงว่างเป็น NULL อัตโนมัติได้หรือไม่?

    ต้องใช้ฟังก์ชัน NULLIF() ของ MySQL รูปแบบไวยากรณ์ SELECT NULLIF(yourColumnName, ) as anyVariableName FROM yourTableName; ในรูปแบบนี้ หากเปรียบเทียบสตริงว่าง () กับสตริงว่าง () ผลลัพธ์จะเป็น NULL เสมอ หากเปรียบเทียบ NULL กับสตริงว่าง ก็จะได้ NULL เช่นกัน ตัวอย่างการใช้งาน สร้างตาราง: mysql> cr

  9. เปลี่ยนชนิดข้อมูลคอลัมน์จาก INT เป็น DOUBLE ใน MySQL

    เพื่อเปลี่ยนชนิดข้อมูลคอลัมน์จาก INT เป็น DOUBLE ต้องใช้คำสั่ง ALTER TABLE รูปแบบไวยากรณ์ ALTER TABLE yourTableName MODIFY COLUMN yourColumnName DOUBLE NOT NULL; หากต้องการให้รับค่า NULL ได้ ให้เอา NOT NULL ออก: ALTER TABLE yourTableName MODIFY COLUMN yourColumnName DOUBLE; ตัวอย่างการใช้งาน สร้

  10. MySQL สามารถ UPDATE ด้วย REGEXP ได้หรือไม่?

    ไม่สามารถ ทำ UPDATE ด้วย REGEXP ได้โดยตรง ต้องใช้ตัวดำเนินการ LIKE แทน เนื่องจาก MySQL ไม่รองรับการ UPDATE ด้วย REGEXP รูปแบบการใช้ LIKE กับ REPLACE: UPDATE yourTableName SET yourColumnName = REPLACE(yourColumnName, yourValue, ) WHERE yourColumnName LIKE %yourValueThatWillReplace%; ตัวอย่างการใช้

  11. ตัดข้อความพร้อมเครื่องหมาย ellipsis ใน MySQL

    สามารถตัดข้อความพร้อมเพิ่มเครื่องหมาย ellipsis ได้โดยใช้ฟังก์ชัน LENGTH() ร่วมกับคำสั่ง CASE หากความยาวเกิน 7 ตัวอักษร ให้ตัดข้อความและต่อตัวเลขไว้ท้าย มิฉะนั้นให้แสดงค่าเดิม ตัวอย่างการใช้งาน สร้างตารางทดสอบ: mysql> create table TruncateText ( Id int NOT NULL AUTO_INCREMENT, Number longtext, P

  12. กรณีเงื่อนไข NOT NULL ใน MySQL

    สำหรับกรณีเงื่อนไข NOT NULL ไม่ต้องใช้ตัวดำเนินการ <> และ = ต้องใช้ IS NULL และ IS NOT NULL แทน เนื่องจาก NULL เป็นกรณีพิเศษใน MySQL ตัวอย่างการใช้งาน สร้างตารางทดสอบ: mysql> create table ConditionalNotNullDemo ( Id int NOT NULL AUTO_INCREMENT, SendMessage longtext, PRIMARY KEY(Id) ); Que

  13. ตัวแปรระบบ (System Variables) ต่อ ตัวแปรผู้ใช้ (User-defined Variables) ใน MySQL

    ตัวแปรระบบ (System Variables) ตัวแปรระบบเป็นตัวแปรที่มีชนิดข้อมูลแน่นอน (tightly typed) เรียกอีกอย่างว่า Global-specific variable ตัวแปรระบบสามารถกำหนดค่าเริ่มต้นได้ที่ระดับ Global และเก็บค่าไว้จนกว่าจะมีการรีสตาร์ทเซิร์ฟเวอร์ MySQL ค่าจะหายไปเมื่อรีสตาร์ทเซิร์ฟเวอร์ ตัวแปรระบบที่กำหนดไว้ล่วงหน้าจะ

  14. ตัวแปรระบบ (System Variables) ต่อ ตัวแปรท้องถิ่น (Local Variables) ใน MySQL

    ตัวแปรท้องถิ่น (Local Variable) มีขอบเขตการทำงานเพียงในชุดคำสั่งหรือบล็อกคำสั่งเท่านั้น เมื่อชุดคำสั่งหรือบล็อกคำสั่งนั้นเสร็จสิ้น ตัวแปรท้องถิ่นจะอยู่นอกขอบเขต (out of scope) ทันที ตัวอย่างการใช้งาน ตัวแปรท้องถิ่นมักใช้ใน Stored Procedure, Function เป็นต้น โดยประกาศด้วยคำสั่ง DECLARE รูปแบบไวยาก

  15. จัดการค่า Boolean ใน PHP และ MySQL อย่างไรดี?

    เราใช้ MySQL เวอร์ชัน 8.0.12 มาดูวิธีตรวจสอบเวอร์ชัน MySQL กันก่อน: mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec) ชนิดข้อมูล Boolean ใน MySQL ใน MySQL สามารถใช้ BOOL, BOOLEAN หรือ TINYINT(1) สำหรับค่า Boolean หากใช้ BOOL

  16. Multiple Insert / Batch Insert ใน MySQL คำสั่งเดียว

    การ Insert หลายแถวพร้อมกันด้วย VALUES แบบคั่นจุลภาค MySQL รองรับการ INSERT หลายแถวในคำสั่งเดียวโดยคั่นแต่ละชุดค่าด้วยจุลภาค เร็วกว่า INSERT แยกหลายคำสั่งมาก ไวยากรณ์ INSERT INTO yourTableName (col1, col2, ...) VALUES (val1_1, val1_2, ...), (val2_1, val2_2, ...), (val3_1, val3_2, ...),

  17. เลือกเงื่อนไขระหว่างวันที่เพื่อหาราคาสูงสุด/ต่ำสุดใน MySQL

    Conditional Aggregation: หา Min/Max ราคาตามช่วงวันที่ ใช้ CASE ภายใน Aggregate Functions (MIN(), MAX()) เพื่อเลือกค่าราคาตามเงื่อนไขวันที่ ไวยากรณ์ SELECT MIN(CASE WHEN CURDATE() BETWEEN StartDate AND EndDate THEN LowerPrice ELSE HigherPrice END) AS MinimumValue, MAX(CASE WHEN CURDATE() BE

  18. ดู Global Locks ใน MySQL (InnoDB) ด้วย SHOW ENGINE INNODB STATUS

    การตรวจสอบ Locks และ Transaction ใน InnoDB ใช้คำสั่ง SHOW ENGINE INNODB STATUS\G เพื่อดูข้อมูลล็อค ทราน잭ชัน และสถานะ InnoDB แบบละเอียด คำสั่ง SHOW ENGINE INNODB STATUS\G ใช้ \G เพื่อแสดงผลแนวตั้ง (อ่านง่ายกว่า) ส่วนสำคัญใน Output 1. SEMAPHORES - ล็อคระดับระบบปฏิบัติการ ---------- SEMAPHORES -----

  19. ตรวจสอบฟิลด์ว่าง (Empty) หรือ NULL ใน MySQL ด้วย CASE

    การตรวจสอบ Empty String และ NULL แยกกันด้วย CASE ใน MySQL NULL และ (empty string) เป็นสิ่งต่างกัน ต้องตรวจสอบแยกกันด้วย IS NULL และ = ไวยากรณ์ SELECT *, CASE WHEN yourColumn = THEN Empty String WHEN yourColumn IS NULL THEN NULL Value ELSE CONCAT(yourColu

  20. ความแตกต่างระหว่าง AND และ && ใน MySQL

    AND vs && ใน MySQL: ตัวดำเนินการตรรกะ ความแตกต่างหลัก: AND เป็นมาตรฐาน SQL (ANSI) ส่วน && เป็น syntax เฉพาะ MySQL (MySQL-specific) นอกจากนี้ ทั้งคู่ทำงานเหมือนกันทุกประการ (Functionally identical) ตารางความจริง (Truth Table) ABA AND BA && B 1 (TRUE)1 (TRUE)11 1 (TRUE)0 (FALSE)00 0 (FALSE)1 (TRUE)0

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:143/229  20-คอมพิวเตอร์/Page Goto:1 137 138 139 140 141 142 143 144 145 146 147 148 149