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

Podobne dokumenty
Wykład 5. SQL praca z tabelami 2

Bazy danych 7. SQL podstawy

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

Wykład 4. SQL praca z tabelami 1

Bazy danych 5. Samozłaczenie SQL podstawy

Język SQL, zajęcia nr 1

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

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

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Bazy danych 4. SQL podstawy. P. F. Góra

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

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Wykład 05 Bazy danych

MySQL. Darmowa baza danych. Æwiczenia praktyczne

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

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

Wykład 8. SQL praca z tabelami 5

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

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

Autor: Joanna Karwowska

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Język baz danych SQL cz.1

Projektowanie systemów baz danych

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

Wykład 2. SQL 1 Structured Query Lenguage

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

Wykład 6. SQL praca z tabelami 3

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Kurs. Podstawy MySQL

Bazy danych i usługi sieciowe

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy Danych i Usługi Sieciowe

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych 4. SQL- podstawy

Instalacja MySQL.

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

Relacyjne bazy danych. Podstawy SQL

SIECI KOMPUTEROWE I BAZY DANYCH

Bazy danych. Polecenia SQL

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

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

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

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

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

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Instrukcja CREATE TABLE

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Relacyjne bazy danych. Podstawy SQL

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

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

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

2 Przygotował: mgr inż. Maciej Lasota

Ćwiczenie zapytań języka bazy danych PostgreSQL

Bazy danych 10. SQL Widoki

Laboratorium nr 1. Temat: Wprowadzenie do MySQL-a

Widok Connections po utworzeniu połączenia. Obszar roboczy

