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

    หลักการ การ insert หลายแถวพร้อมกันใน Transaction เดียว เร็วกว่ามาก เพราะลดการ flush disk ทุกแถว (InnoDB flush ทุก commit) รูปแบบคำสั่ง START TRANSACTION; INSERT INTO table (col1, col2) VALUES (val1, val2), (val3, val4), ..., (valN, valM); COMMIT; ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0

  2. นับจำนวนแถวตามเงื่อนไขค่าเฉพาะใน MySQL ด้วย COUNT และ IF

    แนวคิด ใช้ COUNT(IF(condition, 1, NULL)) เพื่อนับเฉพาะแถวที่ตรงเงื่อนไข COUNT จะไม่นับ NULL รูปแบบคำสั่ง SELECT COUNT(*), COUNT(IF(FirstValue = 1, 1, NULL)) AS count_first_1, COUNT(IF(SecondValue = 2, 1, NULL)) AS count_second_2 FROM yourTable; ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK,

  3. นับค่า Boolean (true/false) ในคอลัมน์เดียวด้วย Single Query ใน MySQL

    แนวคิด MySQL ใช้ TINYINT(1) แทน Boolean (0 = false, 1 = true) ใช้ SUM() กับเงื่อนไข เพื่อนับจำนวน true/false ใน query เดียว หลักการ SUM(isPassed = 1) → นับจำนวน true (เงื่อนไขเป็นจริง = 1) SUM(isPassed = 0) → นับจำนวน false (เงื่อนไขเป็นเท็จ = 0) ตัวอย่างครบถ้วน 1. สร้างตารางนักเรียน ); Q

  4. เพิ่มข้อความเข้าไปในคอลัมน์เดิมด้วย CONCAT ใน MySQL

    คำสั่งหลัก ใช้ CONCAT() ร่วมกับ UPDATE เพื่อต่อข้อความเพิ่มเข้าไปในค่าที่มีอยู่แล้ว รูปแบบคำสั่ง UPDATE yourTableName SET yourColumnName = CONCAT(yourColumnName, text_to_append) WHERE condition; ตัวอย่างครบถ้วน 1. สร้างตารางอาจารย์และวิชา ); Query OK, 0 rows affected (0.54 sec) 2. เพิ่มข้อมู

  5. ดู default collation ของ database ปัจจุบันใน MySQL

    คำสั่งหลัก Query จาก INFORMATION_SCHEMA.SCHEMATA รูปแบบคำสั่ง SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = yourDatabaseName LIMIT 1; ตัวอย่าง: Database ชื่อ sample คำสั่ง LIMIT 1; ผลลัพธ์ +------------------------+ | DEFAULT_COLLATION_NAME | +-----------

  6. ตรวจสอบตารางที่ crashed ใน MySQL ด้วย SHOW TABLE STATUS

    หลักการ ตารางที่ crashed (เสียหาย) จะมีคอลัมน์ Engine เป็น NULL หรือว่างเปล่า ในผลลัพธ์ของ SHOW TABLE STATUS คำสั่งตรวจสอบ SHOW TABLE STATUS FROM yourDatabaseName; ตัวอย่างผลลัพธ์จาก database test3 show table status from test3; +------------------------------+--------+---------+------------+---

  7. ดูค่า AUTO_INCREMENT ปัจจุบันของตารางใน MySQL 2 วิธี

    วิธีที่ 1: SHOW TABLE STATUS (แนะนำ) รูปแบบคำสั่ง SHOW TABLE STATUS LIKE yourTableName\G วิธีที่ 2: Query FROM INFORMATION_SCHEMA รูปแบบคำสั่ง SELECT `AUTO_INCREMENT` FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = yourDatabaseName AND `TABLE_NAME` = yourTableName; ตัวอย่างครบถ้วน 1.

  8. ทำไม MySQL ไม่ให้ insert ตัวอักษร pipe (|) และวิธีแก้ไข

    ข้อเท็จจริง MySQL ไม่มีปัญหากับตัวอักษร pipe (|) ใน string ปกติ ตัวอย่างด้านล่างแสดงว่า insert ได้ปกติ ตัวอย่างแสดงว่า insert pipe ได้ปกติ 1. สร้างตาราง ); Query OK, 0 rows affected (0.52 sec) 2. Insert ข้อมูลที่มี pipe insert into PipeInsertDemo(UserPassword) values(Adam|345Smith); Query OK,

  9. เพิ่มตัวเลขเข้าไปในค่าปัจจุบันของคอลัมน์ใน MySQL (UPDATE ... SET col = col + n)

    คำสั่งหลัก ใช้ UPDATE ร่วมกับการอ้างอิงคอลัมน์ตัวเอง รูปแบบคำสั่ง UPDATE yourTableName SET yourColumnName = yourColumnName + yourIntegerValue WHERE ; ตัวอย่างครบถ้วน 1. สร้างตารางเก็บคะแนนเกม ); Query OK, 0 rows affected (0.67 sec) 2. เพิ่มข้อมูลคะแนน insert into addANumberToCurrentValueDem

  10. ORDER BY วันที่ที่เก็บเป็น VARCHAR ใน MySQL ด้วย STR_TO_DATE

    ปัญหา วันที่เก็บใน VARCHAR (เช่น 01/10/2012) เรียงลำดับแบบ string จะผิด (01, 03, 04, 21, 23, 31) ต้องแปลงเป็น DATE ก่อนจึงจะเรียงถูก วิธีแก้: ใช้ STR_TO_DATE รูปแบบคำสั่ง SELECT * FROM yourTableName ORDER BY STR_TO_DATE(yourColumnName, %d/%m/%Y) DESC; ตัวอย่างครบถ้วน 1. สร้างตารางเก็บวันที่เป็น

  11. สร้างตารางใหม่จากการรวม 2 ตารางด้วย UNION ใน MySQL

    แนวคิด ใช้ CREATE TABLE ... AS SELECT ... UNION SELECT ... เพื่อสร้างตารางใหม่จากข้อมูลรวมของ 2 ตาราง (ลบแถวซ้ำออกอัตโนมัติ) รูปแบบคำสั่ง CREATE TABLE new_table AS (SELECT * FROM table1) UNION (SELECT * FROM table2); ตัวอย่างขั้นตอนต่อขั้นตอน 1. สร้างตารางแรก ); Query OK, 0 rows affected (0.63

  12. บังคับความ unique แบบรวมหลายคอลัมน์ (Compound Unique) ใน MySQL

    แนวคิด Compound Unique Constraint บังคับให้ชุดคอลัมน์ (หลายคอลัมน์รวมกัน) ไม่มีค่าซ้ำ แต่ว่างๆ อาจซ้ำได้ รูปแบบคำสั่งตอนสร้างตาราง CREATE TABLE yourTableName ( yourColumnName1 datatype, yourColumnName2 datatype, yourColumnName3 datatype, ... UNIQUE yourConstraintName (yourColum

  13. จัดการเวลาใน PHP และ MySQL: แปลงรูปแบบ 12/24 ชั่วโมง

    PHP: แปลง 12 ชั่วโมงเป็น 24 ชั่วโมง ใช้ strtotime() ร่วมกับ date() โค้ด PHP $timeValue = 8:55 PM; $changeTimeFormat = date(H:i:s, strtotime($timeValue)); echo The change Format in 24 Hours = . $changeTimeFormat; ผลลัพธ์ The change Format in 24 Hours = 20:55:00 MySQL: แปลง 24 ชั่วโมงเป็น 12 ชั่ว

  14. ใช้ IN operator ใน MySQL WHERE สำหรับค่าหลายค่า (x, y, z)

    แนวคิด แทนที่จะเขียน WHERE col = x OR col = y OR col = z ให้ใช้ IN operator สะดวกและอ่านง่ายกว่า รูปแบบคำสั่ง SELECT * FROM yourTableName WHERE yourColumnName IN (value1, value2, value3, ...); ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0 rows affected (0.52 sec) 2. เพิ่มข้อมูล insert into In

  15. ข้ามข้อมูลซ้ำเลือกแค่ 1 แถวต่อกลุ่มใน MySQL ด้วย GROUP BY และ MIN

    แนวคิดหลัก ใช้ GROUP BY ร่วมกับฟังก์ชัน aggregate เช่น MIN() หรือ MAX() เพื่อเลือกแค่ 1 แถวต่อกลุ่มค่าที่ซ้ำกัน รูปแบบคำสั่ง SELECT MIN(yourColumnName1), yourColumnName2 FROM yourTableName GROUP BY yourColumnName2; ตัวอย่างครบถ้วน 1. สร้างตาราง ); Query OK, 0 rows affected (0.78 sec) 2. เพิ่

  16. ใช้ CASE WHEN สำหรับการประเมิน Boolean ใน MySQL SELECT

    แนวคิด MySQL ไม่มี boolean type จริงๆ (ใช้ TINYINT(1) แทน) แต่สามารถแสดงผลเป็น true/false กับ CASE WHEN ได้ รูปแบบคำสั่ง col2 THEN true ELSE false END AS comparison_result FROM yourTable; ตัวอย่างเต็มรูปแบบ 1. สร้างตาราง ); Query OK, 0 rows affected (0.71 sec) 2. เพิ่มข้อมูลทดสอบ insert into

  17. ตัดคอมมาทั้งหน้าและหลังข้อความใน MySQL ด้วย TRIM

    คำสั่งหลัก ใช้ TRIM(BOTH , FROM column_name) เพื่อลบคอมมาที่อยู่หน้าและหลังข้อความ รูปแบบคำสั่ง SELECT TRIM(BOTH , FROM yourColumnName) FROM yourTableName; ตัวอย่างการใช้งาน 1. สร้างตารางทดสอบ ); Query OK, 0 rows affected (0.81 sec) 2. เพิ่มข้อมูลที่มีคอมมาหน้า/หลัง insert into TrimCommasDemo

  18. นับจำนวนตัวอักษรรวมทุกแถวของคอลัมน์ใน MySQL

    คำสั่งหลัก ใช้ CHAR_LENGTH() ร่วมกับ SUM() เพื่อนับตัวอักษรรวมทั้งตาราง รูปแบบคำสั่ง SELECT SUM(CHAR_LENGTH(yourColumnName)) AS total_chars FROM yourTableName; ตัวอย่างครบถ้วน 1. สร้างตารางเก็บรายวิชา ); Query OK, 0 rows affected (0.47 sec) 2. เพิ่มข้อมูลตัวอย่าง insert into CountAllCharacter

  19. วิธีเพิ่ม prefix ให้ทุกคอลัมน์ใน MySQL ผ่าน View

    แนวคิด MySQL ไม่มีคำสั่งโดยตรงสำหรับ rename หลายคอลัมน์พร้อมกัน แต่สามารถสร้าง View ที่ตั้งชื่อคอลัมน์ใหม่พร้อม prefix ได้ ตัวอย่าง: เพิ่ม prefix emp_ ให้ทุกคอลัมน์ 1. สร้างตารางต้นฉบับ ); 2. สร้าง View พร้อม prefix FROM employees; 3. ใช้งาน View แทนตารางจริง SELECT * FROM v_employees_prefix

  20. สร้าง View ใน MySQL เฉพาะเมื่อยังไม่มีอยู่ (CREATE OR REPLACE VIEW)

    คำสั่งหลัก ใช้ CREATE OR REPLACE VIEW จะสร้าง view ใหม่ถ้ายังไม่มี หรือแทนที่ view เดิมถ้ามีอยู่แล้ว รูปแบบคำสั่ง CREATE OR REPLACE VIEW yourViewName AS SELECT * FROM yourTableName; ตัวอย่างขั้นตอนต่อขั้นตอน 1. สร้างตารางต้นทาง ); Query OK, 0 rows affected (0.58 sec) 2. เพิ่มข้อมูล insert int

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:125/229  20-คอมพิวเตอร์/Page Goto:1 119 120 121 122 123 124 125 126 127 128 129 130 131