Komunikacja z bazą danych psql

Podobne dokumenty
Język SQL, zajęcia nr 1

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

Projektowanie systemów baz danych

Wykład 5. SQL praca z tabelami 2

Bazy danych. Polecenia SQL

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Ref. 7 - Język SQL - polecenia DDL i DML

Wykład 8. SQL praca z tabelami 5

Widok Connections po utworzeniu połączenia. Obszar roboczy

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Bazy danych i usługi sieciowe

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Wykład 05 Bazy danych

P o d s t a w y j ę z y k a S Q L

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Bazy Danych i Usługi Sieciowe

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

Relacyjne bazy danych. Podstawy SQL

Paweł Rajba

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Bazy danych. Dr inż. Paweł Kasprowski

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Bazy danych Ćwiczenia projektowe

Relacyjne bazy danych. Podstawy SQL

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Bazy danych 7. SQL podstawy

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Kurs. Podstawy MySQL

Instrukcje DML INSERT, UPDATE, DELETE. COPY

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

Ćwiczenie zapytań języka bazy danych PostgreSQL

SQL (ang. Structured Query Language)

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Przestrzenne bazy danych Podstawy języka SQL

Podstawowe informacje o bazach danych. Technologie Informacyjne

ACESS- zadania z wykorzystaniem poleceń SQL

Bazy danych. dr inż. Arkadiusz Mirakowski

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Język SQL, zajęcia nr 2

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Język SQL podstawy zapytań

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Autor: Joanna Karwowska

Wprowadzenie do baz danych

Instalacja MySQL.

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

Bazy danych. dr Radosław Matusik. radmat

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

CREATE USER

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Hurtownia Świętego Mikołaja projekt bazy danych

Bazy danych i usługi sieciowe

Wykład 6. SQL praca z tabelami 3

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Struktura drzewa w MySQL. Michał Tyszczenko

Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE)

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Bazy danych 10. SQL Widoki

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Wprowadzenie do JDBC z wykorzystaniem bazy H2

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Programowanie obiektów

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

2. Podstawy języka SQL

Jerzy Nawrocki, Wprowadzenie do informatyki

NARZĘDZIA WIZUALIZACJI

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Paweł Cieśla. Dokumentacja projektu

Wprowadzenie do języka SQL

Wprowadzenie. Tworzenie widoków

BAZA DANYCH SIECI HOTELI

Wykład 4. SQL praca z tabelami 1

Systemy GIS Tworzenie zapytań w bazach danych

Język SQL. Rozdział 2. Proste zapytania

PHP: bazy danych, SQL, AJAX i JSON

Wstęp do relacyjnych baz danych. Jan Bartoszek

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

SIECI KOMPUTEROWE I BAZY DANYCH

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Część 1: OLAP. Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych

Zadania z SQLa (MS SQL Server)

Transkrypt:

PostgreSQL jest systemem zarządzania relacyjnymi bazami danych rozprowadzanym na zasadach open source. Twórcą i właścicielem praw autorskich jest Uniwersytet Berkeley w Stanach Zjednoczonych. Ze wszystkich dostępnych darmowych systemów bazodanowych PostgreSQL jest najwszechstronniejszy i najbardziej skalowalny. Jest to system typu klient-serwer. Proces serwera zarządza bazą danych, akceptuje połączenia z klientami, realizuje polecenia przekazane przez klienta. Proces klienta komunikuje się z procesem serwera. Klient i serwer mogą być na tym samym lub na różnych komputerach Komunikacja z bazą danych psql Jest to tekstowy terminal do Postgres'a. Umożliwia on m. in. wprowadzanie interaktywnie zapytań oraz oglądanie ich wyników alternatywnie dane wejściowe mogą być zapisane w odpowiednim pliku i skierowane do przetwarzania przez program psql oprócz normalnych zapytań SQL, psql przetwarza wiele pomocnych meta-poleceń (zaczynających się od znaku backslash: \) umożliwia wykonywanie poleceń powłoki. Technicznie rzecz biorąc psql jest normalną aplikacją kliencką do sytemu PostgreSQL, który sam z kolei pracuje jako serwer. Aby się połączyć z bazą danych musi ona oczywiście istnieć i musimy znać jej nazwę. Musimy również znać numer portu TCP, na którym nasłuchuje serwer PostgreSQL. 7 listopada 2011 Strona 1

Połączenie z bazą danych psql [opcje] baza [użytkownik] baza nazwa bazy użytkownika użytkownik nazwa użytkownika (domyślnie login użytkownika korzystającego z konta unixowego) opcje dodatkowe opcje programu -p PORT numer portu -d BAZA nazwa bazy danych -f PLIK - pobieranie danych z pliku -h HOST nazwa zdalnego komputera -l - lista dostępnych baz danych -o PLIK - przekierowanie rezultatów do pliku -U USER - nazwa użytkownika Serwer dostępny jest na serwerze Fourier pod standardowym portem 5432. Można się na niego dostać z Fatcat'a i z Fourier'a. Z Fatcat'a psql -h fourier -U user baza Z Fouriera 1. Na początek logowanie do serwera Fourier, gdy jesteśmy na serwerze Fatcat ssh user@fourier 2. Logowanie do bazy psql -U user baza 7 listopada 2011 Strona 2

