Bazy danych. Polecenia SQL

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Język SQL, zajęcia nr 1

Projektowanie systemów baz danych

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

Wykład 5. SQL praca z tabelami 2

Relacyjne bazy danych. Podstawy SQL

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

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

Relacyjne bazy danych. Podstawy SQL

Podstawy technologii WWW

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

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

Wykład 05 Bazy danych

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

Systemy GIS Tworzenie zapytań w bazach danych

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

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

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

Przestrzenne bazy danych Podstawy języka SQL

Kurs. Podstawy MySQL

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

5. Bazy danych Base Okno bazy danych

Wykład 6: PHP: praca z bazą danych MySQL, cz.2

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Bazy danych. dr Radosław Matusik. radmat

Bazy Danych i Usługi Sieciowe

SQL (ang. Structured Query Language)

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

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Bazy danych i usługi sieciowe

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

Autor: Joanna Karwowska

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Wykład 6. SQL praca z tabelami 3

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Dokumentacja SQL API 1

Komunikacja z bazą danych psql

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

Podstawowe zapytania SELECT (na jednej tabeli)

Widok Connections po utworzeniu połączenia. Obszar roboczy

Autor: Joanna Karwowska

Bazy danych. dr inż. Arkadiusz Mirakowski

Bazy danych 7. SQL podstawy

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Lista dostępnych baz danych: SHOW DATABASES; Lista dostępnych tabel: SHOW TABLES;

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

Wykład 8. SQL praca z tabelami 5

Instalacja MySQL.

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

Struktura drzewa w MySQL. Michał Tyszczenko

Wprowadzenie do baz danych

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

Język SQL. Rozdział 2. Proste zapytania

Wykład 5: PHP: praca z bazą danych MySQL

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Wykład 4. SQL praca z tabelami 1

Paweł Rajba

Rozwiązanie. Uruchom program Access 2007.

Bazy danych. Dr inż. Paweł Kasprowski

Ćwiczenie zapytań języka bazy danych PostgreSQL

Bazy danych Ćwiczenia projektowe

1. Sprawdzenie ustawień konfiguracyjnych. Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables

Wprowadzenie do JDBC z wykorzystaniem bazy H2

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

2017/2018 WGGiOS AGH. LibreOffice Base

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

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

CREATE USER

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Podyplomowe Studium Programowania i Baz Danych

Wdrożenie modułu płatności eservice. dla systemu Magento

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

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

Połączenie z bazą danych : mysql h u root -p Enter password: *******

Oracle11g: Wprowadzenie do SQL

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Hurtownia Świętego Mikołaja projekt bazy danych

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

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

Język SQL, zajęcia nr 2

Wykład 2. SQL 1 Structured Query Lenguage

Bazy danych 6. Klucze obce. P. F. Góra

Baza danych Uczniowie.mdb

Zapytania do baz danych

Jak zaimportować bazę do system SARE

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Automatyka i Robotyka ROK III TEMAT: TWORZENIE I ZARZĄDZANIE INTERNETOWĄ BAZĄ DANYCH

W tej części zajmiemy się ćwiczeniami dotyczącymi modyfikacji rekordów.

Przedszkolaki Przygotowanie organizacyjne

Transkrypt:

Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony typ przechowywania danych oraz długość przechowywanego ciągu. Baza danych ma swój silnik, dzięki któremu potrafi wyszukiwać i sortować rekordy. Najpopularniejszym rodzajem baz wykorzystywanym w sieci Internet jest baza MySQL. Dla większości płatnych serwerów jest ona w standardzie lub wymaga drobnej dopłaty. Polecenia SQL Instrukcje SQL potrzebne do utworzenia tabel można wpisać z konsoli klienta mysql lub wykonać za pomocą narzędzia do zarządzania bazami danych w graficzny interfejs użytkownika np. phpmyadmin. W grupie Utwórz nowa tabelę w bazie danych w pole Nazwa wpisujemy nazwę tabeli. W pole obok wpisujemy liczbę, która określi z ilu pól tabela będzie się składała. Po wybraniu przycisku Wykonaj przejdziemy do formularza z polami dla każdej z kolumn tabeli. Tworzenie tabeli: W pole tekstowe Pole wpisujemy nazwę kolumny. Dla typu varchar w pole Długość wpisujemy maksymalną liczbą znaków przeznaczoną na przechowywanie łańcucha znakowego. Z listy rozwijalnej Metoda porównywania napisów wybieramy utf8_polish_ci. To samo kodowanie wybieramy w metodzie porównywania napisów dla tabeli. Operacje utworzenia tabeli zatwierdzamy wybierając przycisk Zachowaj. -1-

