DDL – ALTER i DROP w MySQL

Architektura oraz cechy systemu zarządzania bazami danych

Pobieranie informacji z bazy, import danych do bazy oraz rodzaje obsługiwanych przez bazy MySQL silników

Wstep teoretyczny

Polecenia DDL (Data Definition Language) służą do definiowania i modyfikowania struktury bazy danych – tworzenia, zmieniania i usuwania tabel. Dwa kluczowe polecenia, które dziś ćwiczymy:

  • ALTER TABLE – modyfikuje strukturę tabeli.

    • Dodawanie kolumny:

      ALTER TABLE table_name ADD COLUMN column_name datatype;
    • Usuwanie kolumny:

      ALTER TABLE table_name DROP COLUMN column_name;
    • Zmiana nazwy kolumny:

      ALTER TABLE table_name CHANGE old_column new_column datatype;
    • Zmiana typu kolumny:

      ALTER TABLE table_name MODIFY column_name new_datatype;
    • Zmiana nazwy tabeli:

      ALTER TABLE old_table RENAME TO new_table;
  • DROP – usuwa obiekty bazy danych.

    • Usuwanie tabeli:

      DROP TABLE table_name;

Tabele do cwiczen

CREATE DATABASE ddl_exercises;
USE ddl_exercises;

-- Tabela 1: employees
CREATE TABLE employees (
    emp_id INT PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    birth_date DATE,
    salary DECIMAL(10,2)
);

-- Tabela 2: products
CREATE TABLE products (
    product_id INT PRIMARY KEY AUTO_INCREMENT,
    product_name VARCHAR(100),
    price DECIMAL(8,2),
    stock INT
);

-- Tabela 3: orders
CREATE TABLE orders (
    order_id INT PRIMARY KEY AUTO_INCREMENT,
    order_date DATE,
    customer_name VARCHAR(100),
    total_amount DECIMAL(10,2)
);

-- Tabela 4: courses
CREATE TABLE courses (
    course_id INT PRIMARY KEY AUTO_INCREMENT,
    course_name VARCHAR(100),
    duration INT,
    level VARCHAR(20)
);

Przyklady uzycia ALTER i DROP

  1. Dodanie nowej kolumny

    ALTER TABLE employees ADD COLUMN department VARCHAR(50);
  2. Usuniecie kolumny

    ALTER TABLE employees DROP COLUMN department;
  3. Zmiana nazwy kolumny

    ALTER TABLE products CHANGE price unit_price DECIMAL(8,2);
  4. Zmiana typu kolumny

    ALTER TABLE orders MODIFY total_amount FLOAT;
  5. Zmiana nazwy tabeli

    ALTER TABLE courses RENAME TO school_courses;
  6. Usuniecie calej tabeli

    DROP TABLE orders;

Zadania dla uczniow

Zadanie 1 – Tabela employees

  1. Zmien nazwe kolumny birth_date na date_of_birth.
  2. Zmien typ kolumny salary na DECIMAL(12,2).
  3. Dodaj nowa kolumne position typu VARCHAR(50).
  4. Usun kolumne first_name.

Zadanie 2 – Tabela products

  1. Zmien nazwe tabeli products na store_products.
  2. Zmien typ kolumny stock na SMALLINT.
  3. Zmien nazwe kolumny price na unit_price.
  4. Usun kolumne product_name.

Zadanie 3 – Tabela orders

  1. Dodaj kolumne status typu VARCHAR(20) z wartoscia domyslna pending.
  2. Zmien typ kolumny total_amount na FLOAT.
  3. Usun kolumne customer_name.
  4. Usun cala tabele orders.

Zadanie 4 – Tabela courses

  1. Zmien nazwe tabeli courses na school_courses.
  2. Dodaj kolumne teacher_name typu VARCHAR(100).
  3. Zmien kolumne level tak, aby przechowywala liczby calkowite (INT).
  4. Usun kolumne duration.