background image

Podstawowe operacje na bazach danych na przykładzie Mysql 

 

Aby móc korzystad z systemu Mysql trzeba znad swój id oraz hasło. Nazwa bazy jest taka sama jak id. 
We wszystkich podanych niżej przykładach nazwa bazy została oznaczona identyfikatorem nbazy 
i wszędzie tam, gdzie ona występuje należy ją zastąpid nazwą swojej bazy.  
 

I. 

Logowanie do systemu Mysql:    

 

mysql --user=id  --password=haslo 

 

II.  Wyświetlenie zawartości konta:  

show databases; 

 
Konto użytkownika zawiera dwie bazy, jedna z nich zawiera dane systemowe a druga jest właściwą bazą, 
na której można eksperymentowad . 
Uwaga! Należy zawsze pamiętad o średniku na koocu polecenia! 

 

III.  Wybór bazy, z którą będziemy pracowad: 

use nbazy; 

 
Komentarz: to polecenie pozwala powiązad wszystkie dalsze działania ze wskazaną bazą danych. 

Alternatywą jest każdorazowe wskazywanie z jakiej bazy pochodzi tabela, na której chcemy wykonywad 
operacje np.  create table nbazy.testowa – nazwa bazy i nazwa tabeli zostały połączone kropką. 

 

IV.  Wyświetlenie zawartości bazy: 

show tables; 

 

V.  Definiowanie struktury tabeli: 

create table testowa ( 
->id  int not null auto_increment, 
 

imie varchar(20), default ‘podaj imię’, 

 

nazwisko varchar(40), default ‘podaj nazwisko’, 

 

pesel int, 

 

primary key(id)); 

 

Komentarz: W tabeli testowa zostały utworzone cztery pola, dwa z nich (id oraz pesel) są typu całkowitego, 
dwa pozostałe to pola znakowe o długości odpowiednio 20 i 40 znaków. Pole id nie może mied wartości 
pustej (not null) i ma cechę auto increment co oznacza, że jego wartośd jest automatycznie zwiększana o 
jeden przy dodaniu nowego rekordu (wiersza) do tabeli. Pole id zostało wybrane jako klucz główny (primary 
key) wykorzystywany podczas przeszukiwania zawartości tabeli. Pola imie oraz nazwisko mają ustaloną 
wartośd defaultową, która będzie wykorzystywana gdy nie podano wartości tych pól. 

 

VI.  Wyświetlenie struktury utworzonej tabeli: 

describe testowa; 

 

VII.  Modyfikowanie struktury tabeli: 

 

1.  dodanie nowego pola – w tym wypadku dodajemy pole adres po polu nazwisko: 

alter table testowa add adres varchar(40) after nazwisko; 

 
2.  dodanie nowego pola na koocu wiersza: 

alter table testowa add rok-st; 

background image

 
3.  dodanie pola na pierwszej pozycji:  

alter table testowa add płeć char(1) first; 

 
4.   usunięcie pola (i odpowiadającej mu kolumny danych) z tabeli: 

alter table testowa drop column pesel;   

 

5.   zmiana nazwy istniejącego pola: 

alter table testowa change pesel nr-pesel int; 

 

Nazwa pola pesel została zmieniona na nr-pesel. Uwaga – przy tej zmianie trzeba od nowa podad typ pola! 

 
6.   modyfikacja pola – np. zmiana długości pola znakowego (lub ogólniej zmiana typu): 

alter table testowa modify nazwisko varchar(50);  

Pole nazwisko może teraz mied długośd 50 znaków (a nie jak poprzednio 40)

  

 
7.   zmiana nazwy tabeli 

alter table testowa rename nowa; 

 
8.   usunięcie całej tabeli 

drop table testowa; 

Komentarz- za pomocą znanego już polecenia 

show tables;

 można sprawdzid jakie tabele znajdują się 

aktualnie w bazie (a więc czy podana tabela została rzeczywiście usunięta) 

 

VIII.  Modyfikowanie zawartości tabeli 

   

1.  wypisanie zawartości tabeli: 

select * from testowa; 

- wypisanie całej zawartości tabeli

 

select  id, imie, nazwisko from testowa; 

- wypisanie wartości wskazanych pól (trzech 

kolumn) 

select imie, nazwisko from testowa where id=44

- wypisanie imienia i nazwiska 

umieszczonych w elemencie o id=44 

 

2.  dodanie nowego rekordu do tabeli: 

insert into testowa values (0,’Jan’, ‘Kowalski’, 87022398765); 

Komentarz: wartośd 0 w polu id oznacza, że zawartośd tego pola zostanie powiększona o 1 w stosunku do 

poprzedniej. Uwaga: warto poeksperymentowad z innymi wartościami i sprawdzid jak numerowane są 
wówczas rekordy w bazie 

 

3.  wpisanie wartości tylko dla wybranych pól: 

insert into testowa (imie, nazwisko) values (‘Andrzej’, ‘Nowak’); 

 

4.  usunięcie rekordu (wiersza) z tabeli: 

delete from testowa where id=85; 

- usunięcie rekordu o numerze id 85 

 

background image

5.  zmiana zawartości rekordu (wybranego pola we wskazanym rekordzie): 

update testowa set nazwisko="Karczek", pesel=12345678912 where id=2; 

wpisanie nowej wartości pola nazwisko oraz pesel dla rekordu nr 2 

 
 
Typy danych w Mysql: 
 
char(n) – przechowuje łaocuchy znaków o zadanej (stałej) długości n; 
varchar(n)  - przechowuje łaocuchy znaków o długości max. n; 
int – zawartośd pola jest liczbą całkowitą  z przedziału  <– 2147483648, 2147483647> 
lub int unsigned – wtedy pole może przyjmowad wartości od 0 do 429467295 
date – pole daty zapisanej w formacie: rrrr-mm-dd 
blob – pole tekstowe wielowierszowe (np. opis)