Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2.1. Eksport. Poleceniem
- SELECT
- Do wyeksportowania danych do pliku tekstowego można używać specjalnej wersji polecenia
- SELECT
- . Zobaczmy jak to wygląda w praktyce:
- SELECT
- id, first_name, last_name, commission_pct, salary
- INTO OUTFILE
- ’c:/plik11.txt’
- FIELDS
- TERMINATED BY ’\t’
- ESCAPED BY ’’
- OPTIONALLY ENCLOSED BY ’"’
- LINES
- TERMINATED BY ’\r\n’
- FROM
- emp
- WHERE
- salary > 1500;
- Plik wynikowy ma następującą postać:
- 1 "Carmen" "Velasquez" NULL 2500.00
- 5 "Audry" "Ropeburn" NULL 1550.00
- 13 "Yasmin" "Sedeghi" 10.00 1515.00
- 14 "Mai" "Nguyen" 15.00 1525.00
- Dla każdego pliku tekstowego wymienionego w wierszu poleceń
- mysqlimport
- obcina rozszerzenie
- z nazwy pliku i wykorzystuje rezultat w celu określenia nazwy tabeli, do której zaimportować
- zawartość pliku.
- Załóżmy, że mamy następującą tabelę, do której chcemy wstawić dane:
- CREATE TABLE pracownicy
- (
- prac_id INT PRIMARY KEY,
- imie VARCHAR(20) NOT NULL,
- nazwisko VARCHAR(30) NOT NULL,
- zarobki NUMERIC(11,2) NULL,
- data_ur DATE NULL
- );
- Załóżmy następnie, że w pliku tekstowym o nazwie
- pracownicy.txt
- mamy następujące dane
- zapisane w pliku zewnętrznym:
- 1,’Artur’,’Nowakowski’,NULL,’1980-01-26’
- 2,’Jan’,’Kowalski’,2821.30,NULL
- 3,’Ewa’,’Konieczna’,NULL,NULL
- 4,’Anna’,’Wojtasik’,NULL,NULL
- Po wykonaniu następującego polecenia (zwróćmy uwagę, że musimy zalogować się na konto z
- uprawnieniami administratora. Czy potrafisz wytłumaczyć dlaczego?):
- D:\>mysqlimport --user=root --password=zaq1@WSX --fields-terminated-by=, --fields-enclosed-by=’ --lines-terminated-by=\r\n --delete blab c:\plik11.txt
- blab.pracownicy: Records: 4 Deleted: 0 Skipped: 0 Warnings: 0
- dane zostają prawidłowo załadowane do tabeli
- pracownicy
- , co potwierdzamy wykonując pole-
- cenie
- SELECT
- :
- mysql> SELECT * FROM pracownicy;
- +---------+-------+------------+---------+------------+
- | prac_id | imie | nazwisko | zarobki | data_ur |
- +---------+-------+------------+---------+------------+
- | 1 | Artur | Nowakowski | NULL | 1980-01-26 |
- | 2 | Jan | Kowalski | 2821.30 | NULL |
- | 3 | Ewa | Konieczna | NULL | NULL |
- | 4 | Anna | Wojtasik | NULL | NULL |
- +---------+-------+------------+---------+------------+
- 4 rows in set (0.00 sec)
- 2.4. Import. Wykorzystanie plików programu
- mysqldump
- Mając plik eksportu możemy w bardzo łatwy sposób zapisane tam dane załadować do MySQL-a.
- Plik możemy wczytać albo w tzw. trybie wsadowym albo będąc już zalogowanym do MySQL-a
- wykonać polecenie
- source
- . Obie wersje pokazano poniżej:
- shell> mysql -u ulab -phlab blab < c:\temp\blab.sql
- oraz
- mysql> source c:\temp\blab.sql
- Uwaga: Niezależnie od tego, którą z metod tworzenia kopii bezpieczeństwa wybierzemy,
- bardzo ważne jest, aby sprawdzić poprawność utworzonej kopię
- . Zawsze bowiem istnieje
- prawdopodobieństwo, że popełniliśmy jakiś błąd i możemy być bardzo niemile zaskoczeni, gdy
- odtworzenie bazy (np. po nagłej awarii) po prostu się nie uda. Wówczas będzie oczywiście za
- późno na wszelkie działania naprawcze. Inna sprawa to właściwe przechowywanie plików z ko-
- piami bazy. Oczywiście przechowywanie ich na tym samym dysku, co pliki serwera MySQL nie
- ma absolutnie sensu
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement