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



Podobne dokumenty
Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

Język SQL, zajęcia nr 1

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

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

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

Projektowanie systemów baz danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Bazy danych 7. SQL podstawy

Wykład 5. SQL praca z tabelami 2

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

Autor: Joanna Karwowska

SIECI KOMPUTEROWE I BAZY DANYCH

Wykład 05 Bazy danych

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Wykład 4. SQL praca z tabelami 1

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Bazy danych. Polecenia SQL

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

Instalacja MySQL.

Bazy danych i usługi sieciowe

Bazy Danych i Usługi Sieciowe

Bazy danych 5. Samozłaczenie SQL podstawy

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

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

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

Dr Michał Tanaś(

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

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

Relacyjne bazy danych. Podstawy SQL

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

Bazy danych - wykład wstępny

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

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

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

Podyplomowe Studium Programowania i Baz Danych

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

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

Bazy danych. dr inż. Arkadiusz Mirakowski

Podyplomowe Studium Programowania i Baz Danych

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

Relacyjne bazy danych. Podstawy SQL

Wprowadzenie do baz danych

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

Widok Connections po utworzeniu połączenia. Obszar roboczy

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

MySQL. Darmowa baza danych. Æwiczenia praktyczne

Podstawy technologii WWW

Wykład 8. SQL praca z tabelami 5

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

Bazy danych - Materiały do laboratoriów VIII

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

Dokumentacja SQL API 1

Wykład 6. SQL praca z tabelami 3

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

CREATE USER

Przestrzenne bazy danych Podstawy języka SQL

Wprowadzenie do JDBC z wykorzystaniem bazy H2

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

Wykład 2. SQL 1 Structured Query Lenguage

Bazy danych. Dr inż. Paweł Kasprowski

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

Autor: Joanna Karwowska

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

Instrukcja CREATE TABLE

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

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Kurs. Podstawy MySQL

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

Administracja bazami danych

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

Ćwiczenie zapytań języka bazy danych PostgreSQL

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

2 Przygotował: mgr inż. Maciej Lasota

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

Język baz danych SQL cz.1

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

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

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

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;

Laboratorium nr 1. Temat: Wprowadzenie do MySQL-a

Bazy danych. dr Radosław Matusik. radmat

2017/2018 WGGiOS AGH. LibreOffice Base

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

Baza danych do przechowywania użytkowników

2. Podstawy języka SQL

SIECI KOMPUTEROWE I BAZY DANYCH

Oracle PL/SQL. Paweł Rajba.

Politechnika Częstochowska. Projektowanie systemów użytkowych II

Podstawowe zapytania SELECT (na jednej tabeli)

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

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Indeksowanie w bazach danych

Bloki anonimowe w PL/SQL

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

Transkrypt:

MYSQL 1

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

2. Wstępna konfiguracja Po zainstalowaniu aplikacji należy przed uruchomieniem wykonać wstępna konfigurację: 2.1. W pliku my.ini ( w tej dystrybucji plik ten jest zlokalizowany w katalogu bin) [mysqld] port= 3306 basedir="c:/serwer/mysql" datadir="c:/serwer/mysql/data language=c:/mysql/share/polish # podstawowe ustawienia bazy # port # dostęp do aplikacji # katalog z danymi # język pod warunkiem, że istnieje taki Zrestartować serwer, najlepiej Apache i MySQL 3

3. Logowanie się do serwera C:\ścieżka.\>mysql -h nazwa_komputera u nazwa_uzytkownika -p Opcji -h używa się w celu wskazania komputera, do którego ma nastąpić połączenie (z serwerem MySQ). Jeśli polecenie to ma być wykonane na tym samym komputerze, na którym znajduje się MySQL, to parametr -h z nazwą może być pominięty. Opcja u nazwa stosuje się w celu wskazania identyfikatora użytkownika, na którego następuje logowanie. Jeśli identyfikator ten nie zostanie podany, wówczas MySQL domyślnie użyje identyfikatora tego użytkownika, który jest aktualnie zalogowany do systemu 4

Przy pierwszym uruchomieniu serwera użytkownik root jest jedynym zarejestrowanym użytkownikiem. Opcja -p informuje serwer o logowaniu się z użyciem hasła. Może ona zostać pominięta, jeśli dla danego użytkownika hasło nie zostało ustanowione. Po zalogowaniu się do serwera kursor powinien znajdować się przy znaku zachęty, umożliwiając stworzenie nowej bazy danych. mysql> _ mysql> \h; help inne : \c; clear \q; exit \u; use onother database Każda komenda jest zakończona średnikiem 5

Opuszczenie średnika spowoduje brak reakcji ze strony serwera. Opuszczenie średnika wywoła przejście do nowe linii zasygnalizowane strzałką -> Oznacza, że MySQL czeka na wprowadzenie dalszej części polecenia. 6

4. Tworzenie bazy odwzorowanie do katalogu Baza to zespół pół służących do zapisania poszczególnych rekordów. W skład bazy wchodzą tabele posiadające zdefiniowane pola Kompletny wpis w tabeli to rekord. Przykład: baza o nazwie dane_adresowe z tabelą o nazwie studenci studenci ID Imię Nazwisko Data urodzenia Adres Telefon 1 2 Stanisław Jan. Wszelak Zaręba 2011-02-28 1999-12-12 ul. Cicha 11 Zawady 13 22 123456 600663426 7

Tworzenie bazy i zapis poszczególnych rekordów prowadzimy: - za pośrednictwem pliku (*.sql), zostanie przekompilowany przez bazę danych, - za pomocą skryptu php, - za pomocą wiersza poleceń - bardzo prosta metoda - Za pomocą kreatora 4.1 Za pomocą wiersza poleceń mysql>create database nazwa_bazy; Utworzy się katalog w miejscu wskazanym dyrektywą w pliku my.ini Jeśli w pliku my.ini występuje zapis datadir="c:/serwer/mysql/data # katalog z danymi Utworzy się katalog UKSW1 8

4.2. Za pomocą pliku nazwa_pliku.sql Otwieramy edytor, nie polecam notatnika, może być HATEML (taki był testowany), zapisujemy kod po czym nazwę pliku z rozszerzeniem sql -- Tworzenie bazy o nazwie uksw2 na przykładzie wersji 5.5.8 CREATE DATABASE uksw2 COLLATE utf8mb4_polish_ci; USE uksw2; -- w starszych aplikacjach CREATE DATABASE uksw2; CONNECT uksw2; 9

5. Tabele odwzorowanie do pliku Relacje baz oparte są na tabelach, które maja zdefiniowane kolumny, zwane polami lub atrybutami, każdej kolumnie (polu) przypisany jest typ danych studenci ID Imię Nazwisko Data urodzenia Adres Telefon 1 2 3 Stanisław Jan Zofia Wszelak Zaręba Zaręba 2011-02-28 1999-12-12 1999-12-12 ul. Cicha 11 Zawady 13 Zawady 13 600663426 22 600 2323 22 6002323 Wiersze to rekordy, pola są wspólne dla wszystkich rekordów. Każdy rekord posiada sposób jednoznacznej identyfikacji. Identyfikację prowadzi się za pomocą indywidualnego unikalnego pola ID (podobnie jak nr konta bankowego) Pole identyfikujące poszczególne rekordy jest kluczem lub kluczem podstawowym 10

Baza może składać się z wielu tabel z odwołaniami poprzez klucze W tabeli studenci pole ID_us jest kluczem podstawowym, natomiast to pole (ID_us) w tabeli oceny jest kluczem obcym studenci ID_us imie nazwisko data_urodzenia adres telefon 1 2 3 Stanisław Jan Zofia Wszelak Zaręba Zaręba 2011-02-28 1999-12-12 1999-12-12 ul. Cicha 11 Zawady 13 Zawady 13 600663426 22 600 2323 22 6002323 oceny ID_ocen ID_us ocena przedmiot prowadzący 1 2 3 3 1 2 5.0 3.5 2.0 J. angielski j. angielski matematyka Kołodziej Barszcz Głowacki Zbiór projektów wszystkich tabel w bazie nazywa się schematem bazy 11

5.1. Schematy tabel Forma schematów: -diagramy encji i relacji tabelarycznej, tak jak na poprzednim slajdzie, -diagramy tekstowe: studenci(id_us, imie, nazwisko, data_urodzenia, adres, telefon) oceny(id_ocen, ID_us, ocena, przedmiot, prowadzacy) podkreślenie ciągłe to klucze podstawowe w tabeli podkreślenie przerywana to klucze obce w tabeli Klucze obce pokazują relacje pomiędzy danymi pochodzącymi z różnych źródeł Relacje mogą być : jeden - jeden, jeden wiele (jeden klient składa wiele zamówień), wiele wiele 12

5.2. Dobieranie kluczy Wybrane klucze muszą gwarantować unikalność rekordów. Jeśli bazy, tabele nie maja rzeczywistego identyfikatora (PESEL, NIP, ISBN) to wprowadza się pole identyfikacji z kluczem. Zbędne jest definiowanie klucza dla książek czy kont bankowych, same w sobie mogą stanowić klucze. 5.3. Zasada unikania pustych pól Null Załóżmy, że nasza przykładowa baza (tabela) studenci wymaga zaktualizowania o dodatkowe pole o nazwie adres_email. Jeden ze sposobów to dołożenie dodatkowej kolumny, która jak wiemy może mieć wartość null nie wszyscy mają adres e-mail. Puste pola marnują pamięć co jest niewskazane. Puste pola w raportach wprowadzają niepokój. Dobrym rozwiązaniem jest dołożenie dodatkowej tabeli adresmail(id_email, email). Tym bardziej, że jeden student może mieć więcej adresów e-mal owych 13

5. 4. Tworzenie tabel z wiersza poleceń Otwarcie bazy mysql>use nazwa_bazy Konstrukcja tabeli: mysql>create table nazwa( nazwa_kolumny1 typ atrybuty, nazwa_kolumny2 typ atrybuty ); Metoda ta jest bardzo niewygodna ale przydatna do wstępnego testowania środowiska 14

5. 5. Tworzenie bazy i tabel za pomocą pliku CREATE DATABASE uksw1; USE uksw1; CREATE TABLE student( id_us int not null auto_increment primary key, imie char(25) not null, nazwisko char(30) NOT NULL, data_urodzenia date NOT NULL DEFAULT '0000-00-00', adres char(50) NOT NULL, telefon int(14) NOT NULL ); CREATE TABLE IF NOT EXISTS oceny( id_ocen int(11) NOT NULL, id_us int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, ocena float, przedmiot char(15) NOT NULL, prowadzacy char(25) NOT NULL ); Zapisujemy plik w dowolnym miejscu z rozszerzeniem *.sql, po kompilacji *.frm 15

5. 6. Podgląd zawartości bazy 1. Zalogowanie do serwera:..>mysql u root p Enter password: ********** 2. Wybranie bazy: mysql> use nazwa_bazy; Database changed 3. Przeglądanie poleceniem show: mysql>show nazwa-bazy; Serwer wyświetli listę wszystkich tabel wybranej bazy danych 16

5. 7. Podgląd zawartości i struktury tabel Szczegółowe informacje na temat wybranej tabeli są dostępne po użyciu polecenia: mysql>describe nazwa_tabeli; 17

6. Podstawowe typy pól 6.1. Liczbowe Typy liczbowe Typy daty i czasu Typy łańcuchowe Dla niektórych typów - liczbowych podaje się szerokość wyświetlania. W przypadku liczb całkowitych takim specyfikatorem jest liczba M, zapisywana w nawiasach kwadratowych [M]. Największa dopuszczalna wartość tego parametru wynosi 255 (1 bajt) Całkowitoliczbowe Typ Zakres Wykorzystana pamięć Opis INT[(M)] -2 31 2 31-1 4 bajty L. całk. TINYINT[(M)] -127 128 1 bajt L. Całk BIGINT[(M)] -2 63 2 63-1 8 bajtów L. całk BOOL, BIT Tak samo jak dla INT Jeśli dołożymy parametr Unsigned zakresy się zmienią 18

W przypadku liczb zmiennoprzecinkowych float, double, real cechujemy [(M,D)] np. flat(6,2). D cyfry znaczące po przecinku FLOAT[(M,D)] 4 bajty DOUBLE[(M,D)] 8 bajtów REAL[(M,d)] 8 bajtów 6.2. Typ daty i czasu Typ Date TIME DATATIME TIMESTAMP Zakres 1000-01-01 do 9999-12-31-838:59:59 do 838:59:59 1000-01-01 00:00:00 do 9999-12-31 23:59:59 1970-01-01 do 2037 Opis YYYY-MM-DD HH:MM:SS YYYY-MM-SS HH:MM:SS YYYYMMDDHHMMSS TIMESTAMP TMESTAMP(14) TIMESTAMP(6) YYMMDD 19

6.3. Typy łańcuchowe Klasyczne (zwykłe) o stałej długości CHAR i zmiennej długości VARCHAR TEXT i BLOB do dłuższych tekstów oraz do danych binarnych (obrazy, dźwięki) Różnica polega na tym, że TEXT nie rozróżnia wielkości liter, BLOB rozróżnia wielkość TEXT, BLOB maksymalna długość 2 bajty (2 16-1) znaków 20

7. Zapisywanie danych do bazy Zapisywanie danych to edycja wierszy, służy do tego polecenie INSERT INSERT INTO nazwa_tabeli(kolumna1, kolumna2, kolumna3 ) VALUES (wartość1, wartość2, wartość3 ); Weźmy przykład: Zofia Zaręba, 1999-12-12, Zawady 13, 600663426 INSERT INTO student(id_us, imie, nazwisko, data_urodzenia, adres, telefon) VALUES (NULL, Zofia, Zaręba, 1999-12-12, 600663426); 21

Metoda inna: INSERT INTO student set imie= Stanisław, nazwisko= Wszelak, data_urodzenia =2011-02-28, adres= Cicha 13, telefon=2212345; 22

Zapisywanie danych można realizować poprzez skrypt plik *.sql oceny ID_ocen ID_us ocena przedmiot prowadzący 1 2 3 3 1 2 5.0 3.5 2.0 J. angielski j. angielski matematyka Kołodziej Barszcz Głowacki Zapiszmy bazę w pliku: Use uksw1; Insert into oceny values(null, 3, 5.0, j. angielski, Kolodziej ), (null, 1, 3.5, j. angielski, Barszcz ), (null, 2, 2.0, matematyka, Glowacki ); 23

8. Wyszukiwanie danych w bazie Polecenie SELECT SELECT pozycje (pola) From nazwa_tabeli Into nazwa_pliku; Dla przykładu: select imie, nazwisko, data_urodzenia, adres, telefon from student; Można wymusić wyszukiwanie w sposób wieloznaczny: select * from student; 24

8.1. Wyszukiwanie danych spełniających kryteria Do tego celu wykorzystuje się klauzulę WHERE Np. chcemy tylko wyszukać wszystkie pola (wiersze), w których Id_us ma wartość równą 2 select * from student where Id_us=2; Lub większą ilość kryteriów wyszukiwania: select * from student where Id_us=2 or Id_us=1; Proszę zauważyć, że operator równości (=) różni się od operatora w C, C++, PHP W klauzuli WHERE stosuje się następujące operatory porównania: 25

Tabela operatorów porównania Operator Przykład Opis = >, >=, <, <=!= IS NULL IS NOT NULL BETWEEN IN NOT IN Id_us=2 ocena>=3.5 ocena!=2.0 telefon is null adres is not null ocena between 3.5 and 5.0 nazwisko in ( Wszelak, Kot ) prowadzacy is not ( Walas ) Sprawdza, czy dwie wartości są sobie równe Sprawdza dwie wartości w zależności od znaku Sprawdza, czy wartości różnią się od siebie Sprawdza, czy pole jest puste Sprawdza, czy pole nie jest puste Sprawdza czy wartość znajduje się w przedziale Sprawdza, czy wartości należą do zbioru wartości Sprawdza, czy wartości nie należą do zbioru wartości 26

9. Łączenie tabel Przykład łączenia: student ( nazwisko)+oceny( ocena, przedmiot ) student ID_us imie nazwisko data_urodzenia adres telefon 1 2 3 Stanisław Jan Zofia Wszelak Zaręba Zaręba 2011-02-28 1999-12-12 1999-12-12 ul. Cicha 11 Zawady 13 Zawady 13 600663426 22 600 2323 22 6002323 oceny ID_ocen ID_us ocena przedmiot prowadzący 1 2 3 3 1 2 5.0 3.5 2.0 J. angielski j. angielski matematyka Kołodziej Barszcz Głowacki 27

SELECT pole_1, pole2, pole3, FROM tabela1, tabela2,.. WHERE tabela.pole=wartosc; 28

9. Porządkowanie danych w tabeli SELECT pole1, pole2 FROM nazwa_tabeli ORDER BY wybrane pole; Domyślnie sortuje rosnąco (asc). Aby sortować odwrotnie należy dodać desc Przykład: uporządkujmy od Z do A nazwiska w tabeli student SELECT nazwisko, adres FROM student ORDER BY nazwisko DESC; 29

10. Dokonywanie zmian rekordów w bazie UPDATE nazwa_tabeli SET kolumna1=wyrażenie1, kolumna2=wyrażenie2.; 30

Jeżeli chcemy zmienić konkretny zapis w rekordzie, np. zmienić adres to zapiszemy: UPDATE nazwa_tabeli SET kolumna1=wyrażenie1 where kolumna2=wyrażenie2; 31

11. Usuwanie rekordów z bazy DELETE FROM nazwa_tabeli; - usunięcie całej tabeli DELETE FROM nazwa_tabeli WHERE kolumna=wartosc; - usunięcie wiersza delete from student where ID_us=1; 12. Usuwanie tabel DROP TABLE nazwa_tabeli; 13. Usuwanie całej bazy DROP DATABASE nazwa_bazy; 32