Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. เลือกคอลัมน์อื่นเมื่อค่าที่เลือกเป็น 0 ใน MySQL

    การใช้ฟังก์ชัน IF() ใน MySQL สามารถใช้ฟังก์ชัน IF() เพื่อตรวจสอบเงื่อนไขและคืนค่าตามที่ต้องการ ไวยากรณ์พื้นฐานคือ: SELECT IF(yourColumn = 0, alternativeColumn, yourColumn) AS alias_name FROM yourTable; ตัวอย่างการสร้างตารางและข้อมูลทดสอบ CREATE TABLE demo30 ( id INT NOT NULL AUTO_INCREMENT PRIM

  2. วิธีใช้ชื่อฐานข้อมูลปัจจุบันเพื่อลบมันใน MySQL

    การดึงชื่อฐานข้อมูลปัจจุบัน เพื่อรับชื่อฐานข้อมูลปัจจุบัน สามารถใช้ฟังก์ชัน DATABASE() ได้ดังนี้: SELECT DATABASE(); ไวยากรณ์สำหรับการลบฐานข้อมูลปัจจุบัน ใช้ตัวแปรผู้ใช้ (user-defined variables) ร่วมกับ prepared statements เพื่อสร้างและรันคำสั่ง DROP DATABASE แบบไดนามิก: SET @current_db = DATABASE(

  3. การคำนวณค่าเฉลี่ย (Average) ข้ามแถวใน MySQL ด้วย AVG()

    การใช้ Aggregate Function AVG() ฟังก์ชัน AVG(column) คำนวณค่าเฉลี่ยของคอลัมน์ตัวเลข ข้ามทุกแถวในตาราง (หรือกลุ่ม) ตัวอย่าง: ค่าเฉลี่ยหลายคอลัมน์พร้อมกัน CREATE TABLE demo31 ( value1 INT, value2 INT, value3 INT ); INSERT INTO demo31 VALUES (34, 55, 67), (50, 60, 70), (100, 200, 300), (10, 300,

  4. การเพิ่มคอลัมน์คำนวณ (Generated Column) สำหรับ Average Score ใน MySQL

    Generated Column (Virtual Column) สำหรับคำนวณอัตโนมัติ MySQL 5.7+ รองรับ GENERATED ALWAYS AS (expression) VIRTUAL คำนวณค่าอัตโนมัติเมื่อ SELECT ไม่เก็บข้อมูลจริง คำสั่ง ALTER TABLE ALTER TABLE demo32 ADD COLUMN `Average Score` FLOAT GENERATED ALWAYS AS ((value1 + value2) / 2) VIRTUAL; ตัวอย่างเต

  5. การสร้างตาราง MySQL พร้อม Default Value สำหรับ DATE และ ENUM

    การกำหนด DEFAULT Constraint ใน CREATE TABLE สามารถตั้งค่า Default ให้คอลัมน์ DATE, ENUM และชนิดอื่นๆ ได้ในขณะ CREATE TABLE ตัวอย่าง CREATE TABLE demo33 ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, start_date DATE DEFAULT (CURRENT_DATE), end_date DATE DEFA

  6. การ擷ค่าวันที่เป็นตัวเลข (Unix Timestamp) จากรูปแบบวันที่ใน MySQL

    การแปลงวันที่รูปแบบ DD-Mon-YY เป็น Unix Timestamp ใช้ STR_TO_DATE() แปลงสตริงเป็น DATE แล้ว UNIX_TIMESTAMP() แปลงเป็นวินาทีตั้งแต่ Epoch คำสั่ง SELECT UNIX_TIMESTAMP(STR_TO_DATE(date_column, %d-%b-%y)) AS numeric_date FROM table_name; ตัวอย่าง CREATE TABLE demo34 (datevalue VARCHAR(40)); INSERT I

  7. การลบคอลัมน์ซ้ำ (Duplicate Rows) ใน MySQL ด้วย DELETE JOIN

    การลบแถวซ้ำ (Duplicate Rows) ด้วย Self-JOIN ใช้ DELETE กับ INNER JOIN ตารางตัวเอง (Self-Join) เปรียบเทียบ Primary Key เพื่อเก็บแถวใดแถวหนึ่ง คำสั่ง DELETE tbl1 FROM demo14 tbl1 INNER JOIN demo14 tbl2 WHERE tbl1.id < tbl2.id AND tbl1.name = tbl2.name; ตัวอย่างข้อมูลก่อนลบ idname 1John 2Dav

  8. การ擷取นาทีจาก Time ใน MySQL ด้วย EXTRACT และ CAST

    การใช้ EXTRACT() เพื่อดึงส่วนของวันที่/เวลา ฟังก์ชัน EXTRACT(unit FROM date/time) ใช้ดึงส่วนเฉพาะของวันที่หรือเวลา เช่น MINUTE, HOUR, DAY, MONTH, YEAR ตัวอย่าง: ดึงนาทีจากคอลัมน์ TIME CREATE TABLE demo15 (value TIME); INSERT INTO demo15 VALUES (10:30:45), (06:34:55); SELECT EXTRACT(MINUTE FROM CA

  9. การค้นหาในรายการคั่นคอมมา (Comma-separated) ใน MySQL ด้วย FIND_IN_SET

    การใช้ FIND_IN_SET() แทน REGEXP สำหรับ CSV Data เมื่อคอลัมน์เก็บค่าหลายค่าคั่นด้วยคอมมา (CSV) ใช้ FIND_IN_SET(value, column) แทน REGEXP จะเร็วกว่าและแม่นยำกว่า ไวยากรณ์ FIND_IN_SET(search_value, csv_column) -- คืนค่า Position (1-based) หากเจอ, 0 หากไม่เจอ ตัวอย่าง CREATE TABLE demo17 ( id INT

  10. การรวมผลลัพธ์ SELECT และ SHOW Command ใน MySQL

    การรวมค่าจาก SELECT และ System Variables ใน Query เดียว ใช้ User Variables (@var) และ System Variables (@@var) ในคำสั่ง SELECT เดียว 1. รวม User Variables SET @first_name = John; SET @last_name = Smith; SELECT @first_name AS EmployeeFirstName, @last_name AS EmployeeLastName; ผลลัพธ์ EmployeeFir

  11. การเรียงลำดับ String ที่ผสมตัวเลขใน MySQL

    Natural Sort / Alphanumeric Sort ใน MySQL การเรียง STRING ที่มีตัวเลขผสม (เช่น 2J John has 9 vs 2J John has 58) ใช้ REGEXP_REPLACE (MySQL 8.0+) เพื่อลบตัวเลขท้าย แล้วเรียงตามความยาวและค่าอักษร คำสั่ง SELECT * FROM demo18 ORDER BY REGEXP_REPLACE(value, [0-9]*$, ), LENGTH(value), value;

  12. การใช้ Quote ให้ถูกต้องกับ LIKE และ Search Variable ใน MySQL ผ่าน Java

    การสร้าง Dynamic LIKE Query ใน Java อย่างปลอดภัย ปัญหาหลัก: การต่อสตริง (String Concatenation) สำหรับ LIKE pattern ต้องจัดการ Single Quote ให้ถูกต้อง รูปแบบที่ถูกต้อง String searchKeyWord = Smith; String sqlQuery = SELECT * FROM demo19 WHERE name LIKE % + searchKeyWord + %; ผลลัพธ์ SQL: SELECT * F

  13. การ INSERT ข้อมูลลงตาราง C ถ้าข้อมูลไม่อยู่ในตาราง B โดยเปรียบเทียบกับตาราง A ใน MySQL

    การใช้ LEFT JOIN เพื่อหาข้อมูลที่อยู่ใน A แต่ไม่อยู่ใน B Pattern คלאสสิก: LEFT JOIN ... WHERE right_table.key IS NULL สถานการณ์ Table A (demo20): ข้อมูลต้นทาง Table B (demo21): ข้อมูลเปรียบเทียบ Table C (demo22): ตารางปลายทางสำหรับข้อมูลที่อยู่ใน A แต่ไม่อยู่ใน B คำสั่ง SQL INSERT INTO demo22 (i

  14. การคิวรี่ค่าสะสมสูงสุด (Maximum Cumulative Value) ใน MySQL

    การหาค่าผลคูณสูงสุดและจำนวนครั้งที่เกิดขึ้น ใช้ Subquery คำนวณค่าสะสม (value1 * value2) แล้ว GROUP BY และ ORDER BY DESC LIMIT 1 ตัวอย่าง CREATE TABLE demo23 ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, value1 INT, value2 INT ); INSERT INTO demo23 (value1, value2) VALUES (5, 600), (20, 800

  15. การตั้งค่า Default Value ให้คอลัมน์ JSON ใน MySQL

    การเพิ่ม DEFAULT ให้ JSON Column MySQL 5.7+ รองรับ JSON Data Type สามารถตั้งค่า Default เป็น Empty Object {} ได้ด้วย JSON_OBJECT() คำสั่ง ALTER TABLE ALTER TABLE your_table MODIFY COLUMN your_column JSON NOT NULL DEFAULT (JSON_OBJECT()); ตัวอย่าง CREATE TABLE demo24 (employee_information TEXT);

  16. การตั้งค่า DataSource ใน Spring Boot สำหรับ MySQL

    การกำหนดค่า DataSource ใน application.properties Spring Boot ตั้งค่า DataSource อัตโนมัติจาก properties ใน application.properties หรือ application.yml Properties ที่จำเป็น spring.datasource.username=your_username spring.datasource.password=your_password spring.datasource.url=jdbc:mysql://localhost:

  17. การหาตัวเลขตำแหน่งที่ 2 ก่อนจุดทศนิยมใน MySQL

    การใช้ DIV และ Modulo เพื่อดึงหลักเฉพาะ ต้องการหลักที่ 2 ก่อนจุดทศนิยม (หลักสิบ) ใช้ value DIV 10 % 10 หลักการ value DIV 10 → ตัดทศนิยมและหลักหน่วย ทิ้ง (456.54 → 45) ... % 10 → เอาเฉพาะหลักสิบ (45 % 10 = 5) ตัวอย่าง CREATE TABLE demo1 (value FLOAT); INSERT INTO demo1 VALUES (456.54), (50.64), (

  18. การใช้ LIKE หลายเงื่อนไขพร้อม ORDER BY ใน MySQL

    การเรียงลำดับตามจำนวนเงื่อนไข LIKE ที่ตรง ใช้นิพจน์ Boolean ใน ORDER BY: (col LIKE %val1%) + (col LIKE %val2%) ค่า TRUE=1, FALSE=0 ผลรวมบอกจำนวนเงื่อนไขที่ตรง ตัวอย่าง: เรียงให้ Doe และ David อยู่บนสุด CREATE TABLE demo2 ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) ); IN

  19. การจำกัดจำนวนผลลัพธ์รวมจากหลายตารางใน MySQL ด้วย UNION ALL และ LIMIT

    การรวมผลลัพธ์จากหลายตารางและจำกัดจำนวนรวม ใช้ UNION ALL รวมผลลัพธ์จากหลายตาราง แล้วค่อย LIMIT ท้ายสุด ตัวอย่าง: 3 ตาราง ต้องการ 2 แถวรวมทั้งหมด CREATE TABLE demo3 (value INT); CREATE TABLE demo4 (value1 INT); CREATE TABLE demo5 (value2 INT); -- ข้อมูลตัวอย่าง INSERT INTO demo3 VALUES (10), (20), (

  20. การแก้ไข MySQL Error 1099: Table Locked with READ Lock

    ปัญหา: Table Locked with READ Lock เมื่อใช้ LOCK TABLES table_name READ ตารางจะถูกล็อกสำหรับอ่านอย่างเดียว ไม่สามารถ INSERT/UPDATE/DELETE ได้ วิธีแก้: ใช้ UNLOCK TABLES -- ล็อกตารางสำหรับอ่าน LOCK TABLES demo6 READ; -- พยายาม INSERT → Error 1099 INSERT INTO demo6 VALUES (IND); -- ERROR 1099 (HY00

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:12/229  20-คอมพิวเตอร์/Page Goto:1 6 7 8 9 10 11 12 13 14 15 16 17 18