psql podstawowe metapolecenia \?- informacja o metapoleceniach \a- przełączanie między wydrukiem wyrównanym i niewyrównanym \cd zmiana katalogu \d wyświetlenie informacji o obiekcie \dt wyświetlenie listy tabel \echo wyświetlenie tekstu \qecho j.w. stosowane przy przekierowywaniu \f ustawienie separatora dla niewyrównanego wydruku \h pomoc na temat poleceń SQL-a \H włączanie formatu HTML wydruków \i wczytanie kwerend z pliku \o zapisywanie rezultatów zapytań do pliku \q wyjście z programu \s wyświetlenie (lub zapis do pliku) historii poleceń psql-a \set przypisywanie wartości zmiennym (dostęp poprzez :NAZWA) \unset kasuje ustawienie \set. \t włącza tryb wyświetlania wyłącznie danych \timing włącza wyświetlanie czasu wykonania kwerend \!- wykonanie polecenia powłoki 7 listopada 2011 Strona 3

DDL - Data Definition Language - można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy (CREATE, DRO, ALTER) DML -Data Manipulation Language- służy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany (SELECT, INSERT, UPDATE, DELETE) Tworzenie tabeli CREATE TABLE test (Imie VARCHAR(32) DEFAULT Jan, Numer INT not null, Pensja INT check (pensja >100), Test_id INT PRIMARY KEY, Kod INT UNIQUE); Usuwanie tabeli DROPE TABLE test ; Wypełnianie tabeli INSERT INTO test VALUES ('Tomasz',12,123,40,55); Sprawdzenie działania ograniczeń INSERT INTO test VALUES ('Tomasz',12,123,44,54); 7 listopada 2011 Strona 4

INSERT INTO test VALUES ('Tomasz',12,10,4,5); INSERT INTO test (Pensja, Test_id, Kod) VALUES (1000,24,25); Ograniczenia na poziomie tabeli CREATE TABLE test_1 (Numer INT,Pensja INT,Test_id INT PRIMARY KEY, CONSTRAINT t1 CHECK (Numer < Pensja)); INSERT INTO test (Numer, Pensja,Test_id,Kod) VALUES (12,1000,14,15); 7 listopada 2011 Strona 5

Zmiana struktury tabeli ALTER TABLE test ADD COLUMN Nazwisko VARCHAR(32); ALTER TABLE test RENAME COLUMN Nazwisko TO Nazwa; ALTER TABLE test_1 RENAME TO test_2; Zmiana zawartości tabeli UPDATE test SET pensja = 200; 7 listopada 2011 Strona 6

UPDATE test SET pensja = 134 WHERE Imie= 'Tomasz'; DELETE FROM test WHERE Imie= 'Tomasz'; Wczytanie i wykonanie poleceń zapisanych na pliku Plik create_tables.sql zawiera polecenia SQL tworzące tabele bazy danych przestawionej na schemacie poniżej. Wczytujemy je za pomocą metapolecenia \i i9student=>\i create_tables.sql Ćwiczenie 1. Proszę wyświetlić wszystkie informacje o tabeli item Ćwiczenie2. Wykorzystując pliki pop_*.sql wypełnić wszystkie tabele danymi. Lista miast i nazwiska wszystkich klientów, nazwa kolumny lname zmieniona na nazwisko, posortowane najpierw rosnąco według miasta, a w obrębie jednego miasta nazwiska posortowane malejąco. SELECT town, lname AS nazwisko FROM customer ORDER BY town, lname DESC; Lista wszystkich miast bez duplikatów. SELECT DISTINCT town FROM customer; Cena wszystkich towarów z tablicy item w groszach, wypisana w formacie integer SELECT description, CAST(cost_price*100 AS INT)AS cena FROM item; 7 listopada 2011 Strona 7

Wypisać nazwiska klientów, którzy nie są mężczyznami i mieszkają w Bingham lub w Nicetown. SELECT title, fname, lname, town FROM customer WHERE title<> Mr AND (town= Bingham OR town = Nicetown ); SELECT title, fname, lname, town FROM customer WHERE title<> Mr AND town IN ( Bingham, Nicetown ); Wypisać wszystkich, których druga litera imienia to a SELECT fname, lname FROM customer WHERE fname LIKE _a% ; Uwaga! Jeżeli w przeszukiwanych danych może występować znak specjalny (% lub _ ), należy użyć znaku zdejmującego znaczenie specjalne (escape character) zdefiniowanego za pomocą klauzuli ESCAPE LIKE 15#% ESCAPE # Wypisywanie ograniczonej ilości wierszy 5 pierwszych wierszy wyniku SELECT customer_id, town FROM customer LIMIT 5; Zadania Proszę przygotować skrypt tworzący tabelę opisującą pracownika, oraz wypełnić ją danymi zgodnie ze wzorem. Tabela emp powinna składać się z następujących pól: empno numer pracownika - numeric (4,0) klucz główny; ename nazwisko pracownika - varchar(10); job stanowisko - varchar(10); comm prowizja - numeric (7,2); 7 listopada 2011 Strona 8

mgr menadżer - varchar(10); sal wynagrodzenie miesięczne - numeric (7,2); deptno numer departamentu int. Wykonując kolejne polecenia, proszę kwerendy zapisywać do pliku 1. Wyświetlić numery departamentów, nazwiska pracowników oraz numery pracownicze ich szefów z tabeli emp. 2. Wyliczyć roczną pensję podstawową dla każdego pracownika, jeżeli każdy dostanie podwyżkę o 250 3. Wyświetlić wszystkie różne numery departamentów z tabeli emp. 4. Wyświetlić wszystkie dane o pracownikach pracujących na stanowisku CLERK. 5. Wyświetlić dane pracowników, których prowizja przekracza pensję. 6. Wyświetlić dane pracowników, których pensja mieści się pomiędzy 1000 a 2000. 7. Wyświetlić dane pracowników o nazwiskach na literę 'S'. 8. Wyświetlić dane pracowników, których nazwiska są czteroliterowe. 9. Wyświetlić dane pracowników, którzy nie posiadają szefa. 10. Wyświetlić dane pracowników, których nazwiska nie zaczynają się od litery M. 7 listopada 2011 Strona 9