Podatkovne baze – izdelava baze s tabelo
CREATE DATABASE `mojaBaza` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `mojaBaza`;
CREATE TABLE IF NOT EXISTS `Oseba` (
`OsebaID` int(11) NOT NULL auto_increment,
`Ime` varchar(255) NOT NULL,
`Priimek` varchar(255) NOT NULL,
PRIMARY KEY (`OsebaID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Podatkovne baze – primer vzpostavitve povezave
<?php
$con = mysql_connect('localhost','uporabnik','geslo');
if(!$con)
exit('Povezava ni uspela!');
else {
//delo z bazo
}
mysql_close($con);
?>
Podatkovne baze – primer pisanja
<?php
//izberemo podatkovno bazo
mysql_select_db('mojaBaza',$con);
//pripravim poizvedbo (vstavljanje zapisa)
$sql = 'INSERT INTO Oseba (Ime,Priimek) '
."VALUES('Janez','Novak')";
//izvedem poizvedbo
mysql_query($sql);
?>
Podatkovne baze – primer branja
<?php
//izberem podatkovno bazo
mysql_select_db('mojaBaza',$con);
//izvedem poizvedbo
$rez = mysql_query('SELECT * FROM Oseba');
//obdelam prebrane podatke
while($vrstica = mysql_fetch_array($rez)) {
echo "Uporabnik {$vrstica['Ime']} {$vrstica['Priimek']}"
.' ima ID ' . $vrstica['OsebaID'];
}
?>
Uporabnik Janez Novak ima ID 1
Podatkovne baze – shranjene procedure
Podatkovne baze – primer shranjene procedure
CREATE PROCEDURE `Oseba_VrniVse`()
BEGIN
SELECT * FROM Oseba;
END;
Podatkovne baze – primer vzpostavitve povezave
<?php
$con = mysqli_connect('localhost','uporabnik'
,'geslo','mojaBaza');
if(!$con)
exit('Povezava ni uspela!');
else {
//delo z bazo
}
mysqli_close($con);
?>
Podatkovne baze – primer klica shranjene procedure
<?php
//povezava je že vzpostavljena, izvedemo poizvedbo
$rez = mysqli_query($con,'CALL Oseba_VrniVse();');
//obdelam prebrane podatke
while($vrstica = mysqli_fetch_array($rez)) {
echo "Uporabnik {$vrstica['Ime']} {$vrstica['Priimek']}"
.' ima ID ' . $vrstica['OsebaID'];
}
?>
Podatkovne baze – primer shranjene procedure 2
CREATE PROCEDURE `Oseba_Shrani`(IN pOsebaID INT,IN pIme VARCHAR(50), IN pPriimek VARCHAR(50))
BEGIN
IF pOsebaID > 0 THEN
UPDATE Oseba
SET Ime = pIme, Priimek = pPriimek
WHERE Oseba = pOseba;
ELSE
INSERT Oseba (Ime,Priimek)
VALUES (pIme,pPriimek);
END IF;
END;
Podatkovne baze – primer klica shranjene procedure 2
<?php
//povezava je že vzpostavljena
//shranimo novo osebo
mysql_query("CALL Oseba_Shrani(0,'Ivan','Horvat');");
//popravimo podatke (npr. da oseba z ID 2 že obstaja)
mysql_query("CALL Oseba_Shrani(2,'Ivan','Horvat');");
?>
Podatkovne baze, entitetno-relacijski (ER) model
Podatkovne baze - ER tabela
USE `mojaBaza`;
CREATE TABLE IF NOT EXISTS `OS` (
`id` int(11) NOT NULL auto_increment,
`id_osebe` int(11) NOT NULL,
`sistem` varchar(255) NOT NULL,
`verzija` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
Podatkovne baze, pisanje ER – primer
<?php
//izberem podatkovno bazo mysql_select_db('mojaBaza',$con);
//pripravim poizvedbo
$sql = 'INSERT INTO OS (id_osebe,ime,verzija) ' . "VALUES(3, 'OS X','10.5 Leopard')";
mysql_query($sql);
?>
Podatkovne baze, branje ER – primer
<?php
//izvedem poizvedbo
$rez = mysql_query('SELECT (osebe.ime) AS ime, (osebe.priimek) AS priimek, (OS.sistem) AS sistem, (OS.verzija) AS verzija FROM osebe JOIN OS ON osebe.id=OS.id_osebe');
//obdelam prebrane podatke
while($vrstica = mysql_fetch_array($rez)){
echo $vrstica['ime'] . ' ' . $vrstica['priimek'] . ' uporablja: ' . $vrstica['sistem'] . ' ' . $vrstica['verzija'] . '<br />';
}
mysql_close($con);
?>