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

    เทคนิคพิเศษ: ใช้ GROUP BY -column_name (Negative Column) เพื่อจัดกลุ่มค่าบวกและลบแยกกัน เพราะ -(-10) = 10 และ -(10) = -10 → ค่าบวก/ลบเดิมจะกลายเป็นค่าเดียวกันในกลุ่ม สร้างตารางและข้อมูล (มีทั้งบวกและลบ) mysql> create table DemoTable (Value int); mysql> insert into DemoTable values (-10),(-20

  2. ตั้ง Alias ให้ SHOW TABLES ใน MySQL ด้วย INFORMATION_SCHEMA

    คำสั่ง SHOW TABLES ไม่รองรับ Aliase โดยตรง แต่สามารถ Query INFORMATION_SCHEMA.TABLES แทน แล้วใช้ AS ตั้งชื่อคอลัมน์ผลลัพธ์ Syntax SELECT TABLE_NAME AS anyAliasName FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE(); ตัวอย่าง: ตั้ง Alias เป็น MY_TABLE_NAME mysql> SELECT TABLE_NAME

  3. นับจำนวนวันและ Sum ต่อวันใน MySQL ด้วย GROUP BY DATE()

    เมื่อมีข้อมูล DATETIME และค่าตัวเลข (Count) ต้องการรวมค่า Count ต่อวัน ให้ใช้ DATE() แยกส่วนวันที่จาก DATETIME แล้ว GROUP BY และ SUM() สร้างตารางและข้อมูล mysql> create table DemoTable ( ShippingDate datetime, CountOfDate int ); mysql> insert into DemoTable values (2018-01-31,6),(201

  4. ดึงข้อมูลวันนี้จาก DATETIME ใน MySQL ด้วย DATE() และ DATE_SUB

    เมื่อคอลัมน์เป็น DATETIME (มีทั้ง Date และ Time) ต้องการดึงเฉพาะข้อมูลวันนี้ ให้ใช้ DATE() แยกส่วนวันที่ หรือ DATE_SUB(CURDATE(), INTERVAL 1 DAY) สำหรับช่วง 24 ชม. สร้างตารางมี ShippingDate (DATETIME) mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ShippingDat

  5. ใช้ COUNT(*) กับ GROUP BY คืนค่า 1 แถวแทนหลายแถวใน MySQL

    เมื่อใช้ COUNT(*) แบบธรรมดาจะคืนจำนวนแถวทั้งหมด 1 ค่า แต่ถ้าต้องการนับจำนวน Distinct Values (กลุ่มค่าที่ไม่ซ้ำ) ให้ใช้ Subquery + GROUP BY แล้วนับกลุ่ม สร้างตารางและข้อมูล (มีค่าซ้ำ) mysql> create table DemoTable (Value int); mysql> insert into DemoTable values (10),(20),(10),(30),(10),(20),

  6. หา MAX ID จาก VARCHAR ที่เก็บตัวเลขใน MySQL ด้วย CAST

    เมื่อคอลัมน์ ID เก็บเป็น VARCHAR แตค่าเป็นตัวเลขทั้งหมด การใช้ MAX() 100) ต้อง CAST เป็นตัวเลขก่อน ปัญหา: MAX บน VARCHAR 100! สร้างตารางและข้อมูล mysql> create table DemoTable (UserMarks varchar(20)); mysql> insert into DemoTable values(77),(98),(45),(56),(89),(99),(91),(94); ข้อมูลในตารา

  7. รัน Query ทุกตารางใน Database ด้วย INFORMATION_SCHEMA.TABLES

    เมื่อต้องการรัน Query เดียวที่ครอบคลุมทุกตารางใน Database (เช่น นับแถวรวมทั้ง DB) ให้ Query INFORMATION_SCHEMA.TABLES ซึ่งเก็บ Metadata ของทุกตาราง Syntax: นับแถวรวมทุกตารางใน Database ปัจจุบัน SELECT SUM(TABLE_ROWS) AS Total FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE(); ผลลัพธ์ต

  8. ดึงวันที่วันนี้ในรูปแบบ YYYY-MM-DD ใน MySQL ด้วย CURDATE()

    เพื่อดึงวันที่ปัจจุบัน (Current Date) ในรูปแบบ YYYY-MM-DD ใน MySQL ให้ใช้ฟังก์ชัน CURDATE() หรือ CURRENT_DATE() ซึ่งคืนค่าเป็นชนิด DATE คำสั่ง CURDATE() mysql> SELECT CURDATE(); ผลลัพธ์ +------------+ | CURDATE() | +------------+ | 2019-04-09 | +------------+ คำสั่ง DATE(NOW()) - ทางเลือก mys

  9. ดึง Substring 3 ตัวสุดท้ายของสตริงใน MySQL ด้วย SUBSTR

    เมื่อต้องการดึงตัวอักษร 3 ตัวสุดท้าย (Rightmost 3 Characters) จากสตริง ให้ใช้ SUBSTR() หรือ SUBSTRING() กำหนดตำแหน่งเริ่มต้นเป็นลบ (-3) สร้างตารางและข้อมูล mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(20) ); mysql> insert into DemoTabl

  10. ใช้ Stored Procedure INSERT เข้า 2 ตารางพร้อมกันใน MySQL

    MySQL ไม่มีคำสั่ง INSERT หลายตารางใน Statement เดียว ต้องใช้ Stored Procedure ห่อหุ้ม Transaction เพื่อความเป็น Atomic สร้างตาราง 2 ตาราง mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(20) ); mysql> create table DemoTable2

  11. เพิ่มคอลัมน์ ENUM ใหม่ในตาราง MySQL ที่มีอยู่แล้ว

    เมื่อต้องการเพิ่มคอลัมน์ใหม่ที่มีชนิดข้อมูล ENUM (ค่าคงที่ที่กำหนดไว้ล่วงหน้า) ให้ใช้ ALTER TABLE ... ADD ระบุค่า ENUM ในวงเล็บ Syntax ALTER TABLE yourTableName ADD yourColumnName ENUM(value1,value2,...) NOT NULL; สร้างตารางเดิม mysql> create table DemoTable ( StudentId int NOT NULL AUTO_IN

  12. เปลี่ยน Default Value ของคอลัมน์ใน MySQL ด้วย ALTER TABLE MODIFY

    เมื่อต้องการเปลี่ยนค่า Default ของคอลัมน์ที่มีอยู่แล้ว ให้ใช้ ALTER TABLE ... MODIFY ระบุ Data Type เดิมพร้อม Default ใหม่ สร้างตารางมี Default John mysql> create table DemoTable ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserName varchar(20) DEFAULT John ); ตรวจสอบ Default เดิม

  13. หาค่า Max และ Min พร้อมกันใน MySQL Query เดียว

    เมื่อต้องการหาค่าสูงสุด (MAX) และต่ำสุด (MIN) ของหลายคอลัมน์ใน Query เดียว ให้ใช้ Aggregate Functions MIN() และ MAX() แยกคอลัมน์ด้วยจุลภาค สร้างตารางและข้อมูล mysql> create table DemoTable (FirstValue int, SecondValue int); mysql> insert into DemoTable values(10,30),(30,60),(100,500),(50,80)

  14. หาตำแหน่งเก็บข้อมูลตาราง MySQL ใน Windows ด้วย datadir

    ต้องการทราบว่า MySQL เก็บไฟล์ข้อมูลตาราง (Data Files) ไว้ที่ไหนใน Windows ให้ใช้ Variable datadir หรือคำสั่ง SHOW VARIABLES วิธีที่ 1: SELECT @@datadir mysql> select @@datadir; ผลลัพธ์ +---------------------------------------------+ | @@datadir | +-------------

  15. ดึงค่าแรกจากรายการคั่นจุลภาคใน MySQL ด้วย SUBSTRING_INDEX

    เมื่อมีข้อมูลเก็บเป็น Comma-Separated Values (CSV) ในคอลัมน์เดียว ต้องการดึงค่าแรก (First Element) ให้ใช้ SUBSTRING_INDEX() กำหนด Occurrence = 1 สร้างตารางและข้อมูล CSV mysql> create table DemoTable (CSV_Value varchar(200)); mysql> insert into DemoTable values(10,20,50,80),(100,21,51,43),(1,

  16. จัดรูปแบบวันที่แสดงเดือนและปีใน MySQL ด้วย DATE_FORMAT

    เมื่อต้องการแสดงวันที่ในรูปแบบ MonthName Year (เช่น April 2013) ให้ใช้ DATE_FORMAT() กำหนด Specifier %M %Y Syntax SELECT DATE_FORMAT(date_column, %M %Y) AS alias FROM table_name; สร้างตารางและข้อมูล mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, AdmissionDat

  17. เลือกข้อมูลในช่วงเงื่อนไขหลายอย่างใน MySQL ด้วย WHERE

    การเลือกข้อมูลในช่วงเงื่อนไขหลายอย่าง (Range + Boolean) ใช้ WHERE รวมเงื่อนไขด้วย AND/OR และออเปอเรเตอร์เปรียบเทียบ สร้างตารางลูกค้า mysql> create table DemoTable ( CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(200), CustomerAge int, isRegularCustomer b

  18. คำนวณอายุจาก DateOfBirth ใน MySQL ด้วย DATEDIFF

    สามารถคำนวณอายุจากคอลัมน์ DateOfBirth (DATE) ได้โดยใช้ DATEDIFF() หาจำนวนวัน แล้วหาร 365.25 (คำนวณ Leap Year) และ CAST เป็น UNSIGNED สร้างตารางและข้อมูล mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, DateOfBirth date ); mysql> insert into DemoTable(DateOf

  19. ค้นหาชื่อขึ้นต้นด้วยตัวอักษรเฉพาะใน MySQL ด้วย LIKE

    เมื่อต้องการค้นหาข้อมูลที่ขึ้นต้นด้วยตัวอักษรหรือสตริงเฉพาะ ให้ใช้ Operator LIKE พร้อม Wildcard % ต่อท้าย Pattern สร้างตารางและข้อมูล mysql> create table DemoTable (StudentFirstName varchar(20)); mysql> insert into DemoTable values(John),(Carol),(Johnny),(Robert),(Chris),(Ramit); ข้อมูลในตา

  20. แปลงสตริงเป็น Datetime รูปแบบ 24 ชั่วโมงใน MySQL ด้วย STR_TO_DATE

    เมื่อมีข้อมูลวันที่/เวลาเก็บเป็น VARCHAR/Text ต้องการแปลงเป็นชนิดข้อมูล DATETIME จริง (24-hour Format) ให้ใช้ STR_TO_DATE() กำหนด Format Pattern Syntax SELECT STR_TO_DATE(yourColumnName, %Y-%m-%d %H:%i:%s) FROM yourTableName; Format Specifiers Specifierความหมายตัวอย่าง %Yปี 4 หลัก2024 %mเดือน 01-

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