การสร้างฐานข้อมูล MySQL

ติดตั้ง XAMPP

พิมพ์ http://localhost/phpmyadmin/


การสร้างฐานข้อมูล MySQL สำหรับระบบ Employee สามารถแบ่งออกเป็นขั้นตอนต่าง ๆ ดังนี้:

1. การสร้างฐานข้อมูล (Database)

เริ่มต้นด้วยการสร้างฐานข้อมูลสำหรับระบบ Employee โดยใช้คำสั่ง SQL:

CREATE DATABASE employee_db;

2. การใช้งานฐานข้อมูล

หลังจากสร้างฐานข้อมูลแล้ว เราต้องสั่งให้ MySQL ใช้งานฐานข้อมูลนี้:

USE employee_db;

3. การสร้างตาราง (Tables)

ต่อไป เราจะสร้างตารางสำหรับเก็บข้อมูลของพนักงาน (employees), แผนก (departments), และการกำหนดแผนกให้กับพนักงาน (employee_department):

3.1 ตาราง Employees

CREATE TABLE employees (
    employee_id INT AUTO_INCREMENT PRIMARY KEY,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    phone_number VARCHAR(15),
    hire_date DATE NOT NULL,
    job_title VARCHAR(50) NOT NULL,
    salary DECIMAL(10, 2) NOT NULL,
    manager_id INT,
    department_id INT,
    FOREIGN KEY (manager_id) REFERENCES employees(employee_id),
    FOREIGN KEY (department_id) REFERENCES departments(department_id)
);

3.2 ตาราง Departments

CREATE TABLE departments (
    department_id INT AUTO_INCREMENT PRIMARY KEY,
    department_name VARCHAR(100) NOT NULL,
    location VARCHAR(100)
);

3.3 ตาราง Employee_Department (Mapping)

CREATE TABLE employee_department (
    employee_id INT,
    department_id INT,
    PRIMARY KEY (employee_id, department_id),
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id),
    FOREIGN KEY (department_id) REFERENCES departments(department_id)
);

4. การเพิ่มข้อมูล (Insert Data)

เราสามารถเพิ่มข้อมูลเข้าไปในตารางต่าง ๆ ได้โดยใช้คำสั่ง INSERT:

4.1 เพิ่มข้อมูลในตาราง Departments

INSERT INTO departments (department_name, location) 
VALUES ('Human Resources', 'New York'), ('Engineering', 'San Francisco'), ('Sales', 'Chicago');

4.2 เพิ่มข้อมูลในตาราง Employees

INSERT INTO employees (first_name, last_name, email, phone_number, hire_date, job_title, salary, department_id)
VALUES 
('John', 'Doe', 'john.doe@example.com', '555-1234', '2023-01-15', 'Software Engineer', 70000, 2),
('Jane', 'Smith', 'jane.smith@example.com', '555-5678', '2023-02-01', 'HR Manager', 80000, 1);

5. การดึงข้อมูล (Select Data)

เราสามารถดึงข้อมูลจากตารางได้โดยใช้คำสั่ง SELECT:

5.1 ดึงข้อมูลพนักงานทั้งหมด

SELECT * FROM employees;

5.2 ดึงข้อมูลพนักงานที่ทำงานในแผนก Engineering

SELECT e.first_name, e.last_name, d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.department_id
WHERE d.department_name = 'Engineering';

6. การอัปเดตข้อมูล (Update Data)

ตัวอย่างการอัปเดตข้อมูลของพนักงาน:

UPDATE employees 
SET salary = salary * 1.05 
WHERE department_id = 2;

7. การลบข้อมูล (Delete Data)

ตัวอย่างการลบข้อมูลพนักงานที่ลาออก:

DELETE FROM employees 
WHERE employee_id = 1;

8. การลบตาราง (Drop Table)

หากต้องการลบตารางใด ๆ สามารถใช้คำสั่ง DROP TABLE:

DROP TABLE employee_department;
DROP TABLE employees;
DROP TABLE departments;

9. การลบฐานข้อมูล (Drop Database)

สุดท้าย หากต้องการลบฐานข้อมูลทั้งหมด:

DROP DATABASE employee_db;