// Developer Guide

MariaDB Developer Guide

คู่มือสำหรับ Developer ที่ใช้ MariaDB — SQL patterns, Stored Procedures, Triggers และ Events

// Essential SQL

MySQL CLI & Essential Commands

-- Connect to MariaDB mysql -u root -p -h localhost mydb -- Show databases / tables SHOW DATABASES; SHOW TABLES; DESCRIBE orders; SHOW CREATE TABLE orders\G -- Common DDL CREATE TABLE products ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, sku VARCHAR(50) UNIQUE NOT NULL, name VARCHAR(255) NOT NULL, price DECIMAL(10,2) DEFAULT 0.00, attrs JSON, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
// Stored Procedures

Stored Procedures

-- Stored Procedure ตัวอย่าง DELIMITER $$ CREATE PROCEDURE GetCustomerOrders( IN p_customer_id INT, IN p_status VARCHAR(20) ) BEGIN SELECT o.id, o.total, o.created_at FROM orders o WHERE o.customer_id = p_customer_id AND o.status = p_status ORDER BY o.created_at DESC; END$$ DELIMITER ; -- เรียกใช้ CALL GetCustomerOrders(123, "paid");
// Events (Scheduler)

Event Scheduler

-- เปิด Event Scheduler SET GLOBAL event_scheduler = ON; -- สร้าง recurring event CREATE EVENT clean_old_logs ON SCHEDULE EVERY 1 DAY STARTS "2024-01-01 02:00:00" DO DELETE FROM audit_logs WHERE created_at < DATE_SUB(NOW(), INTERVAL 90 DAY);