CREATE USER

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Dr Michał Tanaś(

Język SQL, zajęcia nr 2

Bazy danych - wykład wstępny

2. Podstawy języka SQL

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

korzyści finansowe przewaga pomysłu nad kapitałem tworzenie nowych branż tworzenie mechanizmów pochodnych (np. serwis snip).

SQL (ang. Structured Query Language)

SQL. Æwiczenia praktyczne

Wprowadzenie do baz danych

E.14 Bazy Danych cz. 16 SQL Tworzenie, modyfikowanie i usuwanie tabel

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

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

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

Systemy GIS Tworzenie zapytań w bazach danych

Część VI Baza danych MySQL i PHP

Przestrzenne bazy danych Podstawy języka SQL

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

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

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

Komunikacja z bazą danych psql

Imię i Nazwisko Data Ocena. Laboratorium 7

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Bazy danych. dr Radosław Matusik. radmat

Podstawowe zapytania SELECT (na jednej tabeli)

Dokumentacja SQL API 1

Struktura drzewa w MySQL. Michał Tyszczenko

Wprowadzenie do JDBC z wykorzystaniem bazy H2

Tworzenie, modyfikowanie i usuwanie tabel

PHP: bazy danych, SQL, AJAX i JSON

MySQL. Leksykon kieszonkowy. II wydanie

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Paweł Rajba

Składowane procedury i funkcje

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

WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza

Transkrypt:

Bazy danych. Komunikacja z serwerem Aby połączyć się z serwerem i móc wykonywać czynności związane z obsługą baz, potrzebny jest program klienta. Razem z serwerem MySQL dostępny jest działający w wierszu poleceń program mysql. Aby uruchomić program klienta i połączyć się z serwerem, należy komendę: mysql u root phasło Po chwili nastąpi nawiązanie połączenia z serwerem i będzie można wykonywać zapytania i inne czynności związane z zarządzaniem, takie jak tworzenie i usuwanie baz, tworzenie, usuwanie i modyfikacja kont użytkowników oraz tabel, a także wydawanie zapytań w języku SQL. Zarządzanie bazami danych Serwer MySQL może jednocześnie obsługiwać wiele baz danych. W celu stworzenia bazy danych należy wydać polecenie create database w schematycznej postaci: create database nazwa_bazy; Jeśli chcemy na przykład utworzyć bazę o nazwie testphp, napiszemy create database nazwa_bazy; Po kliknięciu przycisku Enter serwer potwierdzi utworzenie bazy, wyświetlając tekst: Query OK, 1 row affected (0.05 sec) Można teraz wydawać kolejne polecenia W celu usunięcia bazy z serwera należy wykorzystać komendę drop database w postaci: drop database nazwa_bazy Wybór bazy danych Jak wiadomo, na serwerze może istnieć wiele baz danych tworzonych za pomocą polecenia CREATE DATABASE. Ponieważ każda baza jest niezależna i może zawierać takie same elementy jak każda inna, serwer musi wiedzieć, z którą bazą aktualnie chcemy pracować. Takiego wyboru można dokonać po zalogowaniu się do serwera, za pomocą instrukcji use w postaci: use nazwa_bazy

Wyboru bazy można także dokonać w wierszu poleceń, podając nazwę podczas wywoływania aplikacji klienta mysql (przy założeniu, że chcemy używać bazy o nazwie testphp, logując się jako użytkownik php), np.: mysql u php ptest testphp Tworzenie tabel Do tworzenia tabel służy instrukcja CREATE TABLE w schematycznej postaci: CREATE TABLE nazwa_tabeli ( nazwa_kolumny_1 typ_kolumny_1 [atrybuty], nazwa_kolumny_2 typ_kolumny_2 [atrybuty], nazwa_kolumny_n typ_kolumny_n [atrybuty] ) Dla treningu spróbujmy utworzyć prostą tabele klient, która będzie zawierała dwie kolumny. Pierwsza kolumna o nazwie Indeks będzie przechowywała liczby całkowite, a druga o nazwie Nazwa ciągi o maksymalnej długości 20 znaków. CREATE TABLE klient( Indeks INTEGER, Nazwa VARCHAR(20) ); Każda kolumna może mieć dodatkowe atrybuty. Najczęściej spotykane to: PRIMARY KEY, NOT NULL, AUTO_INCREMENT, INDEX, UNIQUE. Atrybut PRIMARY KEY oznacza, że dana kolumna jest kluczem podstawowym (głównym). Atrybut NOT NULL oznacza, że w danej kolumnie nie mogą znajdować się wartości puste. Atrybut AUTO_INCREMENT na zastosowanie jedynie do kolumn, które przechowują wartości całkowite. Podczas wstawiania nowego wiersza wartość takiej kolumny może być automatycznie zwiększana o jeden. Atrybut INDEKS oznacza, że dana kolumna będzie indeksowana. Indeks to specjalna dodatkowa struktura porządkująca dane w kolumnie.

Atrybut UNIQUE oznacza, że dane w kolumnie będą musiały być unikatowe, tzn. nie będą mogły istnieć dwa wiersze o takiej samej wartości. Jeśli zatem w naszej przykładowej tabeli klient kolumna Indeks miałaby być kluczem podstawowym, należałoby zastosować konstrukcje: CREATE TABLE klient( Indeks INTEGER NOT NULL PRIMARY KEY, Nazwa VARCHAR(20) ); Modyfikacja tabel Jeśli konieczna jest zmiana struktury już istniejącej tabeli, należy skorzystać z polecenia ALTER TABLE w postaci: ALTER TABLE nazwa_tabeli zmiana1[, zmiana2 [,...,[zmianan]]] Przykład użycia ALTER TABLE - ADD COLUMN: ALTER TABLE ADD pozwala na dodanie nowej kolumny do istniejącej tabeli. ALTER TABLE nazwa_tabeli ADD COLUMN nazwa_kolumny typ_danych Przykład użycia ALTER TABLE - DROP COLUMN: ALTER TABLE DROP usuwa istniejącą kolumnę z tabeli. ALTER TABLE nazwa_tabeli DROP COLUMN nazwa_kolumny typ_danych; UWAGA! Wraz z usunięciem kolumny zostaną usunięte wszystkie dane zapisane w kolumnie. Przykład użycia ALTER TABLE - ALTER COLUMN: ALTER TABLE ALTER COLUMN pozwala na modyfikację typu danych w danej kolumnie. Czasami na przykład wymagane jest zwiększenie dopuszczalnej ilości znaków w polu typu VARCHAR(). W tej sytuacji ALTER TABLE ALTER COLUMN okaże się pomocne. ALTER TABLE nazwa_tabeli ALTER COLUMN nazwa_kolumny typ_danych;

Usuwanie tabel Tabele usuwa się za pomocą instrukcji DROP TABLE o schematycznej postaci: DROP TABLE nazwa1, nazwa2,, nazwan Przykładowo usunięcie tabeli o nazwie Klient wykonamy, wydając polecenie: DROP TABLE Klient Natomiast równoczesne usunięcie dwóch tabel o nazwach Klient i Zamowienia uzyskamy, stosując konstrukcję: DROP TABLE Klient, Zamowienia Typy danych w kolumnach Każda kolumna tabeli w bazie danych ma przypisany typ, który określa rodzaj danych. Występujące w SQL typy danych można podzielić na cztery główne rodzaje: LICZBY CAŁKOWITE LICZBY ZMIENNOPRZECINKOWE DATA I CZAS TEKST LICZBY CAŁKOWITE TYP ZAKRES WARTOŚCI tinyint(m) (lub bit, bool, boolean) tinyint unsigned(m) (lub bit unsigned, bool unsigned, boolean unsigned) -128 do 127 0 do 255 smallint(m) -32768 do 32767 smallint unsigned(m) 0 do 65535 mediumint(m) -8388608 do 8288607 mediumint unsigned(m) 0 do 16777215

int(m) (lub integer) int unsigned(m) (lub integer unsigned) bigint(m) -2147483648 do 2147483648 0 do 4294967295-9223372036854775808 do 9223372036854775807 bigint unsigned(m) 0 do 18446744073709551615 LICZBY ZMIENNOPRZECINKOWE TYP ZAKRES WARTOŚCI float (M oraz D) double (M oraz D) real (M oraz D) decimal (M oraz D) -3.402823466E+38 do 1.175494351E-38-1.7976931348623157E+308 do 2.2250738585072014E-308 jak wyżej, czyli: -1.7976931348623157E+308 do 2.2250738585072014E-308 Liczba zmiennoprzecinkowa zapisana w postaci łańcucha znaków o zakresie jak double/real DATA I CZAS TYP ZAKRES WARTOŚCI date przykładowy wygląd: 2004-12-31 datetime przykładowy wygląd: 2004-12-31 23:59:59 timestamp(m) time year(2) data i godzina zapisana w formacie: RRRRMMDDGGMMSS ilość godzin (minut/sekund) zapisana w formacie: od -838:59:59 do 838:59:59 Rok zapisany za pomocą dwóch cyfr

year(4) Rok zapisany za pomocą czterech cyfr TEKST TYP ZAKRES WARTOŚCI char char(m) tylko w typie char (oraz varchar) można narzucić kodowanie Patrz na dodatkowe wyjaśnienie pod tabelką varchar(m) tinyblob lub tinytext blob lub text mediumblob lub mediumtext longblob lub longtext enum(wartosc1, wartosc2, wartosc3...) set(wartosc1, wartosc2...) Jeden pojedyńczy znak jak char(1) Ciąg znaków o wartości wpisanej jako M - od 0 do 255 znaków Uwaga: można narzucić kodowanie wpisując: binary lub ascii lub unicode Praktycznie wygląd parametru może być np. taki: char(27) unicode Czym się różni char od varchar wyjaśniłem pod tabelką Ciągi znaków o długości max. 255 znaków Ciągi znaków o długości do 65538 znaków (64KB) Ciągi znaków o długości do 16777215 znaków Ciągi znaków o długości do 4294967295 znaków Pole tekstowe, które może mieć długość znaków zgodną z jedną z kilku wartości. W jednej takiej wartości może być maksymalnie65535 liter-cyfr-spacji Pole tekstowe, które może przyjąć zero lub kilka wartości (zgodnych z listą). W jednej takiej wartości może być maksymalnie 64 liter-cyfr-spacji

Wprowadzanie danych Utworzone tabele trzeba w jakiś sposób wypełnić danymi. Służy do tego występująca w kilku wersjach instrukcja INSERT INTO. Typowe jej wywołanie ma postać: INSERT INTO tabela[(kolumna1, kolumna2,. kolumnan) VALUES (wartość1, wartość2,. wartość) Powoduje ona wprowadzenie do tabeli nowego wiersza, w którym w polu kolumna1 zostala zapisana wartość2, w polu kolumna2 wartość 2 itd. Załóżmy, że w bazie istnieje tabela Klienci utworzona za pomocą instrukcji: CREATE TABLE Klienci( KlientID INTEGER PRIMARY KEY, Imie VARCHAR (25), Nazwisko VARCHAR (25), Adres VARCHAR (60) ); I chcielibyśmy zapisać w niej nowy wiersz z danymi. Należałoby zastosować instrukcje postaci: INSERT INTO Klienci (KlientId, Imie, Nazwisko, Adres) VALUES (1, Jan, Kowalski, Klonowa 24, Poznań ); Pobieranie danych Dane zapisane w tabelach bazy można pobierać za pomocą instrukcji SELECT, która schematycznie wygląda następująco: SELECT kolumna1, kolumna2,, kolumnan FROM tabela [WHERE warunek] [ORDER BY kolumna1, kolumna2,, kolumnan [ASC DEC]] Oznacza ona: pobierz wartości wymienionych kolumn z tabeli tabela spełniających warunek, a wyniki posortuj względem kolumn wymienionych w klauzuli ORDR BY rosnąco (ASC) lub malejąco (DEC).

Aby zobaczyć, jak w praktyce działają proste zapytania typu SELECT, utworzymy tabelę przechowującą dane o osobach: imię, nazwisko oraz rok i miejsce urodzenia. CREATE TABLE osoba ( Id INTEGER PRIMARY KEY, Imie VARCHAR(25), Nazwisko VARCHAR(35) Rok_urodzenia YEAR, Miejsce_urodzenia VARCHAR(35) ); Za pomocą serii instrukcji INSERT wprowadzimy teraz do tak utworzonej tabeli przykładowe dane, w sumie 10 wierszy. Pobieranie wszystkich wierszy tabeli Najprostsza instrukcja SELECT pozwoli na pobranie wszystkich wierszy zawartych w tabeli. Będzie ona miała postać: SELECT * FROM osoba

Sortowanie wyników Gdybyśmy chcieli, aby wyniki zostały posortowane, należałoby użyć dodatkowej klauzuli ORDER BY. SELECT * FROM osoba ORDER BY Nazwisko Pobieranie zawartości wybranych kolumn Jeżeli chcemy wyświetlić zawartość jedynie niektórych kolumn z wybranej tabeli ich nazwy należy umieścić za słowem SELECT, oddzielając je przecinkiem. Selektywne pobieranie danych Pobieranie całej zawartości tabeli stosuje się rzadko. W praktyce najczęściej interesuje nas pewien podzbiór danych. Otrzymanie określonego zestawu wierszy zapewni nam klauzula WHERE instrukcji SELECT. Należy za nią umieścić warunek, jaki muszą spełniać wiersze, aby znalazły się w wynikach zapytania. Warunek w klauzuli może zawierać operatory: =, <>, <, >,<= IS NULL Zwraca wartość true, jeśli argument znajdujący się z lewej strony jest różny od NULL. BETWEEN N AND M -zwraca wartość true, jeśli argument znajdujący się z lewej strony ma wartość z przedziału od N do M

IN zwraca wartość true, jeśli argument znajdujący się z lewej strony jest równy jednej z wartości wymienionych w nawiasie okrągłym za operatorem. AND, OR, XOR, NOT. Oprócz wymienionych powyżej operatorów często wykorzystywana jest funkcja operująca na ciągach znaków LIKE. Jej wywołanie ma postać: wyrażenie LIKE wzorzec Zwraca ona true, jeśli wyrażenie pasuje do wzorca. Jako wyrażenie zazwyczaj jest stosowana nazwa kolumny. Argument wzorzec może zawierać dwa znaki specjalne. Pierwszy z nich to %, który zastępuje dowolną liczbę znaków, drugi znak specjalny zastępujący dokładnie jeden znak _ (podkreślenie). Spróbujmy wykonać kilka praktycznych przykładów: Pobierzmy wszystkie wiersze tabeli osoba, które w polu nazwisko mają zapisaną wartość Kowalski Lista osób urodzonych po roku 1985 Lista osób o identyfikatorach z przedziału 3-6 Dane wszystkich osób, których imiona zaczynają się od ciągu Ka

Dane osób, których imiona zaczynają się na literę A, urodzonych po roku 1970 w Kielcach lub w Szczecinie Modyfikacja danych Dane zapisane w tabelach mogą być zmieniane i modyfikowane. Służy do tego instrukcja UPDATE, która ma ogólną postać: UPDATE tabela SET kolumna1=wartość1, kolumna2=wartość2,, kolumnan=wartość [WHERE warunek] Oznacza ona : w tabeli tabela, w wierszach spełniających warunek warunek, zmień pole kolumna1 na wartość1 itd. Np.: UPDATE osoba SET Rok_urodzenia=1988 WHERE id=5; Usuwanie danych Do usuwania wierszy z tabel służy instrukcja DELETE o schematycznej postaci: DELETE FROM tabela WHERE warunek Oznacza ona: usuń z tabeli tabela wszystkie wiersze spełniające warunek.