Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. ฟังก์ชัน UNHEX() ใน MySQL แปลง Hex กลายเป็น Binary String

    UNHEX() = ทำงานตรงข้าม HEX() แปลงสตริง Hexadecimal กลายเป็น Binary string (bytes ที่แทนด้วย) Syntax UNHEX(str) str = สตริง Hex digits เท่านั้น (0-9, A-F, a-f) ตัวอย่าง SELECT UNHEX(5475746F7269616C73706F696E74); +---------------------------------------+ | UNHEX(5475746F7269616C73706F696E74) | +-

  2. UNHEX() คืน NULL เมื่อรับอาร์กิวเมนต์ที่ไม่ใช่ Hexadecimal

    พฤติกรรมเมื่ออินพุตไม่ถูกต้อง UNHEX() ต้องการอินพุตเป็น Hexadecimal digits เท่านั้น (0-9, A-F, a-f) มิฉะนั้นคืน NULL ตัวอย่าง SELECT UNHEX(ANK96598); +-------------------+ | UNHEX(ANK96598) | +-------------------+ | NULL | +-------------------+ เหตุผล ตัวอักษร N, K ไม่ใช่ Hex digit

  3. MySQL แปลงค่า Hexadecimal ว่างเป็นตัวเลขได้ค่า 0

    พฤติกรรมของ Empty Hexadecimal ค่า Hexadecimal ว่าง X เป็น Zero-length binary string แปลงเป็นตัวเลขได้ 0 ตัวอย่าง SELECT X + 0; +--------+ | X+ 0 | +--------+ | 0 | +--------+ เหตุผล Empty hex = binary string ความยาว 0 ในบริบทตัวเลข MySQL แปลงเป็น 0 เหมือน CAST( AS UNSIGNED) = 0 ข้อมูลเพิ

  4. ANALYZE TABLE ช่วยบำรุงรักษาตาราง MySQL อย่างไร

    อัปเดตสถิติดัชนี (Key Distribution) Query Optimizer ใช้สถิติเพื่อตัดสินใจ: JOIN order, Index selection ผิดพลาด → Query ช้า เมื่อสถิติล้าสมัย หลัง INSERT/UPDATE/DELETE จำนวนมาก Key distribution ไม่ตรงกับข้อมูลจริง Optimizer เลือกแผนการรัน Query ที่ไม่เหมาะสม คำสั่งแก้ไข ANALYZE TABLE table_name;

  5. แยก IP Address เป็น 4 Octets ด้วย SUBSTRING_INDEX

    ข้อมูล IP Address ในตาราง ipaddress +-----------------+ | ip | +-----------------+ | 192.128.0.5 | | 255.255.255.255 | | 192.0.255.255 | | 192.0.1.5 | +-----------------+ คำสั่ง SQL แยก 4 ส่วน SELECT IP, SUBSTRING_INDEX(ip, ., 1) AS 1st Part, SUBSTRING_INDEX(S

  6. ใช้ SUBSTRING_INDEX 巢狀 ดึงข้อความระหว่าง delimiter เดียวกัน 2 ตัว

    Nested SUBSTRING_INDEX ดึงส่วนที่อยู่ ระหว่าง delimiter ตัวที่ 1 และ 2 (นับจากซ้าย) ตัวอย่าง: ดึง tutorialspoint จาก www.tutorialspoint.com SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(www.tutorialspoint.com, ., 2), ., -1) AS Nested SUBSTRING_INDEX; +------------------------+ | Nested SUBSTRING_

  7. เปลี่ยนรหัสผ่าน MySQL User ด้วย SET PASSWORD

    คำสั่ง SET PASSWORD ต้องมีสิทธิ์ UPDATE บนตาราง mysql.user Syntax SET PASSWORD FOR user_name@host_name = new_password; ตัวอย่าง SET PASSWORD FOR user@localhost = tutorials; หมายเหตุ MySQL 5.7.6+ แนะนำใช้ ALTER USER แทน SET PASSWORD ยังทำงานได้แต่อาจ Deprecated ในอนาคต รหัสผ่านจะถูกแฮชอัตโนมัติ

  8. เปลี่ยนรหัสผ่าน MySQL User ด้วย ALTER USER

    วิธีสมัยใหม่ (MySQL 5.7.6+) ใช้ ALTER USER ... IDENTIFIED BY ไม่ต้อง FLUSH PRIVILEGES Syntax ALTER USER user_name@host_name IDENTIFIED BY new_password; ตัวอย่าง ALTER USER user@localhost IDENTIFIED BY tutorials; ข้อดี ไม่ต้อง FLUSH PRIVILEGES (มีผลทันที) รองรับ Authentication Plugin ใหม่ (cach

  9. MySQL ป้องกัน Client ไม่ได้รับอนุญาตอย่างไร

    ระบบควบคุมการเข้าถึง 2 ขั้นตอน ขั้นตอนที่ 1: Connection Verification Client ต้องมี username และ password ที่ถูกต้อง Host ที่เชื่อมต่อต้องตรงกับ Host ใน Grant Table (user table) ล้มเหลว → ปฏิเสธการเชื่อมต่อทันที ขั้นตอนที่ 2: Request Verification หลังเชื่อมต่อสำเร็จ ทุก Statement จะถูกตรวจสอบสิท

  10. ตารางควบคุมสิทธิ์ใน MySQL (Grant Tables)

    ฐานข้อมูล mysql มี 5 ตารางสิทธิ์หลัก 1. user table - Global Privileges บัญชีผู้ใช้และสิทธิ์ระดับ Global MySQL ใช้ตัดสินใจ Accept/Reject การเชื่อมต่อ สิทธิ์ที่นี่มีผลต่อทุกฐานข้อมูล 2. db table - Database-level Privileges สิทธิ์ระดับฐานข้อมูล กำหนดว่า user เข้าถึง database ไหนได้ จาก host ไหน คร

  11. สร้าง User Account ใน MySQL ด้วย CREATE USER

    คำสั่งสร้างผู้ใช้ USE mysql; CREATE USER user_account IDENTIFIED BY password; user_account = username@hostname (เช่น abcd@localhost) ตัวอย่าง CREATE USER abcd@localhost IDENTIFIED BY password123; Query OK, 0 rows affected ตรวจสอบสิทธิ์เริ่มต้น SHOW GRANTS FOR abcd@localhost; +----------------

  12. อนุญาตให้ User เชื่อมต่อจาก Host ใดก็ได้ด้วย '%' wildcard

    สร้าง User ที่เข้าถึงได้จากทุก Host ใช้ wildcard % หลัง @ ในชื่อผู้ใช้ Syntax USE mysql; CREATE USER user_name@% IDENTIFIED BY password; ตัวอย่าง: สร้าง user Gaurav CREATE USER Gaurav@% IDENTIFIED BY password123; Query OK, 0 rows affected ตรวจสอบสิทธิ์ SHOW GRANTS FOR Gaurav@%; +-------------

  13. ปิด MySQL Server ด้วย mysqladmin shutdown

    คำสั่งปิดเซิร์ฟเวอร์ mysqladmin -u root shutdown พฤติกรรม ไม่แสดงข้อความยืนยัน ต้องเชื่อว่าปิดสำเร็จ (เช่นเดียวกับตอนเริ่มต้น) ปิดการเชื่อมต่อทั้งหมดและหยุด process mysqld ตัวเลือกเพิ่มเติม mysqladmin -u root -p shutdown # ใส่รหัสผ่าน mysqladmin -h host -u root shutdown # ปิดเซิร์ฟเวอร์ระ

  14. CHAR_LENGTH() วัดความยาวตัวอักษร ไม่ใช่ไบต์ sinonim CHARACTER_LENGTH()

    CHAR_LENGTH() vs LENGTH() CHAR_LENGTH() นับ จำนวนตัวอักษร (Characters) รองรับ Multi-byte (Unicode, UTF-8) LENGTH() นับ จำนวนไบต์ (Bytes) ไม่รองรับ Multi-byte Syntax CHAR_LENGTH(str) CHARACTER_LENGTH(str) -- synonym ตัวอย่าง SELECT CHARACTER_LENGTH(tutorialspoint); +-----------------------------

  15. โปรแกรมจัดการ MySQL Server มี哪些 (mysqladmin, mysql, mysqlcheck, mysqldump, mysqlimport)

    เครื่องมือบริหาร MySQL หลัก 1. mysqld - MySQL Server Daemon โปรแกรมหลักของเซิร์ฟเวอร์ ใช้เริ่มต้นเซิร์ฟเวอร์: mysqld มีตัวเลือกมากมายตอนเริ่มต้น 2. mysqladmin - Administrative Client ทำงานจัดการ: ตรวจสอบสถานะ, สร้าง/ลบฐานข้อมูล, reload privileges ตัวอย่าง: mysqladmin -u root ping, mysqladmin -u

  16. ตรวจสอบสถานะ MySQL Server ด้วย mysqladmin status

    คำสั่งตรวจสอบสถานะ mysqladmin -u root status ตัวอย่างผลลัพธ์ Uptime: 3865 Threads: 1 Questions: 50 Slow queries: 0 Opens: 113 Flush tables: 1 Open tables: 102 Queries per second avg: 0.012 ความหมายของแต่ละฟิลด์ ฟิลด์ความหมาย Uptimeเวลาทำงาน (วินาที) Threadsจำนวนการเชื่อมต่อปัจจุบัน Questionsจำ

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:204/229  20-คอมพิวเตอร์/Page Goto:1 198 199 200 201 202 203 204 205 206 207 208 209 210