Tabele możemy tez tworzyć za pomocą poleceń SQL. Polecenie tworzące tabelą należą do grupy poleceń DDL (ang. Data Definition Language) rozpoczyna się klauzula CREATE TABLE. Po tej klauzuli opcjonalnie stosuje się wyrażenie IF NOT EXISTS, dzięki któremu upewniamy się o braku w bazie danych takiej tabeli, a następnie podaje nazwę tabeli. Po nazwie w nawiasach zwykłych wymieniamy po kolei kolumny, następnie typ danych, jaki ma przechowywać. W przypadku kolumny przechowującej łańcuch znakowy opcjonalnie można ustawić kodowanie znaków oraz metodę porównywania napisów. Poza nawiasami również można ustawić kodowanie i metodę porównywania napisów dla całej tabeli. Wyrażenie NOT NULL dodane na końcu każdej z kolumn uniemożliwia wprowadzenie danych do tabeli z pominięciem tej kolumny. CREATE TABLE IF NOT EXISTS `hanka`.`dane01` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `imie` VARCHAR( 15 ) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL, `nazwisko` VARCHAR( 30 ) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL, `email` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL, `tel` VARCHAR( 15 ) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL, `adres` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_polish_ci Polecenie SQL wpisujemy w pole tekstowe zakładki SQL wybranej z paska menu. Po zatwierdzeniu operacji przyciskiem Wykonaj otrzymamy informacje o utworzeniu nowej tabeli, a w lewym panelu pojawi się nazwa nowej tabeli. Dodawanie pola Alter TABLE dane01 ADD email VARCHAR(100)DEFAULT brak ; Zmiana parametrów pola ALTER TABLE dane01 MODIFY email VARCHAR(80); Zmiana nazwy pola ALTER TABLE dane01 CHANGE email email VARCHAR(80) DEFAULT brak ; Usuwanie pola ALTER TABLE dane01 DROP adres; Zmiana nazwy tabeli ALTER TABLE dane01 RENAME dane_pracowników; Usuwanie tabeli ALTER TABLE dane01 RENAME dane_pracowników; Ograniczenia W bazie danych podczas tworzenie tabeli (CREATE TABLE) lub modyfikacji jej struktury (ALTER TABLE) można nadać jej ograniczenia (CONSTRAINTS). Typy ograniczeń: Not null Unique Primary key Foreign key -2-

Uwaga. Nie we wszystkich bazach danych można używać kluczy obcych. W mysql można, ale tylko jeśli używa się tabel typu InnoDB. W mysql typ InnoDB można wybrać podczas tworzenia tabel z menu rozwijalnego o nazwie Mechanizm składowania. W przypadku typu MyISAM da się utworzyć klucz obcy, ale będzie on ignorowany. Dodawanie rekordów - INSERT INTO Polecenie SQL wstawiające dane do tabeli rozpoczyna się klauzulą INSET INTO, po której podajemy nazwę tabeli. Za nazwą tabeli w nawiasach zwykłych wymieniamy kolumny, do których będą wprowadzane wartości. Po nawiasach umieszczamy klauzulę VALUES, a za nią w nawiasach zwykłych wartości odpowiadające wcześniej wymienionym kolumnom. Wymienione kolumny mogą występować w dowolnej kolejności, ważne, aby podane wartości im odpowiadały. Podczas wstawiania danych do tabeli możemy używać polecenia INSERT INTO bez wymieniania nazw kolumn, jeśli umieszczamy po kolei dane w każdej kolumnie. INSERT INTO dane01 VALUES ('0', 'jan', 'kowalski', 'jan@jan.eu', '893554556', 'szeroka 2'); Importowanie danych LOAD DATA Jeśli posiadamy już dane np. w arkuszu kalkulacyjnym, to możemy je zaimportować do bazy danych. Aby to wykonać plik arkusza kalkulacyjnego zapisujemy z rozszerzeniem.cvs z wybranym kodowaniem znaków utf-8. W panelu phpmyadmin uaktywniamy tabele i wybieramy z paska menu Import. W oknie w polu Lokalizacja pliku tekstowego za pomocą przycisku Przeglądaj wybieramy plik.cvs. Zatwierdzamy przyciskiem Otwórz. W sekcji Format importowanych plików zaznaczamy opcję CVS przy użyciu LOAD DATA. Wybór zatwierdzamy przyciskiem Wykonaj. W wyniku tego działania otrzymamy informację o wykonanym imporcie danych. Polecenie SQL służące do zaimportowania danych do tabeli jest następujące: -3-

