Quel programme ?

Quel programme ? - SQL/NoSQL - Programmation

Marsh Posté le 12-11-2005 à 15:55:24    

Bonjour,
Quel programme faut il utiliser pour créer une base de données MySQL ? On m'a renseigné phpMyAdmin. C'est bon  ça ? Où puis je télécharger cela ?

Reply

Marsh Posté le 12-11-2005 à 15:55:24   

Reply

Marsh Posté le 12-11-2005 à 18:21:18    

Reply

Marsh Posté le 12-11-2005 à 18:26:14    

Tiens, c'est chelou... Je voulais demander à Google de tout te traduire en plus de te donner le site :
http://www.google.fr/language_tools?hl=fr
 
Mais impossible de lui demander de traduire :
http://www.phpmyadmin.net/home_page/index.php
ou http://www.phpmyadmin.net
 
Il veut pas... J'en reste perplexe..

Reply

Marsh Posté le 15-11-2005 à 08:20:24    

Allez un p'tit tuto mysql pour oli1987  :)  
 
1 - Récuper et installer mysql
 
D'abord il te faut MySQL.
 
Quand tu arrives sur la page de téléchargement, descends jusqu'à la rubrique Windows Downloads.
 
Choisis la version Without installer en cliquant sur Pick a mirror. Sur la page suivant cliques sur No thanks, just take me to the downloads ! et cliques sur un des liens http ou ftp (avec les drapeaux français de préférence pour la vitesse de téléchargement).
 
Normalement, le téléchargement commence dés que tu as cliqué sur un des liens précédent.
 
Quand le téléchargement est fini tu récupères donc un fichier .zip qu'il te suffit de dézipper dans C:
 
Dans C: tu as donc un dossier qui s'appelle mysql-4.1.14-win32 que je recommande CHAUDEMENT de renommer en mysql pour avoir le chemin simple C:\mysql (opération utile sinon nécessaire pour que la suite du tuto soit confortable).
 
Petit vérification : bien s'assurer qu'on accède à l'éxecutable mysql.exe par le chemin C:\mysql\bin et non pas C:\mysql\mysql-4.1.14-win32\bin comme ça peut arriver si on a dézippé le fichier de façon "exotique".
 
Ceci fait mysql est installé.
 
2 - Configurer la variable PATH
 
Maintenant on va faire une petite manipulation avec xp pour pouvoir utiliser mysql depuis Démarrer -> Exécuter...
 
Fais un clique-droit sur l'îcone du Poste de travail puis cliques sur Propriétés.
 
Dans la fenêtre Propriétés sytème qui vient s'ouvrir choisis l'onglet Avancé.
 
En bas, cliques sur le bouton Variables d'environnement, une fenêtre s'ouvre.
 
Dans la zone Variables systèmes cliques sur la variable Path pour la sélectionner et cliques sur le bouton Modifier.
 
La fenêtre Modifier la variable système s'ouvre avec (ATTENTION) la valeur de la variable déjà séléctionner.
 
Attention donc encore une fois. Ne pas effacer par mégarde la zone de saisie ! Si cela se produit, une seule chose à faire : CLIQUER SUR ANNULER.
 
Ensuite, se placer à la fin de ce qu'il y a déjà dans la zone de saisie, ajouter un point-virgule ( ; ) et taper C:\mysql\bin
 
Fermer les fenêtres en cliquant sur Ok.
 
Voilà. Maintenant depuis Démarrer -> Executer... ou depuis une console DOS on pourra lancer les programmes qui se trouvent dans bin
 
3 - Lancement du serveur et du client mysql
 
