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

    เมื่อต้องการค้นหาเรคคอร์ดที่คอลัมน์สตริงลงท้ายด้วยค่าเฉพาะ (Suffix Search) ให้ใช้ตัวอักษร Universal % (Wildcard) หน้าค่าที่ต้องการค้นหาในคำสั่ง LIKE สร้างตารางและข้อมูล ClientId mysql> create table DemoTable (ClientId varchar(20)); mysql> insert into DemoTable values(CLI-101),(CLI-110),(CLI-

  2. นับเฉพาะค่าที่ไม่ซ้ำในคอลัมน์ MySQL ด้วย COUNT(DISTINCT)

    เมื่อต้องการนับจำนวนค่าที่ไม่ซ้ำกัน (Unique Values) ในคอลัมน์ ให้ใช้ COUNT(DISTINCT column_name) ซึ่งจะข้ามค่าที่ซ้ำกันนับเพียงครั้งเดียว สร้างตารางและข้อมูล (มีค่าซ้ำ) mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(10) ); mysql> insert

  3. แบ่งแสดงข้อมูลสลับกัน ASC/DESC ใน MySQL ด้วยค่ากลาง

    เทคนิคการแสดงข้อมูลสลับกันระหว่างค่าน้อยที่สุดและมากที่สุด (1, 10, 2, 9, 3, 8...) โดยใช้ค่ากลาง (Median) เป็นจุดอ้างอิงในการคำนวณลำดับ สร้างตารางและข้อมูล 1-10 mysql> create table DemoTable (UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY); mysql> insert into DemoTable values(); -- ทำ 10 ครั้ง

  4. ลบตาราง MySQL อัตโนมัติหลัง X ชั่วโมงด้วย EVENT

    MySQL Event Scheduler ช่วยให้สามารถกำหนดการลบตาราง (หรือทำงานอื่นๆ) อัตโนมัติในเวลาที่กำหนดได้ โดยใช้คำสั่ง CREATE EVENT Syntax พื้นฐาน CREATE EVENT yourEventName ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL x HOUR DO DROP TABLE IF EXISTS yourTableName; ตัวอย่าง: ลบตารางหลัง 2 ชั่วโมง mysql> c

  5. นับโหวตบวกและลบใน MySQL ด้วย CASE WHEN และ SUM()

    เมื่อต้องการนับจำนวนค่าบวก (Positive) และค่าลบ (Negative) ในคอลัมน์ตัวเลข สามารถใช้ CASE WHEN ร่วมกับ SUM() ได้อย่างมีประสิทธิภาพ โดยแปลงเงื่อนไขเป็น 1 และ 0 แล้วค่อยรวมกัน สร้างตารางและข้อมูล mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Vote int ); mysql&

  6. ตั้งค่า Default DateTime เป็น System Timestamp ใน MySQL

    เมื่อต้องการให้คอลัมน์วันที่/เวลา (DATETIME หรือ TIMESTAMP) มีค่าเริ่มต้นเป็นเวลาปัจจุบันของระบบ (System DateTime) ให้ใช้ CURRENT_TIMESTAMP เป็น Default Value สร้างตาราง mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientFirstName varchar(20), ClientLas

  7. วิธีเร็วที่สุดนับจำนวนแถวใน MySQL Query ด้วย Subquery COUNT(*)

    เมื่อต้องการแสดงจำนวนแถวทั้งหมด (Total Row Count) พร้อมกับข้อมูลแต่ละแถว วิธีที่มีประสิทธิภาพคือใช้ Subquery ด้วย COUNT(*) ซึ่ง MySQL จะคำนวณครั้งเดียวแล้ว Broadcast ไปทุกแถว สร้างตารางและข้อมูล 10 แถว mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, Stu

  8. แยกส่วนของ URL ใน MySQL ด้วย SUBSTRING_INDEX()

    เมื่อต้องการแยกส่วนเฉพาะของ URL เช่น ดึงชื่อไฟล์สุดท้าย โดเมน หรือ Path สามารถใช้ฟังก์ชัน SUBSTRING_INDEX() ซึ่งออกแบบมาสำหรับแยกสตริงด้วยตัวคั่น (Delimiter) สร้างตารางและข้อมูล URL mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, URL text ); mysql> insert

  9. แสดงทศนิยม 3 ตำแหน่งใน MySQL ด้วย TRUNCATE()

    เมื่อต้องการแสดงตัวเลขทศนิยมจำนวนหลักที่กำหนดโดย ไม่ปัดเศษ (Truncate) ให้ใช้ฟังก์ชัน TRUNCATE() ซึ่งต่างจาก ROUND() ที่จะปัดเศษ สร้างตารางและข้อมูล mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value DECIMAL(10,5) ); mysql> insert into DemoTable(Value) v

  10. เรียงลำดับ 5 เรคคอร์ดล่าสุดตาม ID ใน MySQL ด้วย Subquery

    เมื่อต้องการดึงข้อมูล 5 เรคคอร์ดล่าสุด (ตาม ID มากที่สุด) แต่ต้องการแสดงผลในลำดับจากน้อยไปมาก (ASC) ต้องใช้ Subquery เพื่อกรองก่อน แล้วค่อยเรียงลำดับใหม่ สร้างตารางและข้อมูล mysql> create table DemoTable (Id int); mysql> insert into DemoTable values(100),(115),(200),(140),(124),(198),(156),(

  11. หาตารางที่มีคอลัมน์มากที่สุดใน MySQL ด้วย INFORMATION_SCHEMA

    เมื่อต้องการทราบว่าตารางไหนในฐานข้อมูลมีจำนวนคอลัมน์มากที่สุด (หรือน้อยที่สุด) สามารถสืบค้นจาก INFORMATION_SCHEMA.COLUMNS ได้อย่างง่ายดาย คำสั่งหาตารางคอลัมน์มากที่สุด mysql> SELECT TABLE_NAME, COUNT(*) as TOTAL_COUNT FROM INFORMATION_SCHEMA.COLUMNS GROUP BY TABLE_NAME ORDER BY TOTAL_COUNT DE

  12. ใช้ CONCAT() สำหรับ INSERT ข้อมูลซับซ้อนใน MySQL

    ฟังก์ชัน CONCAT() ใน MySQL ช่วยรวมข้อความและค่าต่างๆ ได้ ซึ่งมีประโยชน์มากเมื่อต้อง INSERT ข้อมูลที่ต้องประกอบจากหลายส่วนหรือคำนวณจากคอลัมน์อื่น สถานการณ์: สร้างชื่อโปรเจกต์จาก StudentId ต้องการ INSERT ข้อมูลไปตารางที่สอง โดย ClientProjectName ประกอบด้วยข้อความคงที่ + StudentId สร้างตารางแรกและข้อ

  13. ค้นหาข้อมูลในรายการคั่นด้วยจุลภาคใน MySQL ด้วย FIND_IN_SET()

    เมื่อเก็บข้อมูลหลายค่าในคอลัมน์เดียวแบบคั่นด้วยจุลภาค (comma-separated values) การค้นหาค่าเฉพาะในรายการนั้นๆ สามารถใช้ฟังก์ชัน FIND_IN_SET() ได้อย่างมีประสิทธิภาพ สถานการณ์ตัวอย่าง ตารางเก็บคะแนนสอบของนักเรียนหลายวิชาในคอลัมน์เดียว (Marks) คั่นด้วยจุลภาค สร้างตารางและข้อมูล mysql> create table

  14. คัดลอกข้อมูลจากคอลัมน์หนึ่งไปอีกคอลัมน์ทุกแถวใน MySQL ด้วย UPDATE

    เมื่อต้องการคัดลอกค่าจากคอลัมน์หนึ่งไปยังอีกคอลัมน์ในทุกแถวของตาราง ให้ใช้คำสั่ง UPDATE พร้อมกำหนดค่าคอลัมน์ปลายทางเท่ากับคอลัมน์ต้นทาง ตัวอย่างสถานการณ์ คัดลอกค่า StudentId ไปยัง StudentMarks ในทุกแถว สร้างตารางและข้อมูล mysql> create table DemoTable ( StudentId int, StudentFirstName v

  15. ตรวจสอบ Character Set และ Collation เริ่มต้นของ MySQL Server

    การรู้ character set และ collation เริ่มต้นของเซิร์ฟเวอร์ MySQL สำคัญสำหรับการจัดการข้อมูลภาษาไทยและหลายภาษา ให้ถูกต้องและไม่เกิดปัญหาการเข้ารหัส คำสั่งตรวจสอบ Character Set SHOW VARIABLES LIKE character_set_server; คำสั่งตรวจสอบ Collation SHOW VARIABLES LIKE collation_server; ตัวอย่างผลลัพธ์ +--

  16. เพิ่มคอลัมน์ชั่วคราวใน MySQL ด้วย CASE WHEN ตามเงื่อนไขคอลัมน์อื่น

    เมื่อต้องการสร้างคอลัมน์คำนวณชั่วคราว (computed column) ที่ค่าเปลี่ยนแปลงตามเงื่อนไขของคอลัมน์อื่น สามารถใช้คำสั่ง CASE WHEN ได้อย่างมีประสิทธิภาพ สถานการณ์ตัวอย่าง ต้องการคำนวณเงินเดือนใหม่ (NewSalary) จากเงินเดือนปัจจุบันและประสบการณ์ทำงาน: ประสบการณ์ 5 ปี → เพิ่ม 10,000 ประสบการณ์ 8 ปี → เพิ่ม

  17. แสดง ID ตามลำดับที่กำหนดด้วย MySQL IN() และ FIELD()

    เมื่อต้องการแสดงข้อมูลตามลำดับที่คุณกำหนดเอง ไม่ใช่ลำดับปกติของฐานข้อมูล สามารถใช้ฟังก์ชัน FIELD() ร่วมกับ IN() ได้ ซึ่งเป็นเทคนิคที่มีประโยชน์มากเมื่อต้องการควบคุมลำดับการแสดงผลแบบกำหนดเอง ตัวอย่างการใช้งาน ขั้นแรก สร้างตารางตัวอย่าง: mysql> create table DemoTable ( UserId int ); เพิ่มข้อมูลท

  18. MySQL: แปลงข้อมูลทั้งตารางจากตัวใหญ่เป็นตัวเล็กด้วย UPDATE LOWER()

    การแปลงข้อมูลทุกคอลัมน์/ทุกแถวเป็นตัวพิมพ์เล็กด้วย LOWER() และ UPDATE ใช้คำสั่ง UPDATE ร่วมกับฟังก์ชัน LOWER() บนทุกคอลัมน์ที่ต้องการแปลง ทำได้ใน Query เดียว ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูลตัวใหญ่: INSERT INTO DemoTable VALUES(STU-101,John,Smith,US),(STU-102,John,Doe,UK),(STU-103,David,

  19. MySQL: ดึงเวลาปัจจุบันแบบ GMT/UTC 0 ด้วย utc_timestamp()

    การได้เวลา UTC (GMT+0) โดยตรงด้วย utc_timestamp() ฟังก์ชัน UTC_TIMESTAMP() คืนค่า DateTime ปัจจุบันใน Time Zone UTC (GMT+0) โดยตรง ไม่ต้องแปลงจาก NOW() ซึ่งเป็นเวลาของ Server Time Zone ตัวอย่างการใช้งาน ดูเวลา Server (NOW): SELECT NOW(); +---------------------+ | now() | +-----------

  20. MySQL: ดูชื่อและชนิดข้อมูลคอลัมน์จาก Database ด้วย INFORMATION_SCHEMA.COLUMNS

    การดึงข้อมูลเมตาคอลัมน์ (Column Metadata) จาก INFORMATION_SCHEMA View INFORMATION_SCHEMA.COLUMNS เก็บข้อมูลของทุกคอลัมน์ในทุกตาราง ใช้ Query เพื่อดูชื่อคอลัมน์และชนิดข้อมูลของตารางเฉพาะ ไวยากรณ์ (Syntax) SELECT COLUMN_NAME, COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = yourTableN

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:117/229  20-คอมพิวเตอร์/Page Goto:1 111 112 113 114 115 116 117 118 119 120 121 122 123