Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. ทำไมไม่สามารถใช้ชื่อคอลัมน์ 'desc' ใน MySQL และวิธีแก้ไข

    สาเหตุ desc เป็น reserved word ของ MySQL (ใช้สำหรับคำสั่ง DESCRIBE หรือ ORDER BY ... DESC) จึงไม่สามารถใช้เป็นชื่อคอลัมน์ได้โดยตรง วิธีแก้ไข: ใช้ Backticks ห่อชื่อคอลัมน์ด้วย backtick (` `) เพื่อบอก MySQL ว่านี้เป็น identifier ไม่ใช่ keyword ตัวอย่างการสร้างตาราง ); Query OK, 0 rows affected (0

  2. วิธีป้องกันการ insert ข้อมูลซ้ำใน MySQL ด้วย UNIQUE constraint

    แนวคิดหลัก ใช้ UNIQUE constraint บนคอลัมน์หรือชุดคอลัมน์ที่ต้องการให้ค่าไม่ซ้ำกัน ระบบจะ error อัตโนมัติเมื่อพยายาม insert ค่าซ้ำ รูปแบบคำสั่ง ALTER TABLE yourTableName ADD UNIQUE(yourColumnName1, yourColumnName2, ...); ตัวอย่างเต็มรูปแบบ 1. สร้างตาราง ); Query OK, 0 rows affected (0.53 sec) 2

  3. วิธีแก้ไขข้อผิดพลาด MySQL syntax ใกล้ 'OPTION SQL_SELECT_LIMIT=10'

    ปัญหาและวิธีแก้ไข คำสั่ง SET OPTION ถูก deprecated แล้วใน MySQL เวอร์ชันใหม่ ควรใช้ SET SQL_SELECT_LIMIT แทนโดยตรง รูปแบบคำสั่ง SET SQL_SELECT_LIMIT=yourIntegerValue; ตัวอย่างการใช้งาน สร้างตารางทดสอบ ); Query OK, 0 rows affected (0.99 sec) เพิ่มข้อมูลทดสอบ 37 แถว INSERT INTO MySQLSelectDemo

  4. MySQL View และ Table ไม่สามารถมีชื่อเดียวกันได้

    ไม่สามารถ สร้าง View และ Table ชื่อเดียวกันในฐานข้อมูลเดียวกันได้ สร้างตารางตัวอย่าง mysql> CREATE TABLE view_Table_Demo ( -> Id INT, -> Name VARCHAR(20) -> ); เพิ่มข้อมูลตัวอย่าง mysql> INSERT INTO view_Table_Demo VALUES (100, Larry), (101, Mike), (102, Sam); แสดงข้อมู

  5. MySQL กำจัด Common Subexpressions ระหว่าง SELECT และ HAVING/GROUP BY หรือไม่? ทดสอบด้วย SLEEP()

    ทดสอบว่า MySQL เพิ่มประสิทธิภาพ (eliminate) common subexpressions ระหว่าง SELECT และ GROUP BY/HAVING หรือไม่ โดยใช้ SLEEP() วัดเวลา สร้างตารางตัวอย่าง mysql> CREATE TABLE sleepDemo (value INT); mysql> INSERT INTO sleepDemo VALUES (40), (60), (60); แสดงข้อมูล mysql> SELECT * FROM sleepDemo

  6. ใช้ JOIN เลือกข้อมูลที่ตรงเงื่อนไขหลายอย่างพร้อมกัน (AND)

    ใช้ Self-JOIN (JOIN ตารางกับตัวเอง) เพื่อหาแถวที่ตรงเงื่อนไขหลายอย่างพร้อมกัน สร้างตารางตัวอย่าง mysql> CREATE TABLE selectPerson ( -> PersonId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> PersonName VARCHAR(20), -> PersonFavouriteFruit VARCHAR(60) -> ); เพิ่มข้อมูลตั

  7. SELECT ช่วงวันที่ 30 วันใน MySQL ใช้ INTERVAL

    ใช้ตัวดำเนินการเลขคณิตวันที่กับ INTERVAL เพื่อเลือกข้อมูลในช่วง 30 วันก่อนและหลังวันนี้ ไวยากรณ์ NOW() - INTERVAL 30 DAY AND yourDateColumn < NOW() + INTERVAL 30 DAY; สร้างตารางตัวอย่าง mysql> CREATE TABLE selectDatesDemo ( -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Arri

  8. นับ Top 10 ค่าที่พบมากที่สุดในคอลัมน์ MySQL (COUNT + GROUP BY + LIMIT)

    ใช้ GROUP BY นับจำนวน COUNT(*) เรียง DESC จำกัด LIMIT 10 ไวยากรณ์ SELECT yourColumnName, COUNT(*) FROM yourTableName GROUP BY yourColumnName ORDER BY COUNT(*) DESC LIMIT 10; สร้างตารางตัวอย่าง mysql> CREATE TABLE countTop10Demo (Value INT); เพิ่มข้อมูลตัวอย่าง (20 แถว มีค่าซ้ำ) mysql> INSER

  9. ลบ Hyphen (-) ออกจากคอลัมน์ใน MySQL ด้วย REPLACE()

    ใช้ฟังก์ชัน REPLACE() ในคำสั่ง UPDATE เพื่อลบอักขระ hyphen (-) ไวยากรณ์ UPDATE yourTableName SET yourColumnName = REPLACE(yourColumnName, -, ); สร้างตารางตัวอย่าง mysql> CREATE TABLE removeHyphensDemo ( -> userId VARCHAR(100) -> ); เพิ่มข้อมูลตัวอย่าง (มี hyphen) mysql> INSERT

  10. ลบแถวที่เก่ากว่า 5 วันใน MySQL ใช้ DATEDIFF

    ใช้ DATEDIFF() คำนวณความต่างวัน ร่วมกับ NOW() เพื่อลบข้อมูลเก่ากว่า 5 วัน ไวยากรณ์ 5; หมายเหตุ สมมติวันนี้คือ 2019-03-10 สร้างตารางตัวอย่าง mysql> CREATE TABLE deleteRowsOlderThan5Demo ( -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name VARCHAR(100), -> Post_Date DAT

  11. MySQL ORDER BY คอลัมน์ VARCHAR ให้เรียงแบบตัวเลข (CAST / +0)

    คอลัมน์ VARCHAR จะเรียงแบบสตริง (1, 10, 2, 3...) ใช้ +0 หรือ CAST() บังคับให้เรียงแบบตัวเลข ปัญหา: เรียงแบบสตริง (String Sort) mysql> CREATE TABLE selectOrderdemo ( -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name VARCHAR(100), -> RankNumber VARCHAR(100) -> );

  12. PHP เทียบเท่า MySQL UNHEX() คือ hex2bin()

    ฟังก์ชัน hex2bin() ใน PHP คือคำสั่งเทียบเท่าของ UNHEX() ใน MySQL ไวยากรณ์ PHP $anyVariableName = hex2bin(yourHexadecimalValue); ตัวอย่างโค้ด PHP $myFirstValue = hex2bin(7777772E4D7953514C4578616D706C652E636F6D); var_dump($myFirstValue); $mySecondValue = hex2bin(416476616E6365644A61766157697468467

  13. แปลง NULL เป็น 0 ใน MySQL: COALESCE() vs IFNULL()

    ใช้ IFNULL() หรือ COALESCE() แปลงค่า NULL เป็น 0 (หรือค่าเริ่มต้นอื่น) ไวยากรณ์ SELECT IFNULL(yourColumnName, 0) AS anyAliasName FROM yourTableName; SELECT COALESCE(yourColumnName, 0) AS anyAliasName FROM yourTableName; สร้างตารางตัวอย่าง mysql> CREATE TABLE convertNullToZeroDemo ( -> Id

  14. ค้นหาสตริงที่ขึ้นต้นด้วยคำนำหน้า (Prefix) ใน MySQL ด้วย LIKE

    ใช้ตัวดำเนินการ LIKE กับ wildcard % เพื่อค้นหาสตริงที่ขึ้นต้นด้วยคำนำหน้าที่กำหนด ไวยากรณ์ SELECT * FROM yourTableName WHERE yourColumnName LIKE yourPrefixValue%; สร้างตารางตัวอย่าง mysql> CREATE TABLE findStringWithGivenPrefixDemo ( -> UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

  15. ตั้งค่าคอลัมน์เดียวให้เป็นค่าเดียวกันทั้งตารางใน MySQL (UPDATE ทั้งตาราง)

    ใช้ UPDATE โดยไม่มี WHERE เพื่อตั้งค่าคอลัมน์เดียวกันทุกแถว ไวยากรณ์ UPDATE yourTableName SET yourColumnName = yourValue; สร้างตารางตัวอย่าง mysql> CREATE TABLE setAllValuesDemo ( -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name VARCHAR(20), -> Amount INT -> );

  16. ดึงนามสกุลไฟล์ (File Extension) จากชื่อไฟล์ใน MySQL ด้วย SUBSTRING_INDEX

    ใช้ SUBSTRING_INDEX() ดึงส่วนหลังจุดสุดท้าย (.) เป็นนามสกุลไฟล์ ไวยากรณ์ SELECT SUBSTRING_INDEX(yourColumnName, ., -1) AS anyAliasName FROM yourTableName; สร้างตารางตัวอย่าง mysql> CREATE TABLE getFileExtensionDemo ( -> File_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> File_Name

  17. UPDATE คอลัมน์ที่มีจุด (.) ในชื่อคอลัมน์ MySQL ใช้ Backticks

    ถ้าชื่อคอลัมน์มีอักขระพิเศษ เช่น จุด (.) ต้องใช้ backticks (`) ครอบชื่อคอลัมน์ สร้างตารางที่มีคอลัมน์ชื่อ `User.FirstName.LastName` mysql> CREATE TABLE UpdateDemo ( -> UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> `User.FirstName.LastName` VARCHAR(60) -> ); เพิ่มข้อมูล

  18. SELECT ข้อมูลจากตาราง A ที่ไม่มีในตาราง B (NOT IN / NOT EXISTS)

    ใช้ NOT IN หรือ NOT EXISTS เพื่อเลือกข้อมูลจากตารางหนึ่งที่ไม่มีในอีกตารางหนึ่ง สร้างตาราง A และ B mysql> CREATE TABLE A (Value INT); mysql> CREATE TABLE B (Value2 INT); เพิ่มข้อมูลตาราง A (5 แถว) mysql> INSERT INTO A VALUES (10), (20), (30), (50), (80); เพิ่มข้อมูลตาราง B (2 แถว) mysql&

  19. ทดสอบการเชื่อมต่อ MySQL ด้วยคำสั่ง SELECT ง่ายๆ

    ใช้คำสั่ง SELECT กับค่าคงที่ ฟังก์ชัน built-in หรือข้อความ เพื่อทดสอบการเชื่อมต่อ รูปแบบพื้นฐาน SELECT yourValue; ใช้ฟังก์ชัน Built-in SELECT anyPredefinedFunctionName(); กรณีที่ 1: พิมพ์ข้อความ mysql> SELECT This is MySQL AS Display; ผลลัพธ์: +---------------+ | Display | +------------

  20. จัดลำดับผลลัพธ์ตามลำดับใน IN Clause ด้วย FIND_IN_SET

    ใช้ฟังก์ชัน FIND_IN_SET() ใน ORDER BY เพื่อจัดลำดับผลลัพธ์ตามลำดับที่ระบุใน IN clause ไวยากรณ์ SELECT * FROM yourTableName WHERE id IN (val1, val2, val3) ORDER BY FIND_IN_SET(id, val1,val2,val3); สร้างตารางตัวอย่าง mysql> CREATE TABLE returnRecordSetOrderDemo ( -> Id INT, -> Name

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