Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. Data Type สำหรับเก็บ Hashed Password ใน MySQL

    Data Type ขึ้นกับ Hash Algorithm ที่ใช้ เนื่องจาก Hash คงที่ความยาว (Fixed Length) ใช้ CHAR(N) หรือ BINARY(N/2) (ผ่าน UNHEX) อัลกอริทึมและ Data Type ที่แนะนำ AlgorithmHex LengthCHARBINARY (with UNHEX) MD532CHAR(32)BINARY(16) SHA-140CHAR(40)BINARY(20) SHA-25664CHAR(64)BINARY(32) SHA-512128CHAR(1

  2. ติดตั้ง Python MySQLdb Module ด้วย pip

    ขั้นตอนติดตั้ง MySQL Driver สำหรับ Python (ปัจจุบันแนะนำ mysqlclient หรือ PyMySQL แทน MySQLdb เดิม) ข้อกำหนดเบื้องต้น Python 3.7+ (ติดตั้งแล้ว) MySQL Server 8.0+ pip (Python Package Manager) เปิด Command Prompt (Windows) กด Win+R พิมพ์ cmd Enter เข้าโฟลเดอร์ Scripts ของ Python (เช่น C:\Python37

  3. เก็บข้อมูล JSON ใน MySQL ด้วย JSON Data Type

    MySQL 5.7+ รองรับ Native JSON Data Type มี Validation, Indexing (Generated Column), และ Functions ครบครัน สร้างตารางมี JSON Column mysql> CREATE TABLE JsonAsMySQLDemo ( -> id INT, -> name VARCHAR(100), -> PageDemo JSON, -> eventInfo JSON -> ); Insert JSON Data

  4. MySQL: EXISTS vs IN ใน Subquery ควรใช้ตัวไหน?

    IN เหมาะกับ Subquery ที่คืนค่า น้อย (Small Result Set) EXISTS เหมาะกับ Subquery ที่คืนค่า มาก (Large Result Set) หรือ Correlated Subquery ตัวอย่างใช้ IN (Subquery เล็ก) 1); ผลลัพธ์: +---------+------------------+ | PNumber | PName | +---------+------------------+ | 2 | WirelessKe

  5. ส่ง Array เข้า Stored Procedure ใน MySQL

    MySQL ไม่มี Array Type โดยตรง ใช้ VARCHAR เก็บค่าคั่นด้วย Comma แล้วใช้ FIND_IN_SET() ค้นหา สร้างตารางและข้อมูล mysql> CREATE TABLE FindDemo (name VARCHAR(100)); mysql> INSERT INTO FindDemo VALUES (John), (Smith); สร้าง Stored Procedure รับ Array mysql> DELIMITER // mysql> CREATE PROCE

  6. จัดการ Auto Increment ID Fragmentation ใน MySQL

    Auto Increment ID อาจเกิด ช่องว่าง (Gaps) จากการ DELETE, RESTART Server, หรือ INSERT ที่ล้มเหลว ใน InnoDB 5.6+ สามารถ Reuse ID ได้โดยระบุ ID เองตอน INSERT สถานการณ์ที่เกิด Fragmentation DELETE แถวที่มี ID สูงสุด Restart MySQL Server (InnoDB รีเซ็ต Counter จาก MAX(id)+1) INSERT ล้มเหลว (Rollback) แ

  7. วิธีใช้ MySQL DECIMAL สำหรับเก็บค่าทศนิยมแม่นยำ

    DECIMAL(M, D) ใช้เก็บตัวเลขทศนิยมได้แม่นยำ (Exact Value) ไม่มีปัญหา Floating Point Error M = จำนวนหลักทั้งหมด (Precision) สูงสุด 65 D = จำนวนหลักหลังจุดทศนิยม (Scale) สูงสุด 30 และ D ≤ M ตัวอย่าง: เก็บเงินเดือน (สูงสุด 99,999.99) mysql> CREATE TABLE EmployeeInformation ( -> EmpId INT A

  8. วิธีทำให้คอลัมน์เดิมเป็น UNIQUE ใน MySQL

    ใช้ ALTER TABLE ... ADD UNIQUE(column_name) เพื่อเพิ่ม Constraint UNIQUE ให้คอลัมน์ที่มีอยู่แล้ว สร้างตาราง mysql> CREATE TABLE AddingUnique ( -> Id INT, -> name VARCHAR(100) -> ); เพิ่ม UNIQUE Constraint mysql> ALTER TABLE AddingUnique ADD UNIQUE(name); Query OK, 0 rows

  9. วิธีดู Time Zone ปัจจุบันของ MySQL

    ใช้ตัวแปรระบบ @@global.time_zone และ @@session.time_zone Query ดู Time Zone mysql> SELECT @@global.time_zone, @@session.time_zone; ผลลัพธ์ทั่วไป: +--------------------+---------------------+ | @@global.time_zone | @@session.time_zone | +--------------------+---------------------+ | SYSTEM

  10. วิธีบวก 1 วัน กับวันที่ใน MySQL (DATE_ADD)

    ใช้ฟังก์ชัน DATE_ADD(date, INTERVAL value unit) สำหรับบวกวันที่/เวลา สร้างตารางและข้อมูล mysql> CREATE TABLE Add1DayDemo ( -> id INT, -> MyDate DATETIME NOT NULL -> ); mysql> INSERT INTO Add1DayDemo VALUES (1, NOW()); mysql> INSERT INTO Add1DayDemo VALUES (2, DATE_ADD

  11. แปลง JavaScript Date ให้เป็น MySQL DATETIME Format

    ใช้ toISOString() แล้วตัดและแทนที่ตัวอักษร T ให้เป็น Space โค้ด JavaScript <!DOCTYPE html> <html> <head> <title>JS Date to MySQL Datetime</title> <script> document.writeln(new Date().toISOString().slice(0, 19).replace(T, )); </script> </head&g

  12. พื้นฐาน Foreign Key ใน MySQL

    Foreign Key (FK) เป็น Constraint ที่รักษา Referential Integrity ระหว่างตาราง Child (มี FK) และ Parent (มี PK ที่ถูกอ้างอิง) สร้างตาราง Parent และ Child -- Parent Table mysql> CREATE TABLE College ( -> StudentFKPK INT, -> CourseId INT, -> CourseName VARCHAR(200), -> Co

  13. วิธีแปลง Timestamp เป็น Datetime ใน MySQL

    ใช้ฟังก์ชัน FROM_UNIXTIME() แปลง Unix Timestamp (วินาทีนับจาก 1970-01-01) เป็น DATETIME สร้างตารางเก็บ Timestamp mysql> CREATE TABLE TimestamptoDateDemo ( -> YourTimeStamp INT(11) -> ); mysql> INSERT INTO TimestamptoDateDemo VALUES (1389453221); แปลงเป็น Timestamp (DATETIME) m

  14. ความยาวสูงสุดของชื่อตารางใน MySQL

    ตาม MySQL 8.0.12 ชื่อตาราง (Identifier) ยาวได้สูงสุด 64 ตัวอักษร ตรวจสอบ Version mysql> SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 8.0.12 | +-----------+ ทดสอบเกิน 64 ตัวอักษร mysql> CREATE TABLE tableNameDemotableableNameDemotableableNameDemotableableNameDemotable (

  15. วิธี Select 10 แถวสุดท้ายใน MySQL

    ใช้ Subquery ร่วมกับ ORDER BY ... DESC LIMIT 10 แล้วเรียงกลับ ASC เพื่อให้ลำดับถูกต้อง สร้างตารางและข้อมูล 12 แถว mysql> CREATE TABLE Last10RecordsDemo (id INT, name VARCHAR(100)); mysql> INSERT INTO Last10RecordsDemo VALUES -> (1,John),(2,Carol),(3,Bob),(4,Sam),(5,David),(6,Taylor),

  16. ความแตกต่างระหว่าง BIT และ TINYINT ใน MySQL

    BIT เก็บได้ 1 บิต (0 หรือ 1) เท่านั้น ส่วน TINYINT เก็บได้ 8 บิต (-128 ถึง 127 สำหรับ SIGNED, 0-255 สำหรับ UNSIGNED) BIT Type mysql> CREATE TABLE BitDemo (Id BIT); mysql> INSERT INTO BitDemo VALUES (1), (0); -- OK mysql> INSERT INTO BitDemo VALUES (2); -- ERROR 1406: Data too long T

  17. ความแตกต่างระหว่าง BOOLEAN และ TINYINT(1) ใน MySQL

    BOOLEAN และ TINYINT(1) เป็น Synonyms กันทุกประการ แตกต่างกันแค่ ความหมาย (Semantics) เท่านั้น ตัวอย่าง BOOLEAN mysql> CREATE TABLE BooleanDemo (Light BOOLEAN); mysql> INSERT INTO BooleanDemo VALUES (TRUE); mysql> SELECT * FROM BooleanDemo; +-------+ | Light | +-------+ | 1 | +-------+

  18. Cardinality ใน MySQL คืออะไร (High vs Low)

    Cardinality หมายถึง ความเป็นเอกศรของข้อมูลในคอลัมน์ ส่งผลต่อประสิทธิภาพ Index, Search, Sort 2 ประเภทของ Cardinality ประเภทคำอธิบายตัวอย่าง High Cardinalityค่าเกือบทุกแถวไม่ซ้ำกัน (Unique ใกล้เคียง)Primary Key, Email, ID Card, UUID Low Cardinalityค่าซ้ำกันเยอะ ค่าที่แตกต่างกันน้อยGender (M/F), S

  19. Data Type ที่ควรใช้เก็บ IP Address ใน MySQL

    ควรใช้ INT UNSIGNED (4 ไบต์) ร่วมกับฟังก์ชัน INET_ATON() (แปลง IP เป็นตัวเลข) และ INET_NTOA() (แปลงตัวเลขกลับเป็น IP) สร้างตาราง mysql> CREATE TABLE IPV4AddressDemo ( -> IPV4Address INT UNSIGNED -> ); Insert IP Address mysql> INSERT INTO IPV4AddressDemo VALUES (INET_ATON(120.0.

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:169/229  20-คอมพิวเตอร์/Page Goto:1 163 164 165 166 167 168 169 170 171 172 173 174 175