IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

$ dpkg -L mysql-client-5.1 | grep bin

Ordre mysql

Podem utilitzar el client per tal de connectar-nos a la base de dades:

$ sudo mysql -p

o

$ mysql -u root -p

On:

  • -u: Indica amb quin usuari ens volem connectar a la base de dades.
  • -p: indica que volem que ens preguntin la paraula de pas (amb -P podeu indicar la paraula de pas directament, però no és ni recomanable ni segur).

Podem començar a utilitzar SQL des de la línia d'ordres que ens proporciona el client MySQL.

Hem d'acabar les ordres amb un ";":

Amb aquesta comanda podem veure

mysql> SHOW DATABASES;
mysql> USE mysql;
mysql> SHOW TABLES;

Si fem: mysql> SHOW i tabulem per a poder veure totes les opcions que tenim al estar usant una base de dades.

 mysql> SELECT * FROM user;
mysql> SELECT user.User,user.Password,user.Host FROM user;


Usuari root i debian-sys-maint.


Control d'accés

Crear un usuari amb tots els permisos:

mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;


Crear un usuaris amb tots els permisos a una base de dades:

mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON database_name.* TO 'user'@'%' WITH GRANT OPTION;


Ordre mysqldump

$ mysqldump -u root -p mysql > copiamysql.sql


Programació PHP

Malament:

<?php

echo "<html>";
echo "<body>";
echo "<h1>Hola mon à</h1>";
echo "</body>";
echo "</html>";

?>

Correcte:

<?php

$USUARI="Pepito";
 
echo <<<EOF

<html>
 <head>
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
 <META HTTP-EQUIV="ATRIBUT" CONTENT="VALOR">
 </head>
 <body>
  <h1>Hola mon à $USUARI!</h1>
 </body>
</html> 
EOF
 
?>

Bases de dades mestres

mysql

Exercicis MySQL

#!/usr/bin/php5
<?php
//Turn off all error reporting
//error_reporting(0);

$HOST="localhost";
$USER="root";
$PASSWD="";

require_once("/etc/mysqlpasswords.inc");

$connexio = mysql_connect($HOST, $USER, $PASSWD);

if (!$connexio) {
    die('No es pot connectar: ' . mysql_error());
}
echo "\nConnected successfully\n\n";

// Utilitzar o seleccionar una base de dades
$db_selected = mysql_select_db('webfaltes', $connexio);
if (!$db_selected) {
    die ('No es pot utilitzar la base de dades webfaltes : ' . mysql_error());
}

$result = mysql_query("SELECT * FROM classe");

$num_rows = mysql_num_rows($result);

echo "S'han trobat " . $num_rows . " columnes\n\n";

while ($row = mysql_fetch_assoc($result)) {
    echo "codi_lliço ". $row["codi_llico"] . "\n";
    echo "codi_grup ". $row["codi_grup"] . "\n";
    echo "codi_professor ". $row["codi_professor"] . "\n\n";
}

mysql_free_result($result);

mysql_close($connexio);

?>


Crear base de dades "usuaris" (hi ha una funció mysql_xxx)

Crear taula usuari (executant un "CREATE TABLE")

  • Camps:
  • Id: autoincremental
  • username: login
  • password: paraula de pas (en md5, teniu una funció en PHP)
  • name: nom complet de l'usuari

Inserir 4 usuaris nous (INSERT INTO ...)

Mostreu els usuaris inserits amb una consulta

Elimineu 1 usuari (Consulteu DELETE)

Mostreu els usuaris inserits amb una consulta

Modifiqueu la paraula de pas d'un usuari (UPDATE)

Elimineu la taula

Elimineu la base de dades

  • Imprimir missatge als usuaris (ok, errors, infromació...)