Aujourd'hui, les bases de données.
Postgresql: plus mature, plus robuste, mieux sécurisé /MySQL: plus rapide en accès, bien couplé avec 1) SQLite
Aujourd'hui, on installe mysql, on crée une base de données et on regarde.
Installation de mysql
aptitude install mysql-server
Configuration
Il faut définir le mot de passe de l'utilisateur mysql root
mysqladmin -u root password 'mot_de_passe'
Exercice
S'identifier comme utilisateur root:
mysql -u root -p
Créer une base de données:
CREATE DATABASE MesFilms
Donner l'accès à l'utilisateur adminMesFilms:
GRANT ALL PRIVILEGES ON MesFilms.* TO adminMesFilms@localhost IDENTIFIED BY 'mot_de_passe';
Pour utiliser une base de données (ex: MesFilms):
use MesFilms;
Pour voir la liste de bases de données:
show databases;
Pour voir la liste des tables lorsqu'on a sélectionné une base de données:
show tables;
Pour se connecter à la base de données MesFilms avec l'utilisateur adminMesFilms:
mysql -u adminMesFilms -p MesFilms
Pour créer une table:
CREATE TABLE films ( titre varchar(80), annee int, genre varchar(80), realisateur varchar(80) );
Encoder d'abord le nom de champ, ensuite le type, par exemple: caractères (varchar) ou un entier (int).
Pour insérer des données, c'est ligne par ligne:
INSERT INTO films VALUES ('American beauty',1999,'Comédie','Sam Mendes');
Pour consulter la base de données:
SELECT * FROM films;
On peut aussi faire exécuter un script:
mysql -u adminMesFilms -p < films.sql
Voici un exemple de script:
USE MesFilms; INSERT INTO films VALUES ('Sleepy hollow',1999,'fantastique','Tim Burton'); INSERT INTO films VALUES ('American beauty',1999,'Comédie','Sam Mendes'); INSERT INTO films VALUES ('Gladiator',2000,'Drame','Ridley Scott');
Comment faire appel à une DB mysql depuis une page ((/[[PHP]]))?
C'est le sujet de la 2e partie…