LOAD DATA LOCAL INFILE 'j:\\dane.cvs' INTO TABLE dane01 FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' Polecenie załadowania danych rozpoczyna klauzula LOAD DATA INFILE, po której w apostrofach podjemy ścieżkę dostępu do pliku. Opcjonalnie przed słowem INFILE można użyć słowa LOCAL wskazującego na pobieranie pliku z komputera klienta. Po nazwie pliku stosuje się klauzulę INTO TABLE, a za nią umieszczana jest nazwa tabeli, do której zostaną zaimportowane dane z podanego pliku. Opcjonalnie można stosować klauzulę FIELDS TERMINATED BY, za którą podaje się znak rozdzielający poszczególne pola w rekordzie. W przypadku plików.cvs jest to znak średnika (podany w apostrofach). Opcjonalnie można również stosować klauzulę LINES TERMINATED BY, za którą podajemy znak symbolizujący koniec rekordu w pliku (podany w apostrofach). Modyfikacja rekordów - UPDATE UPDATE dane01 SET email= kowal@nowastrona.pl WHERE imie= jan ; Pobieranie danych z bazy SELECT Wybieranie rekordów z bazy danych stosuje się poprzez polecenie SELECT. Po nim jest wymieniana lista kolumn oddzielonych od siebie znakiem przecinka, z których pobieramy dane. Po nazwach kolumn stosujemy wyrażenie FROM, po którym podajemy nazwę tabeli. SELECT imie, nazwisko FROM `dane01`; SELECT * FROM `dane01`; - wyświetla wszystkie dane z tabeli. SELECT ALL * FROM `dane01`; - wyświetla wszystkie dane z tabeli, nawet powtarzające się. SELECT DISTINCT * FROM `dane01`;- wyświetla wszystkie dane z tabeli, z pominięciem powtarzające się. Powtarzający się wiersz zostanie wyświetlony tylko raz. Za pomocą interfejsu graficznego phpmyadmin pobieranie wszystkich danych wykonujemy za pomocą zakładki Przeglądaj, natomiast wyszukiwanie rekordów za pomocą zakładki Szukaj z paska menu. W celu ograniczenia liczby zwracanych rekordów stosujemy klauzulę LIMIT na końcu zapytania, po niej podawana jest maksymalna liczba wierszy, jaka może być zwrócona. Po klauzuli LIMIT mogą występować także dwie liczby oddzielone przecinkami. Wówczas pierwsza oznacza numer wiersza, po którym będą zwracane rekordy wynikowe, a druga oznacza maksymalną liczbę wierszy do wyświetlenia: -4-

SELECT * FROM `dane01` LIMIT 5; - wyświetlenie pięciu rekordów SELECT * FROM `dane01` LIMIT 3, 2; - wyświetlenie dwóch rekordów, począwszy od trzeciego W celu uporządkowania wybranych rekordów służy klauzula ORDER BY, po której podajemy kolumny według której nastąpi sortowanie danych. Klauzule te stosujemy przed klauzulą LIMIT: SELECT * FROM `dane01` ORDER BY nazwisko ASC LIMIT 3, 2; ASC- sortowanie rosnące wg alfabetu, DESC sortowanie malejące wg alfabetu W celu ograniczenia liczby zwracanych rekordów spełniających warunek należy przed klauzulą sortująca podać klauzulę WHERE, a po niej podać warunek wykorzystujący operatory porównań: SELECT * FROM `dane01` WHERE imie = 'ewa'; SELECT * FROM `dane01` WHERE (id>1 AND id<=2) OR (Imie='ewa'); Warunek możemy stosować też do kolumn przechowujących łańcuchy znakowe. Służy do tego wyrażenie WHERE uzupełnione o słowo LIKE. Aby wybrać z tabeli dane01 imie złożone z trzech liter, stosujemy wyrażenie LIKE, po którym podajemy w apostrofach trzy znaki podkreślenia. Jedno podkreślenie oznacza dowolny znak. SELECT * FROM `dane01` WHERE imie LIKE ' '; Wyrażenie LIKE może zawierać znak %, oznaczający dowolną liczbę znaków lub żaden znak. Zastosowanie po znaku % konkretnego ciągu znaków spowoduje porównanie do łańcuchów znakowych kończących się na konkretny ciąg znaków. SELECT * FROM `dane01` WHERE email LIKE %net.eu; Usuwanie rekordów Usuwanie danych odbywa się za pomocą polecenia DELETE. Aby usunąć wszystkie dane z tabeli należy użyć polecenia: DELETE FROM `dane01`; DELETE FROM `dane01`where id=4; Eksportowanie danych oraz całej bazy danych Eksport danych pozwala na szybkie umieszczenie danych zawartych w bazie danych, w pliku o wybranym podczas eksportu formacie np.:.xml,.xls. w tym celu w sekcji Eksport zaznaczamy typ pliku, do którego chcemy wyeksportować dane. Po zatwierdzeniu operacji przyciskiem Wykonaj, pojawi się okno systemu z pytaniem gdzie chcemy zapisać plik. Jeżeli natomiast wykonamy eksport do pliku.xml, zobaczymy wartości rekordów umieszczane w znacznikach. -5-

Aby pobrać polecenia SQL niezbędne do odtworzenia struktury całej bazy danych lub kilku baz danych wraz z ich zawartościami, należy bez zaznaczania w lewym panelu bazy danych przejść w pasku menu do zakładki Eksport, a następnie w sekcji eksport zaznaczyć interesującą bazę danych lub tabelę oraz zaznaczyć opcje SQL. Zatwierdzenie operacji przyciskiem wykonaj spowoduje wyświetlenie pliku wraz z poleceniami SQL. Funkcje bazodanowe Funkcje agregujące Funkcje matematyczne Data i czas Formatowanie łańcuchów znakowych -6-