Advertisement
winone1208

MYSQ

Nov 24th, 2015
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. 2.1. Eksport. Poleceniem
  2. SELECT
  3. Do wyeksportowania danych do pliku tekstowego można używać specjalnej wersji polecenia
  4. SELECT
  5. . Zobaczmy jak to wygląda w praktyce:
  6. SELECT
  7. id, first_name, last_name, commission_pct, salary
  8. INTO OUTFILE
  9. ’c:/plik11.txt’
  10. FIELDS
  11. TERMINATED BY ’\t’
  12. ESCAPED BY ’’
  13. OPTIONALLY ENCLOSED BY ’"’
  14. LINES
  15. TERMINATED BY ’\r\n’
  16. FROM
  17. emp
  18. WHERE
  19. salary > 1500;
  20. Plik wynikowy ma następującą postać:
  21. 1 "Carmen" "Velasquez" NULL 2500.00
  22. 5 "Audry" "Ropeburn" NULL 1550.00
  23. 13 "Yasmin" "Sedeghi" 10.00 1515.00
  24. 14 "Mai" "Nguyen" 15.00 1525.00
  25.  
  26.  
  27.  
  28.  
  29. Dla każdego pliku tekstowego wymienionego w wierszu poleceń
  30. mysqlimport
  31. obcina rozszerzenie
  32. z nazwy pliku i wykorzystuje rezultat w celu określenia nazwy tabeli, do której zaimportować
  33. zawartość pliku.
  34. Załóżmy, że mamy następującą tabelę, do której chcemy wstawić dane:
  35. CREATE TABLE pracownicy
  36. (
  37. prac_id INT PRIMARY KEY,
  38. imie VARCHAR(20) NOT NULL,
  39. nazwisko VARCHAR(30) NOT NULL,
  40. zarobki NUMERIC(11,2) NULL,
  41. data_ur DATE NULL
  42. );
  43. Załóżmy następnie, że w pliku tekstowym o nazwie
  44. pracownicy.txt
  45. mamy następujące dane
  46. zapisane w pliku zewnętrznym:
  47. 1,’Artur’,’Nowakowski’,NULL,’1980-01-26’
  48. 2,’Jan’,’Kowalski’,2821.30,NULL
  49. 3,’Ewa’,’Konieczna’,NULL,NULL
  50. 4,’Anna’,’Wojtasik’,NULL,NULL
  51. Po wykonaniu następującego polecenia (zwróćmy uwagę, że musimy zalogować się na konto z
  52. uprawnieniami administratora. Czy potrafisz wytłumaczyć dlaczego?):
  53. D:\>mysqlimport --user=root --password=zaq1@WSX --fields-terminated-by=, --fields-enclosed-by=’ --lines-terminated-by=\r\n --delete blab c:\plik11.txt
  54. blab.pracownicy: Records: 4 Deleted: 0 Skipped: 0 Warnings: 0
  55. dane zostają prawidłowo załadowane do tabeli
  56. pracownicy
  57. , co potwierdzamy wykonując pole-
  58. cenie
  59. SELECT
  60. :
  61. mysql> SELECT * FROM pracownicy;
  62. +---------+-------+------------+---------+------------+
  63. | prac_id | imie | nazwisko | zarobki | data_ur |
  64. +---------+-------+------------+---------+------------+
  65. | 1 | Artur | Nowakowski | NULL | 1980-01-26 |
  66. | 2 | Jan | Kowalski | 2821.30 | NULL |
  67. | 3 | Ewa | Konieczna | NULL | NULL |
  68. | 4 | Anna | Wojtasik | NULL | NULL |
  69. +---------+-------+------------+---------+------------+
  70. 4 rows in set (0.00 sec)
  71. 2.4. Import. Wykorzystanie plików programu
  72. mysqldump
  73. Mając plik eksportu możemy w bardzo łatwy sposób zapisane tam dane załadować do MySQL-a.
  74. Plik możemy wczytać albo w tzw. trybie wsadowym albo będąc już zalogowanym do MySQL-a
  75. wykonać polecenie
  76. source
  77. . Obie wersje pokazano poniżej:
  78. shell> mysql -u ulab -phlab blab < c:\temp\blab.sql
  79.  
  80.  
  81. oraz
  82. mysql> source c:\temp\blab.sql
  83. Uwaga: Niezależnie od tego, którą z metod tworzenia kopii bezpieczeństwa wybierzemy,
  84. bardzo ważne jest, aby sprawdzić poprawność utworzonej kopię
  85. . Zawsze bowiem istnieje
  86. prawdopodobieństwo, że popełniliśmy jakiś błąd i możemy być bardzo niemile zaskoczeni, gdy
  87. odtworzenie bazy (np. po nagłej awarii) po prostu się nie uda. Wówczas będzie oczywiście za
  88. późno na wszelkie działania naprawcze. Inna sprawa to właściwe przechowywanie plików z ko-
  89. piami bazy. Oczywiście przechowywanie ich na tym samym dysku, co pliki serwera MySQL nie
  90. ma absolutnie sensu
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement