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

Lekcja: Operacje na bazach danych MySQL: Pobieranie danych, importowanie z plików i silniki baz danych

Cel lekcji:

  • Zrozumienie, jak pobierać dane z bazy MySQL.
  • Nauczenie się importowania danych do MySQL z plików zewnętrznych.
  • Poznanie różnych silników baz danych obsługiwanych przez MySQL.

Teoria:

1. Pobieranie informacji z bazy danych MySQL (SHOW)

Operacja SELECT służy do pobierania danych z tabel w bazie danych. Pozwala na wybieranie konkretnych kolumn, filtrowanie wyników, sortowanie i grupowanie danych.

Polecenie pokazujące kod tworzący tabelę:

SHOW CREATE TABLE nazwa_tabeli;

Pokazuje bazy danych na serwerze:

SHOW DATABASES;

Pokazuje tabele w bazie :

SHOW TABLES;

2. Importowanie danych do MySQL z plików zewnętrznych

MySQL umożliwia importowanie danych z różnych plików, takich jak pliki CSV, pliki tekstowe lub pliki generowane przez inne bazy danych.

Import danych z pliku CSV do tabeli:

Przykład importowania pliku CSV do istniejącej tabeli studenci:

  1. Plik CSV (students.csv) ma następującą strukturę:
imie,nazwisko,wiek
Jan,Kowalski,22
Anna,Nowak,20
  1. Importowanie pliku CSV do MySQL za pomocą komendy LOAD DATA INFILE:
LOAD DATA INFILE '/ścieżka/do/pliku/students.csv'
INTO TABLE studenci
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '
'
IGNORE 1 ROWS;
  • FIELDS TERMINATED BY ',' – Określa, że kolumny w pliku CSV są oddzielone przecinkami.
  • LINES TERMINATED BY ' ' – Oznacza, że wiersze są zakończone nową linią.
  • IGNORE 1 ROWS – Ignoruje pierwszy wiersz, który zazwyczaj zawiera nagłówki kolumn.
Importowanie bazy danych z pliku SQL:

Jeśli masz cały plik SQL, który chcesz zaimportować do MySQL, możesz to zrobić za pomocą narzędzia mysql:

mysql -u user -p nazwa_bazy < /ścieżka/do/pliku/file.sql

3. Rodzaje silników obsługiwanych w MySQL

MySQL wspiera wiele różnych silników, które mogą być używane w zależności od wymagań aplikacji. Każdy silnik ma swoje unikalne cechy i zastosowania.

a. InnoDB
  • Opis: Najczęściej używany silnik, zapewniający pełne wsparcie dla transakcji, kluczy obcych oraz ACID (Atomicity, Consistency, Isolation, Durability).
  • Zalety: Wysoka wydajność, bezpieczeństwo danych i wsparcie dla blokowania rekordów.
  • Zastosowania: Aplikacje wymagające transakcji, zarządzania relacjami między tabelami (klucze obce).
b. MyISAM
  • Opis: Lżejszy silnik, który nie wspiera transakcji ani kluczy obcych, ale oferuje szybsze odczyty.
  • Zalety: Szybkość w operacjach SELECT, mały narzut zasobów.
  • Zastosowania: Aplikacje, w których szybkość odczytu jest priorytetem, np. serwisy do czytania danych (raporty, statystyki).
c. Memory
  • Opis: Silnik, który przechowuje dane w pamięci RAM, co zapewnia bardzo szybkie operacje odczytu i zapisu.
  • Zalety: Ekstremalna szybkość.
  • Wady: Dane są przechowywane w pamięci RAM, więc są tracone po ponownym uruchomieniu serwera.
  • Zastosowania: Tymczasowe tabele, przechowywanie wyników obliczeń na krótki czas.
d. CSV
  • Opis: Przechowuje dane w formacie CSV (Comma Separated Values).
  • Zastosowania: Używany do prostych importów i eksportów danych z tabel MySQL do plików tekstowych.
e. ARCHIVE
  • Opis: Silnik przeznaczony do przechowywania dużych ilości danych, które rzadko są modyfikowane.
  • Zastosowania: Idealny do logów lub archiwów.

Przykład: Sprawdzanie silnika bazy danych

a) Sprawdzenie jakiego silnika używa tabela klienci:

SHOW TABLE STATUS LIKE 'klienci';

b) Zmiana silnika tabeli klienci na MyISAM:

ALTER TABLE klienci ENGINE = MyISAM;