Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. SELECT * ช้ากว่าการระบุชื่อคอลัมน์ 40 คอลัมน์ใน MySQL?

    ทำไม SELECT * จึงช้ากว่าการระบุชื่อคอลัมน์ การใช้ SELECT * ทำให้ MySQL ต้องอ่านข้อมูลทุกคอลัมน์ รวมถึงคอลัมน์ที่ไม่จำเป็น ส่งผลให้: เพิ่ม I/O และการถ่ายโอนข้อมูลระหว่างดิสก์และหน่วยความจำ ไม่สามารถใช้ Covering Index ได้อย่างมีประสิทธิภาพ เพิ่มภาระเครือข่ายหากส่งข้อมูลไปยังแอปพลิเคชัน ดังนั้น ควรระ

  2. นับจำนวน 0, NULL และค่าที่ไม่ซ้ำกัน (ยกเว้น 0 และ NULL) ในคำสั่งเดียว MySQL

    การนับเงื่อนไขหลายอย่างในคำสั่ง SELECT เดียวด้วย SUM() เราสามารถนับจำนวนค่า NULL, ค่า 0 และจำนวนค่าที่ไม่ซ้ำกันที่มากกว่า 0 พร้อมกันในคำสั่งเดียวโดยใช้ SUM() กับเงื่อนไข boolean (true=1, false=0) สร้างตารางและเพิ่มข้อมูล mysql> CREATE TABLE DemoTable (Value INT); Query OK, 0 rows affected (1.35

  3. หาจำนวนแถวทั้งหมดของคำสั่งก่อนหน้าที่มี LIMIT ด้วย FOUND_ROWS() ใน MySQL

    การใช้ SQL_CALC_FOUND_ROWS และ FOUND_ROWS() เพื่อนับแถวทั้งหมด เมื่อใช้ LIMIT ในคำสั่ง SELECT MySQL จะคืนแถวจำกัดจำนวน แต่เราสามารถทราบจำนวนแถวทั้งหมดที่ตรงเงื่อนไขได้โดยใช้ SQL_CALC_FOUND_ROWS และฟังก์ชัน FOUND_ROWS() ไวยากรณ์ SELECT SQL_CALC_FOUND_ROWS column_name FROM table_name WHERE condition

  4. หาค่าต่ำสุดและสูงสุดในคำสั่งเดียวด้วย UNION ใน MySQL

    การดึงค่า MIN และ MAX พร้อมกันด้วย UNION เพื่อแสดงค่าต่ำสุดและสูงสุดในคอลัมน์เดียวกันในชุดผลลัพธ์เดียว เราสามารถใช้ UNION รวมคำสั่ง SELECT สองคำสั่งที่ใช้ MIN() และ MAX() แยกกัน สร้างตารางและเพิ่มข้อมูล mysql> CREATE TABLE DemoTable (Price INT); Query OK, 0 rows affected (0.57 sec) mysql> IN

  5. สร้างคอลัมน์ BOOLEAN และตั้งค่า DEFAULT เป็น 1 ขณะ ALTER TABLE ใน MySQL

    การเพิ่มคอลัมน์ BOOLEAN พร้อมค่าเริ่มต้น (DEFAULT) ผ่าน ALTER TABLE ใน MySQL เราสามารถเปลี่ยนชนิดข้อมูลคอลัมน์และตั้งค่า DEFAULT พร้อมกันด้วยคำสั่ง ALTER TABLE ... CHANGE ... โดยระบุ BOOLEAN DEFAULT 1 NOT NULL สร้างตารางเริ่มต้น mysql> CREATE TABLE DemoTable (isAdult INT); Query OK, 0 rows affec

  6. หาค่าเฉลี่ยของแถวที่มี ID เดียวกันใน MySQL ด้วย GROUP BY และ AVG()

    การคำนวณค่าเฉลี่ยต่อกลุ่มด้วย AVG() และ GROUP BY เมื่อต้องการหาค่าเฉลี่ยของคอลัมน์ตัวเลข จัดกลุ่มตามคอลัมน์ ID เราใช้ฟังก์ชัน AVG() ร่วมกับ GROUP BY สร้างตารางและเพิ่มข้อมูล mysql> CREATE TABLE DemoTable ( StudentId INT, StudentMarks INT ); Query OK, 0 rows affected (0.83 sec) mysql>

  7. ค้นหาวันหมดอายุในอีก 2 วันข้างหน้าใน MySQL ด้วย BETWEEN

    การค้นหาช่วงวันที่ด้วย BETWEEN และ CURDATE() เพื่อหาบันทึกที่มีวันที่อยู่ในช่วงวันนี้ถึงอีก 2 วันข้างหน้า เราใช้ BETWEEN ร่วมกับ CURDATE() และ INTERVAL สร้างตารางและเพิ่มข้อมูล (สมมติวันนี้คือ 2019-08-18) mysql> CREATE TABLE DemoTable (ExpiryDate DATE); Query OK, 0 rows affected (0.55 sec) mysq

  8. เปลี่ยนสตริงให้เหลือเฉพาะส่วนหลังเครื่องหมาย underscore ใน MySQL

    การตัดสตริงให้เหลือส่วนหลังอักขระพิเศษด้วย SUBSTRING และ LIKE เมื่อต้องการเก็บเฉพาะส่วนของข้อความที่อยู่หลังอักขระหนึ่ง (เช่น underscore _) เราสามารถใช้ SUBSTRING() ร่วมกับ LOCATE() หรือใช้ตำแหน่งคงที่หากรูปแบบคงที่ สร้างตารางและเพิ่มข้อมูล mysql> CREATE TABLE DemoTable (UserName VARCHAR(100));

  9. หาค่าต่ำสุดที่มากกว่าตัวเลขที่กำหนดใน MySQL ด้วย MIN() และ WHERE

    การหาค่าถัดไปที่มากกว่าตัวเลขที่กำหนด (Next Higher Value) เพื่อหาค่าที่น้อยที่สุดแต่ยังมากกว่าตัวเลขที่กำหนด เราใช้ฟังก์ชัน MIN() ร่วมกับเงื่อนไข value สร้างตารางและเพิ่มข้อมูล mysql> CREATE TABLE DemoTable (Number INT); Query OK, 0 rows affected (0.54 sec) mysql> INSERT INTO DemoTable VALU

  10. แสดงข้อมูลเรียงลำดับ DESC และข้ามบางแถวด้วย LIMIT OFFSET ใน MySQL

    การใช้ LIMIT OFFSET เพื่อข้ามแถวและจำกัดจำนวนผลลัพธ์ ใน MySQL เราสามารถใช้ LIMIT offset, row_count เพื่อข้ามจำนวนแถวที่กำหนด (offset) และแสดงจำนวนแถวที่ต้องการ (row_count) หลังจากเรียงลำดับแล้ว สร้างตารางและเพิ่มข้อมูล mysql> CREATE TABLE DemoTable ( Id INT, Name VARCHAR(100) ); Query OK

  11. นับจำนวนข้อความที่ไม่ซ้ำกันต่อผู้ใช้ใน MySQL ด้วย GROUP BY

    การนับค่าที่ไม่ซ้ำกัน (Unique) ต่อกลุ่มด้วย COUNT(DISTINCT) และ GROUP BY เมื่อต้องการนับจำนวนค่าที่ไม่ซ้ำกันในคอลัมน์หนึ่ง จัดกลุ่มตามคอลัมน์อีกคอลัมน์ เราใช้ COUNT(DISTINCT column) ร่วมกับ GROUP BY สร้างตารางและเพิ่มข้อมูล mysql> CREATE TABLE DemoTable ( UserName VARCHAR(100), UserPostM

  12. แสดงข้อมูลโดยกำหนดค่า 2 ค่าแรกก่อน แล้วค่อยใช้ DISTINCT สำหรับค่าอื่นใน MySQL

    การรวมผลลัพธ์ด้วย UNION และ DISTINCT ใน MySQL ตัวอย่างนี้แสดงวิธีการกำหนดค่าเฉพาะ 2 ค่าแรกด้วย SELECT แบบคงที่ แล้วรวมกับค่าที่ไม่ซ้ำกันจากตารางโดยใช้ UNION และ DISTINCT สร้างตารางและเพิ่มข้อมูล mysql> CREATE TABLE DemoTable (FirstName VARCHAR(100)); Query OK, 0 rows affected (0.96 sec) mysql&g

  13. เลือกข้อมูล 2 อันดับแรก (Top 2) ใน MySQL ด้วย LIMIT และ ORDER BY

    การดึงข้อมูลอันดับบนสุด (Top N) ใน MySQL เพื่อเลือกข้อมูลที่มีค่าสูงสุดหรือต่ำสุดตามลำดับ เราใช้ ORDER BY ร่วมกับ LIMIT สร้างตารางและเพิ่มข้อมูลตัวอย่าง mysql> CREATE TABLE DemoTable (Amount INT); Query OK, 0 rows affected (0.73 sec) mysql> INSERT INTO DemoTable VALUES(986); mysql> INSERT

  14. นับจำนวนค่าที่ไม่ซ้ำกัน (DISTINCT) ในคอลัมน์ที่มีข้อมูลซ้ำ MySQL

    การนับค่าที่ไม่ซ้ำกันด้วย COUNT(DISTINCT column) เมื่อต้องการนับจำนวนค่าที่ไม่ซ้ำกัน (unique values) ในคอลัมน์ที่มีข้อมูลซ้ำ เราสามารถใช้ฟังก์ชัน COUNT(DISTINCT column_name) ได้โดยตรง สร้างตารางและเพิ่มข้อมูลทดสอบ mysql> CREATE TABLE DemoTable ( StudentId INT, StudentFirstName VARCHAR(10

  15. ค้นหาแถวเฉพาะใน MySQL ด้วยคำสั่ง WHERE

    การค้นหาแถวข้อมูลเฉพาะใน MySQL เพื่อค้นหาแถวที่ตรงกับเงื่อนไขที่กำหนด เราใช้คำสั่ง SELECT ร่วมกับ WHERE เพื่อกรองข้อมูลตามคอลัมน์ที่ต้องการ ตัวอย่างการสร้างตารางและเพิ่มข้อมูล mysql> CREATE TABLE DemoTable ( UserId INT, UserName VARCHAR(100) ); Query OK, 0 rows affected (0.66 sec) mysql

  16. เปรียบเทียบค่า NULL และแสดงค่า 1 ในคอลัมน์ MySQL ใหม่

    การใช้ฟังก์ชัน IF() ร่วมกับ IS NULL ใน MySQL เมื่อต้องการตรวจสอบว่าคอลัมน์ใดมีค่า NULL และสร้างคอลัมน์ใหม่ที่แสดงค่า 1 สำหรับแถวที่เป็น NULL และ 0 สำหรับแถวที่มีข้อมูล เราสามารถใช้ฟังก์ชัน IF() ร่วมกับเงื่อนไข IS NULL ได้ ตัวอย่างการสร้างตารางและข้อมูลทดสอบ mysql> CREATE TABLE DemoTable ( Na

  17. หาค่า Max จากคอลัมน์และเซ็ตให้ทุกแถวในคอลัมน์เดียวกัน MySQL

    ใช้ Subquery ใน SELECT เพื่อหา MAX(Score) แล้วแสดงซ้ำให้ทุกแถวในผลลัพธ์ (ไม่ได้ UPDATE ตารางจริง แค่แสดงผล) ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( FirstName varchar(100), Score int ); Query OK, 0 rows affected (0.60 sec) เพิ่มข้อมูลคะแนน mysql> insert into DemoTable

  18. ใช้คำสงวน 'index' เป็นชื่อคอลัมน์ใน MySQL ด้วยแบ็กทิก

    คำว่า index เป็น คำสงวน (Reserved Word) ใน MySQL หากต้องการใช้เป็นชื่อคอลัมน์ ต้องห่อด้วย แบ็กทิก (`) ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( `index` int ); Query OK, 0 rows affected (0.48 sec) เพิ่มข้อมูล mysql> insert into DemoTable values(1000); Query OK, 1 row affect

  19. จัดเรียงชุดตัวเลขคั่นคอมม่าใน MySQL ตามตัวเลขตัวแรกด้วย SUBSTRING_INDEX

    เมื่อคอลัมน์เก็บชุดตัวเลขคั่นด้วยคอมม่า (CSV) เช่น 245,654,76,89,98 และต้องการจัดเรียงตามตัวเลขตัวแรก ใช้ SUBSTRING_INDEX() ดึงตัวแรก แล้ว CAST AS UNSIGNED แปลงเป็นตัวเลข ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( SetOfNumbers text ); Query OK, 0 rows affected (0.53 sec) เพิ่มข

  20. จัดเรียง MySQL ให้แถวที่ชื่อ John อยู่บนสุดด้วย ORDER BY CASE

    ใช้ ORDER BY CASE WHEN เพื่อ ปักหมุด (Pin) แถวที่มีค่าเฉพาะ (เช่น ชื่อ John) ให้อยู่บนสุด แล้วค่อยเรียงส่วนที่เหลือตามปกติ ตัวอย่างการสร้างตาราง mysql> create table DemoTable ( StudentName varchar(100), StudentMarks int ); Query OK, 0 rows affected (0.97 sec) เพิ่มข้อมูล (มีชื่อ John

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:65/229  20-คอมพิวเตอร์/Page Goto:1 59 60 61 62 63 64 65 66 67 68 69 70 71