/Cw8

Z Brain-wiki
Wersja z dnia 15:00, 23 maj 2015 autorstwa Jarekz (dyskusja | edycje) (Utworzono nową stronę "= TI:WTBD/Ćwiczenia 8 = * Kończyliśmy jeszcze temat z poprzednich ćwiczeń (szukanie importów w plikach z kodem w Pythonie za pomocą wyrażeń regularnych) *...")
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)

TI:WTBD/Ćwiczenia 8

  • Kończyliśmy jeszcze temat z poprzednich ćwiczeń (szukanie importów w plikach z kodem w Pythonie za pomocą wyrażeń regularnych)
  • Wstęp do SQL w praktyce (SQLite):
    • program sqlite3
      jest to proste narzędzie do operowania na bazach danych SQLite. SQLite jest systemem bazodanowym wbudowanym, tzn. wszystko odbywa się w ramach jednego procesu (a nie -- w dialogu z serwerem), a operacje na bazie danych zrealizowane są poprzez bibliotekę funkcji (z którą będziemy mieli do czynienia w postaci ,,opakowanej" w moduł pythonowy). Same bazy przyjmują postać zwykłych plików (w szczególnym formacie binarnym), każdy z nich zawiera pewien zbiór tabel (i ewent. innych obiektów, jak widoki, indeksy, triggery) tworzących bazę danych w sensie SQL.
    • polecenia wbudowane (nie-SQLowe)
      listę tych poleceń wraz z krótkimi opisami otrzymujemy pisząc w linii poleceń programu sqlite3 polecenie .help. Polecenia wbudowane nie są poleceniami SQL, nie są dostępne poza kontekstem programu sqlite3, i nie rządzą się regułami składniowymi SQL -- w szczególności, obejmują tylko jedną linię nie zakończoną średnikiem.
    • otwieramy bazę
      otwarcie bazy za pomocą sqlite3 polega na wywołaniu programu z argumentem będącym nazwą pliku zawierającego bazę:
   sqlite3 baza.db
    • ustalamy jakie zawiera tabele i jak są zdefiniowane
      w programie sqlite3 piszemy
   .schema
   .schema nazwa_tabeli
    • dowiadujemy się, ile jest w nich danych (wierszy)
   select count(*) from nazwa_tabeli;
    • tworzymy proste zapytania (SELECT), np.
   select * from nazwa_tabeli;
    • przykłady zapytań z agregacją
   select KOD, count(*) from nazwa_tabeli group by KOD;