Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. Base64 Encode/Decode ใน MySQL ด้วย TO_BASE64() และ FROM_BASE64()

    MySQL 5.6+ มีฟังก์ชัน Built-in สำหรับ Base64 Encoding/Decoding: TO_BASE64() และ FROM_BASE64() รูปแบบคำสั่ง Encode: ข้อความ → Base64 SELECT TO_BASE64(string_value) AS base64_encoded; Decode: Base64 → ข้อความ SELECT FROM_BASE64(base64_string) AS decoded_string; ตัวอย่างพื้นฐาน Encode SELECT TO_B

  2. หาวันที่ 1 ของเดือนใน MySQL ด้วย DATE_FORMAT()

    เพื่อหาวันที่ 1 ของเดือนที่ตรงกับวันที่ในคอลัมน์ ให้ใช้ DATE_FORMAT() กำหนดรูปแบบ %Y-%m-01 (วันเป็น 01 ตายตัว) รูปแบบคำสั่ง SELECT DATE_FORMAT(yourDateColumn, %Y-%m-01) AS first_day_of_month FROM yourTableName; ตัวอย่างการใช้งาน 1. สร้างตารางและเพิ่มวันที่กระจายเดือนต่างๆ INSERT INTO getFirstDa

  3. รีเซ็ต Primary Key (AUTO_INCREMENT) ใน MySQL ให้เริ่มจาก 1 ใหม่

    การ รีเซ็ต Primary Key มักหมายถึงการตั้งค่า AUTO_INCREMENT กลับเป็น 1 หลังจากลบข้อมูลทั้งหมด (TRUNCATE) หรือต้องการเริ่มนับใหม่ รูปแบบคำสั่ง ALTER TABLE yourTableName AUTO_INCREMENT = 1; ตัวอย่างขั้นตอน 1. สร้างตารางพร้อม AUTO_INCREMENT ); Query OK, 0 rows affected (0.59 sec) 2. เพิ่มข้อมูล 4 แ

  4. คำนวณค่าเฉลี่ยในคอลัมน์ MySQL ด้วย AVG()

    ฟังก์ชันรวม AVG() ใช้คำนวณค่าเฉลี่ยเลขคณิต (Arithmetic Mean) ของค่าตัวเลขในคอลัมน์ รูปแบบคำสั่ง SELECT AVG(yourColumnName) AS average_value FROM yourTableName; ตัวอย่างการใช้งาน 1. สร้างตารางคะแนนสอบ INSERT INTO AverageCalculateDemo VALUES (70), (80), (65), (55), (60); 2. ดูข้อมูลทั้งหมด SELEC

  5. เรียงลำดับวันที่และเวลาลำดับถอยหลังใน MySQL (DESC)

    การเรียงลำดับ (Sort) ตามวันที่และเวลาใน MySQL ใช้ ORDER BY ... DESC สำหรับลำดับถอยหลัง (ใหม่สุดก่อน) ตัวอย่าง: ตารางมี Date และ Time แยกคอลัมน์ 1. สร้างตารางและเพิ่มข้อมูล (4, Sam, 2018-12-16, 10:00); 2. ดูข้อมูลดิบ (ไม่ได้เรียง) SELECT * FROM SortByDateAndTime; +--------+----------+-----------

  6. เก็บเดือนและปีใน MySQL: ใช้ DATETIME แล้ว EXTRACT ด้วย MONTH() และ YEAR()

    MySQL **ไม่มีชนิดข้อมูล** สำหรับเก็บ เดือนและปี อย่างเดียว (No MONTH_YEAR type) แนวทางปฏิบัติที่ดีคือ **เก็บเป็น DATE หรือ DATETIME แล้วดึงส่วนที่ต้องการตอน Query** ทำไมไม่ควรเก็บแยกเดือน/ปี ไม่สามารถคำนวณช่วงเวลาได้ง่าย (เช่น 3 เดือนที่แล้ว) ไม่มี Index ที่ทำงานได้ดีสำหรับ Range Query Validation

  7. ตั้งค่า Primary Key เริ่มจาก 1000 ใน MySQL ด้วย AUTO_INCREMENT

    ค่าเริ่มต้นของ AUTO_INCREMENT คือ 1 แต่สามารถเปลี่ยนให้เริ่มจากหมายเลขอื่นได้ เช่น 1000 โดยใช้ ALTER TABLE ... AUTO_INCREMENT = value รูปแบบคำสั่ง ALTER TABLE yourTableName AUTO_INCREMENT = 1000; ตัวอย่างขั้นตอน 1. สร้างตารางพร้อม AUTO_INCREMENT ); Query OK, 0 rows affected (0.56 sec) 2. ตั้งค่

  8. ดึงเฉพาะวันที่จาก TIMESTAMP ใน MySQL ด้วย DATE()

    เมื่อคอลัมน์เป็น TIMESTAMP หรือ DATETIME และต้องการเฉพาะส่วนวันที่ ให้ใช้ฟังก์ชัน DATE() รูปแบบคำสั่ง SELECT DATE(yourTimestampColumn) AS date_only FROM yourTableName; ตัวอย่างการใช้งาน 1. สร้างตาราง TIMESTAMP Column ); Query OK, 0 rows affected (0.60 sec) 2. เพิ่มข้อมูล Timestamp INSERT INTO

  9. จำลอง PRINT Statement ใน MySQL ด้วย SELECT

    MySQL ไม่มีคำสั่ง PRINT แบบ SQL Server หรือ PostgreSQL (`RAISE NOTICE`) แต่สามารถ **จำลอง** ได้ด้วยคำสั่ง SELECT แบบไม่มี FROM รูปแบบคำสั่ง SELECT your_message AS ``; ใช้ Backtick ว่าง (` `) หรือ Alias ใดๆ ก็ได้ เพื่อไม่ให้แสดงชื่อคอลัมน์ ตัวอย่างการใช้งาน 1. พิมพ์ข้อความ (String) SELECT HELLO M

  10. COUNT(*) vs COUNT(column) ใน MySQL: นับแถว vs นับค่าไม่เป็น NULL

    หลายคนเข้าใจผิดว่า COUNT(*) และ COUNT(column) ให้ผลลัพธ์เหมือนกัน แต่จริงๆ แล้ว **ต่างกัน** เมื่อคอลัมน์มีค่า NULL ความแตกต่างสำคัญ ฟังก์ชันนับอะไรรวม NULL COUNT(*)จำนวนแถวทั้งหมด (Rows)✅ ใช่ COUNT(column)จำนวนค่าที่ **ไม่เป็น NULL**❌ ไม่ COUNT(DISTINCT column)จำนวนค่าที่ไม่ซ้ำและไม่เป็น NULL❌

  11. จำลอง Array Variable ใน MySQL ด้วย Temporary Table

    MySQL ไม่มี Array Variable แบบภาษาโปรแกรม แต่สามารถ **จำลอง** ได้ด้วย Temporary Table ซึ่งเก็บชุดข้อมูลชั่วคราวใน Session นั้นๆ รูปแบบคำสั่ง CREATE TEMPORARY TABLE IF NOT EXISTS temp_table_name SELECT column1, column2, ... FROM source_table WHERE condition; ตัวอย่างการใช้งาน 1. สร้างตารางต้นฉบับ

  12. ดูค่า BIT ใน MySQL ให้เห็นค่าจริง (ไม่ใช่ Blank)

    คอลัมน์ชนิด BIT ใน MySQL เมื่อ SELECT โดยตรง จะแสดงเป็น **ค่าว่าง (Blank)** หรืออักขระควบคุม เพราะเป็น Binary Data ต้องแปลงเป็นตัวเลขก่อนจึงจะเห็นค่า 0 หรือ 1 วิธีแก้: บวก 0 (Cast เป็น Integer) SELECT yourBitColumnName + 0 FROM yourTableName; ตัวอย่างการใช้งาน 1. สร้างตาราง BIT Column ); Query O

  13. ค้นหาข้อมูลหลายเงื่อนไขด้วย LIKE และ OR ใน MySQL

    เมื่อต้องการค้นหาแถวที่ตรงกับ **หลายรูปแบบข้อความ** ในคอลัมน์เดียวกัน ให้ใช้ LIKE ร่วมกับ OR รูปแบบคำสั่ง SELECT * FROM yourTableName WHERE yourColumnName LIKE %pattern1% OR yourColumnName LIKE %pattern2% OR yourColumnName LIKE %pattern3% ...; ตัวอย่างการใช้งาน 1. สร้างตารางและเพิ่มข้อมู

  14. แสดงวันที่รูปแบบ DD/MM/YYYY ใน MySQL ด้วย STR_TO_DATE และ DATE_FORMAT

    MySQL เก็บวันที่ในรูปแบบ YYYY-MM-DD (ISO 8601) แต่การแสดงผลให้ผู้ใช้มักต้องการรูปแบบ DD/MM/YYYY ใช้ DATE_FORMAT() สำหรับการแสดงผล และ STR_TO_DATE() สำหรับการแปลงข้อความเข้า DB 1. แสดงผล (SELECT) - ใช้ DATE_FORMAT() SELECT DATE_FORMAT(yourDateColumn, %d/%m/%Y) AS formatted_date FROM yourTableName;

  15. ใช้ != และ <> (Not Equals) ใน WHERE Clause ของ MySQL

    ใน MySQL มีออปเกอร์เตอร์ ไม่เท่ากับ 2 รูปแบบ ให้ผลลัพธ์เหมือนกัน: <> - มาตรฐาน ANSI SQL (แนะนำ) != - MySQL Extension (ใช้ได้แต่ไม่ใช่ Standard) รูปแบบคำสั่ง SELECT * FROM yourTableName WHERE column_name <> value; -- หรือ SELECT * FROM yourTableName WHERE column_name != value; ตัวอย่า

  16. หลีกเลี่ยงการใส่รหัสผ่านบรรทัดคำสั่ง MySQL Utilities ด้วย my.cnf

    การใส่รหัสผ่านในบรรทัดคำสั่ง (Command Line) เช่น mysql -u root -ppassword ไม่ปลอดภัย เพราะปรากฏใน Process List และ History ให้เก็บ Credential ไว้ในไฟล์ my.cnf (Linux/Mac) หรือ my.ini (Windows) แทน หาตำแหน่งไฟล์ Config SELECT @@datadir; +---------------------------------------------+ | @@datadir

  17. แก้ไข ERROR 1115: Unknown character set 'utf8mb4' ใน MySQL

    ข้อผิดพลาด ERROR 1115 (42000): Unknown character set: utf8mb4 เกิดขึ้นเมื่อ **MySQL Version ต่ำกว่า 5.5.3** เพราะ utf8mb4 ถูกเพิ่มเข้ามาตั้งแต่เวอร์ชัน 5.5.3 สาเหตุและวิธีแก้ 1. ตรวจสอบเวอร์ชัน MySQL SELECT VERSION(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in

  18. ลบ 3 ชั่วโมงจาก DATETIME ใน MySQL ด้วย DATE_SUB และ DATE_ADD

    มี 2 วิธีหลักในการลบช่วงเวลาจากคอลัมน์ DATETIME หรือ TIMESTAMP ใน MySQL วิธีที่ 1: DATE_SUB() - ลบช่วงเวลาโดยตรง SELECT DATE_SUB(yourColumnName, INTERVAL 3 HOUR) FROM yourTableName; วิธีที่ 2: DATE_ADD() - บวกช่วงเวลาลบ SELECT DATE_ADD(yourColumnName, INTERVAL -3 HOUR) FROM yourTableName; ตัวอย่า

  19. สลับค่า 0 และ 1 ในคอลัมน์ INT ของ MySQL ด้วย IF()

    การ Toggle หรือสลับค่าระหว่าง 0 และ 1 ในคอลัมน์ Integer สามารถทำได้ในคำสั่ง UPDATE เดียวด้วยฟังก์ชัน IF() รูปแบบคำสั่ง UPDATE yourTableName SET yourColumnName = IF(yourColumnName = 0, 1, 0); ตัวอย่างการใช้งาน 1. สร้างตารางและเพิ่มข้อมูลสลับ 0, 1 INSERT INTO ToggleDemo VALUES (1), (0), (1), (0),

  20. หาค่าสูงสุดในคอลัมน์ MySQL ด้วย MAX()

    ฟังก์ชันรวม (Aggregate Function) MAX() ใช้หาค่าสูงสุดในคอลัมน์ตัวเลข วันที่ หรือข้อความ รูปแบบคำสั่ง SELECT MAX(yourColumnName) AS HighestValue FROM yourTableName; ตัวอย่างการใช้งาน 1. สร้างตารางและเพิ่มตัวเลข INSERT INTO HighestNumberDemo VALUES (1234), (9999), (10000), (989898), (999987); 2.

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:161/229  20-คอมพิวเตอร์/Page Goto:1 155 156 157 158 159 160 161 162 163 164 165 166 167