Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. ลบ Column จากตาราง MySQL (ALTER TABLE DROP COLUMN)

    ใช้ ALTER TABLE ... DROP COLUMN ลบคอลัมน์ (รองรับลบหลายคอลัมน์พร้อมกัน) สร้างตาราง 4 คอลัมน์ mysql> CREATE TABLE DeleteColumnNameDemo ( -> Id INT, -> Name VARCHAR(200), -> Age INT, -> Address VARCHAR(200) -> ); ดูโครงสร้างก่อน mysql> DESC DeleteColumnNameDe

  2. เพิ่ม Column ในตาราง MySQL (ALTER TABLE ADD COLUMN)

    ใช้ ALTER TABLE ... ADD COLUMN เพิ่มคอลัมน์ใหม่ (รองรับเพิ่มหลายคอลัมน์พร้อมกัน) สร้างตาราง mysql> CREATE TABLE AddingColumnNameDemo (Id INT, Name VARCHAR(100)); ดูโครงสร้างก่อน mysql> DESC AddingColumnNameDemo; +-------+--------------+------+-----+---------+-------+ | Field | Type |

  3. Primary Key ใน MySQL ถูก Index อัตโนมัติหรือไม่?

    ใช่ Primary Key ถูก Index อัตโนมัติ (Implicit Index) ในทุก Storage Engine (InnoDB, MyISAM, Memory, etc.) ตัวอย่าง mysql> CREATE TABLE DemoIndex ( -> Id INT NOT NULL, -> PRIMARY KEY(Id) -> ); MySQL สร้าง Index ชื่อ PRIMARY ให้อัตโนมัติ ตรวจสอบ Index mysql> SHOW INDEX FRO

  4. Cast VARCHAR เป็น INT ใน MySQL (CAST / CONVERT)

    ใช้ CAST(value AS UNSIGNED) หรือ CONVERT(value, UNSIGNED) สร้างตารางและข้อมูล mysql> CREATE TABLE VarcharToIntDemo (Value VARCHAR(100)); mysql> INSERT INTO VarcharToIntDemo VALUES (123), (234); CAST Syntax CAST(expression AS type) CONVERT(expression, type) Query Cast mysql> SELECT CAST(V

  5. Select แถวสุดท้าย (Last Row) ใน MySQL

    ใช้ ORDER BY id DESC LIMIT 1 (สมมติ id เป็น Auto Increment หรือ Sort Key) สร้างตารางและข้อมูล mysql> CREATE TABLE getLastRecord (Id INT, Name VARCHAR(100)); mysql> INSERT INTO getLastRecord VALUES (1,John), (2,Ramit), (3,Johnson), (4,Carol); Query ดึง Last Row mysql> SELECT * FROM getLast

  6. เปลี่ยน Definition ของ Column ใน MySQL (ALTER TABLE MODIFY/CHANGE)

    ใช้ ALTER TABLE ... MODIFY COLUMN (เปลี่ยน Type/Constraint คงชื่อ) หรือ CHANGE COLUMN (เปลี่ยนชื่อ + Type/Constraint) สร้างตาราง mysql> CREATE TABLE ModifyColumnDemo (id INT); MODIFY COLUMN: เปลี่ยน INT → VARCHAR(10) NOT NULL mysql> ALTER TABLE ModifyColumnDemo -> MODIFY COLUMN id VA

  7. ฟังก์ชัน RANK() ใน MySQL (Window Function)

    RANK() เป็น Window Function (MySQL 8.0+) ให้ Rank ต่อแถวใน Partition สามารถ Tie ได้ (ค่าเท่ากัน Rank เดียวกัน ข้าม Rank ถัดไป) สร้างตารางและข้อมูล mysql> CREATE TABLE RankDemo (id INT); mysql> INSERT INTO RankDemo VALUES (1), (3), (3), (4), (5); ใช้ RANK() mysql> SELECT -> id,

  8. ออปเปอเรเตอร์ <=> (Null-Safe Equal) ใน MySQL

    คือ Null-Safe Equal Operator เปรียบเทียบค่า 2 ค่า คืน 1 (True) หรือ 0 (False) ไม่คืน NULL แม้ Input เป็น NULL ความแตกต่างกับ = (Regular Equal) Expression= 10 = 101 (True)1 (True) 10 = 50 (False)0 (False) NULL = NULLNULL (Unknown)1 (True) ← Key Difference 10 = NULLNULL (Unknown)0 (False) NULL =

  9. ตั้งค่า DEFAULT NOW() ให้ Datetime Column ใน MySQL

    MySQL 5.6.5+ รองรับ DEFAULT CURRENT_TIMESTAMP สำหรับ DATETIME และ TIMESTAMP (ก่อนหน้านั้น TIMESTAMP เท่านั้น) สร้างตารางมี Default NOW() mysql> CREATE TABLE DefaultDateTimeDemo ( -> MyTime DATETIME DEFAULT CURRENT_TIMESTAMP -> ); Insert โดยไม่ระบุค่า mysql> INSERT INTO DefaultD

  10. Data Type ที่ดีที่สุดสำหรับเก็บเงิน/สกุลเงินใน MySQL (DECIMAL)

    ใช้ DECIMAL(Precision, Scale) เท่านั้น ห้ามใช้ FLOAT/DOUBLE (มี Floating Point Error) หลักการ DECIMAL(M, D) M (Precision) = จำนวนหลักทั้งหมด (1-65) D (Scale) = จำนวนหลักหลังจุดทศนิยม (0-30, D ≤ M) ตัวอย่าง: 345.66 → 5 หลักรวม, 2 หลักทศนิยม → DECIMAL(5,2) ตัวอย่าง mysql> CREATE TABLE MoneyRepr

  11. ลบ Database ใน MySQL (DROP DATABASE)

    ใช้ DROP DATABASE database_name; ลบ Database ทั้งหมด (รวม Tables, Views, Routines, Triggers) ดู Database ที่มีอยู่ mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | business | | database1 | | databasesample | | education

  12. เช็คว่า MySQL Table ถูก Update เมื่อไหร่ล่าสุด (UPDATE_TIME)

    ใช้คอลัมน์ UPDATE_TIME จาก INFORMATION_SCHEMA.TABLES (ทำงานกับ MyISAM ได้ดี InnoDB ต้องการ innodb_file_per_table=ON) สร้างตาราง MyISAM (เพื่อทดสอบ) mysql> CREATE TABLE MyISAMTableDemo (id INT) ENGINE=MYISAM; mysql> INSERT INTO MyISAMTableDemo VALUES (1), (2); Query ดู UPDATE_TIME mysql> S

  13. ลบ 10 วัน จาก Datetime ปัจจุบันใน MySQL (DATE_SUB)

    ใช้ DATE_SUB(NOW(), INTERVAL 10 DAY) ลบวันจากวันที่/เวลาปัจจุบัน ดูเวลาปัจจุบัน mysql> SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2018-11-01 19:55:56 | +---------------------+ ลบ 10 วัน mysql> SELECT DATE_SUB(NOW(), INTERVAL 10 DAY); +------------

  14. ดึง Auto Increment ID หลัง INSERT ใน MySQL (LAST_INSERT_ID)

    ใช้ LAST_INSERT_ID() ได้ ID ที่เพิ่ง Generate จาก AUTO_INCREMENT ใน Session นี้เท่านั้น (Thread-safe) สร้างตาราง mysql> CREATE TABLE LastInsertRecordIdDemo ( -> id INT AUTO_INCREMENT, -> value VARCHAR(100), -> PRIMARY KEY(id) -> ); Insert และดู ID mysql> INSERT IN

  15. LENGTH() vs CHAR_LENGTH() ใน MySQL: ความแตกต่าง

    CHAR_LENGTH() = จำนวน ตัวอักษร (Characters) LENGTH() = จำนวน ไบต์ (Bytes) ตัวอย่าง ASCII (ผลเหมือนกัน) mysql> SELECT CHAR_LENGTH(John), LENGTH(John); +---------------------+----------------+ | CHAR_LENGTH(John) | LENGTH(John) | +---------------------+----------------+ | 4 | 4

  16. หาแถวที่มีค่า Column ซ้ำกันใน MySQL (Duplicate Values)

    ใช้ 1 หาค่าที่ซ้ำ แล้ว IN หรือ JOIN กลับมาหาแถวทั้งหมด สร้างตารางและข้อมูล (มีค่าซ้ำ) mysql> CREATE TABLE RowValueDemo (Name VARCHAR(100)); mysql> INSERT INTO RowValueDemo VALUES -> (John),(Bob),(Carol),(John),(John),(John),(Bob),(Bob); ข้อมูลทั้งหมด: +-------+ | Name | +-------+ |

  17. MySQL JDBC Driver Connection String (Java)

    รูปแบบ Connection String สำหรับ MySQL Connector/J (JDBC Driver) Driver Class Class.forName(com.mysql.cj.jdbc.Driver); // MySQL 8.0+ (cj package) -- เดิม: com.mysql.jdbc.Driver (5.1.x, Deprecated) Connection URL Format jdbc:mysql://[host][:port]/[database]?[property1=value1&property2=value2...] ต

  18. ดูสถานะ Connection ใน MySQL (Active/Total Connections)

    ใช้ SHOW STATUS ตัวแปร Threads_connected และ SHOW PROCESSLIST ดู Active Connections mysql> SHOW STATUS WHERE Variable_name = Threads_connected; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_connected | 1 | +-------------------+-------+ ด

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