Fais Démarrer -> Exécuter... et tapes dans la zone de saisie : mysqld (pas besoin de taper l'extension .exe) , c'est le programme qui lance le serveur mysql.
 
Petite surprise : on ne sait pas quand on lance mysqld si le serveur est bien démarré. Le moyen de le savoir est de lancer le client mysql.
 
Fais Démarrer -> Exécuter... et tapes dans la zone de saisie : mysql . Si le serveur est bien lancé et que le client a pu s'y connecter, une fenêtre DOS s'ouvre avec le message :
 

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 259 to server version: 4.1.14
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql>


 
On peut alors commencer à faire du SQL  :pt1cable:  
 
4 - CREATE DATABASE et CREATE TABLE
 
Créer une base de donnée, c'est d'abord créer un espace où les tables vont être stocker. On fait cette opération en utilisant l'instruction SQL :
 

CREATE DATABASE nom_base


 
Bon ça c'est du SQL  :??: ... ok ? Mais comment fait-on sur son pc ?
 
On lance le programme mysql (comme précédement) et on entre l'instruction apès le mysql> dans la fenêtre DOS.
On oublie pas de terminer son instruction par un ; pour dire que c'est la fin de l'instruction (ça du MySQL :??: ... ok ?).
Et on tape entrée pour valider l'instruction.
 
Note  : Avec le client de mysql, on entre une instruction sur plusieurs lignes en tapant entrée et ceci tant qu'on a pas taper un ;  
 
Ensuite il faut dire qu'on va utiliser cette base avec l'instruction SQL :
 

USE nom_base


 
Quand on fait ça, on peut commencer à créer ses tables avec l'intruction :
 

CREATE TABLE nom_table ( ... )


 
Un petit exemple de table en SQL... :
 
CREATE TABLE copain(
prenom  VARCHAR(16),
anniversaire DATE
)
 
Explications
 
Une table represente un ensemble de colonnes, chaque colonne ayant ses élément du même type et une ligne de l'ensemble des colonnes est un enregistrement.
 
Ici, on aura une colonne pour ranger les prenoms(de type chaine de caractères de longueur variable mais maximum de 16) et une pour les dates d'anniversaire(de type date sous la forme YYYY-MM-DD - y pour year=année, M pour month=mois et D pour day=jour).
 
Une petit capture d'écran pour se mettre dans le bain :
 

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 266 to server version: 4.1.14
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql> CREATE DATABASE oli1987;
Query OK, 1 row affected (0.00 sec)
 
mysql> USE oli1987;
Database changed
mysql> CREATE TABLE copain(
    -> prenom VARCHAR(12),
    -> anniversaire DATE
    -> );
Query OK, 0 rows affected (0.06 sec)
 
mysql>


 
5 - Peupler la table
 
Les tables comme les verres de bières c'est mieux quand elles sont remplies !  :lol:  
 
Hop, l'instruction qui va bien :
 

INSERT INTO nom_table values(...)


 
Dans VALUES on doit mettre exactement le même nom de champ qu'il y de champ dans la table et avec des types qui correspondent !
 
Hop la capture qui va bien :
 

mysql> INSERT INTO copain values('Thomas', '1976-12-03');
Query OK, 1 row affected (0.00 sec)


 
Note : Pour les chaines et les dates mettre des ' ' même si il n'y a pas d'espaces
 
6 - Consulter simplement la table
 
L'instruction :
 

SELECT * FROM nom_table


 
L'explication :
 
L'étoile permet de sélectionner tous les champs de la table et nom_table est la table qu'on désire consulter
 
La capture aprés avoir rajouter quelques enregistrement :


mysql> SELECT * FROM copain;
+--------+--------------+
| prenom | anniversaire |
+--------+--------------+
| Thomas | 1976-12-03   |
| Pierre | 1975-06-12   |
| Jean   | 1980-02-25   |
| Thomas | 1971-01-15   |
+--------+--------------+
4 rows in set (0.00 sec)


 
7 - Supprimer des enregistrements
 
Instruction :
 

DELETE FROM nom_table WHERE condition


 
Exemple
 
Je veux supprimer la ligne où figure Pierre :
 

mysql> DELETE FROM copain WHERE prenom='Pierre';
Query OK, 1 row affected (0.02 sec)
 
mysql> SELECT * FROM copain;
+--------+--------------+
| prenom | anniversaire |
+--------+--------------+
| Thomas | 1976-12-03   |
| Jean   | 1980-02-25   |
| Thomas | 1971-01-15   |
+--------+--------------+
3 rows in set (0.00 sec)


 
La ligne où il y avait Pierre a bien été supprimer. Mais que se passe-t-il si je veux supprimer la ligne où il y a le deuxieme Thomas.
 
Si j'utilise la même instruction précédente, je supprime les deux lignes où apparrait Thomas :
 

mysql> DELETE FROM copain WHERE prenom='Thomas';
Query OK, 2 rows affected (0.00 sec)
 
mysql> SELECT * FROM copain;
+--------+--------------+
| prenom | anniversaire |
+--------+--------------+
| Jean   | 1980-02-25   |
+--------+--------------+
1 row in set (0.00 sec)


 
Ce n'est pas le résultat qu'on cherchait à obtenir.
 
On repeuple avec des INSERT
 

mysql> SELECT * FROM copain;
+--------+--------------+
| prenom | anniversaire |
+--------+--------------+
| Thomas | 1976-12-03   |
| Jean   | 1980-02-25   |
| Thomas | 1971-01-15   |
+--------+--------------+
3 rows in set (0.00 sec)


 
On peut alors utiliser les anniversaires :
 
mysql> DELETE FROM copain WHERE anniversaire='1971-01-15';
Query OK, 1 row affected (0.00 sec)
 

mysql> SELECT * FROM copain;
+--------+--------------+
| prenom | anniversaire |
+--------+--------------+
| Thomas | 1976-12-03   |
| Jean   | 1980-02-25   |
+--------+--------------+
2 rows in set (0.00 sec)


 
On a bien supprimé le deuxième Thomas !
 
8 - Clé primaire
 
Si on utilise une base de données, c'est qu'on veut avoir des enregistrements qui soient uniques les uns par rappor aux autres(en général).
 
Par exemple dans notre table, on a deux Thomas mais qui sont nés à deux dates différentes on peut donc les différenciés par la date. Mais la façon dont avons défini notre table ne nous empêche pas d'avoir des doublons : des enregistrements identiques. Et ça c'est trés embêtant.
 
Il faut donc modifier la table(ici c'est plus simple de supprimer la table de recommancer du début) en disant qu'un des champs de la table et la clef primaire.
 
Il faut donc prendre un champ qui puisse identifier un enregistrement de façon unique... Le prénom ? on a vu qu'on pouvait avoir plusieurs Thomas dans la table... Encore moins la date...
 
Une solution serait d'introduire un nouveau champ qui de par son utilisation ou sa nature permette l'identifiaction unique. Et internet nous l'a inventé : L'EMAIL !!! sera donc notre clé primaire.
 
La clé primaire se définit dans la création de la table avec la propriété PRIMARY KEY (champ)
On peut reprendre l'élaboration de notre table :
 

mysql> DROP TABLE copain;
Query OK, 0 rows affected (0.00 sec)
 
mysql> CREATE TABLE copain(
    -> email VARCHAR(36),
    -> prenom VARCHAR(12),
    -> anniversaire DATE,
    -> PRIMARY KEY (email)
    -> );
Query OK, 0 rows affected (0.05 sec)


Attention aux espaces...
 
En ayant défini une clé primaire si on veux ajouter un enregistrement qui existe déjà, le systeme la refuse :
 

mysql> INSERT INTO copain values('thomas@free.fr', 'Thomas', '1971-01-15');
Query OK, 1 row affected (0.00 sec)
 
mysql> INSERT INTO copain values('thomas@free.fr', 'Pierre', '1975-10-02');
ERROR 1062 (23000): Duplicate entry 'thomas@free.fr' for key 1


 
9 - Conclusion
 
Voilà, voilà... petit mais costaud !  :)  
 
J'espère que ça aura pu t'aider un peu.
 
C'est vraiment le glaçon qui cache l'isberg...
 
Si tu t'en sors avec mes explications, je te conseil un livre pour avoir une référence (les livres c'est toujours mieux). J'en ai acheté un qui est pas mal : "Php et mysql" aux éditions O'Reilly. Je le conseille.
 
Les livres sont écrits par des universitaires (c'est souvent traduit de bouquins anglo-saxon donc c'est une approche différentes de l'apprentissage) mais ça se lit bien. Bien sûr faut savoir de quoi on parle et où on va...  
 
On peut utiliser des interface comme phpMyAdmin pour gérer une base MySQL mais faut avoir un serveur(physique), un seveur apache(software), le module php d'installé, installé Mysql et faire que tout marche ensemble. De plus phpmyadmin c'est plus pour administrer à distance.
 
Bon c'est vrai que EasyPhp d'installe le serveur apache, le module php et la base mysql sur ton pc...
 
Mais pour commencer, je pense qu'il vaut mieux faire du SQL sur un serveur MySQL en ligne de commande, histoire de toucher aux bases.  :D  
 
Si tu veux une version pdf fais le savoir.
 
Allez bonne boure et ... BONZAI !  :pt1cable:  
 

Reply

Marsh Posté le 07-03-2006 à 12:59:11    

Pour ma part, tes explications m'ont bien aidé !
 
Merci bcp!!! mouuuhaa gros bisoux grand fou :D ptdrr

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed