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;
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
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)