[MySQL]Création de Tables

Fermé
Keo Messages postés 25 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 9 mars 2004 - 20 avril 2003 à 15:34
Keo Messages postés 25 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 9 mars 2004 - 21 avril 2003 à 20:00
Hello all !
Bon voilà, j'utilise PhpMyAdmin et j'ai pour projet de créer une liste des albums de Michael Jackson (et oui je suis un fan), je veux donc créer un table avec 4 champs :
- titre_album
- annee
- nb_piste
- titre_piste

Alors c'est bon j'ai creé mes champs maintenant il me reste à remplir les autres cases, c'est à dire :
Type - Taille/Valeur - Attribut - Null - ect.....

Mais le problème c'est que je sais pas vraiment comment remplir tout ces champs. Et puis il y autre chose aussi, je vois pas pourquoi ils appellent une ligne un colonne.
exemple de phrase que j'ai rencontré dans un cours :

Si on souhaite ajouter en début de la table une colonne pour stocker l'age :

-----------------------------------
En direct de Gennevilliers (92)
:: Keo ::
A voir également:

3 réponses

Utilisateur anonyme
20 avril 2003 à 19:14
euh non, une colonne c'est... une colonne! un champ quoi. Si tu veux un champ en plus pour stocker l'âge, quoi...

insérer des enregistrement:
INSERT INTO nom_table (titre_album,annee,nb_piste,titre_piste) VALUES("valeur1","valeur2","valeur3","valeur4")

au passage, tu vas avoir un problème je crois, si tu rentres dans cette table les titres des pistes, ben mettons que ton album ait douze pistes, ça va te faire répéter douze fois les informations autres que le titre de la piste.

Ajoute un identifiant à ta table, en clef primaire, et crée une autre table avec l'ID d'album (la clef étrangère donc) et le titre de piste.

kinder.surprise,
le maton du matou
0
Utilisateur anonyme
20 avril 2003 à 19:15
et bien sûr vire titre_piste de la table existante

kinder.surprise,
le maton du matou
0
Keo Messages postés 25 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 9 mars 2004
20 avril 2003 à 19:17
JE t'ai pas bien suivi la ...
-----------------------------------
En direct de Gennevilliers (92)
:: Keo ::
0
Utilisateur anonyme
21 avril 2003 à 02:08
prends une feuille et remplis à la mimine un tableau qui serait comme ta table. Tu vas voir, quand ton poignet te fera mal, le principe de mettre pistes et albums sur deux feuilles distinctes et la manière de les lier te sautera aux yeux (-:

kinder.surprise,
le maton du matou
0
Keo Messages postés 25 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 9 mars 2004
21 avril 2003 à 12:13
lol, ok je vais faire, looool

Dit moi t'aurais pas MSN ou un truc du genre, je crois que c mieu pour parler.
---------------------------------
En direct de Gennevilliers (92)
:: Keo ::
0
Keo Messages postés 25 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 9 mars 2004
21 avril 2003 à 15:40
# Structure de la table `albums`
#

CREATE TABLE albums (
id tinyint(3) unsigned NOT NULL auto_increment,
nom_album varchar(50) binary NOT NULL default '',
nb_piste tinyint(30) unsigned NOT NULL default '0',
annee year(4) NOT NULL default '0000',
PRIMARY KEY (id)
) TYPE=MyISAM;
# --------------------------------------------------------

#
# Structure de la table `pistes`
#

CREATE TABLE pistes (
id tinyint(4) NOT NULL auto_increment,
titres varchar(255) NOT NULL default '',
KEY id (id)
) TYPE=MyISAM;


Qu'est ce t'en dit ?
Mais aprés comment faire le liens entre (par exemple) :
l'album numero 1 :Invincible
et le titres des pistes approprié.

------------------------------------
En direct de Gennevilliers (92)
:: Keo ::
0
Utilisateur anonyme
21 avril 2003 à 18:28
renomme dans la première id en id_album et dans la seconde id en id_titre. Tu as tes identifiants pour les deux. Mais ensuite, insère un champ id_album dans la seconde, indexé, surtout pas UNIQUE, logiquement NOT NULL, qui pour chaque titre reprend l'id de l'album auquel le titre appartient.

à partir de là, tu pourras passer des SELECT avec la clause JOIN ou la clause WHERE qui te mettront les deux en corrélation.

kinder.surprise,
le maton du matou
0
Keo Messages postés 25 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 9 mars 2004 > Utilisateur anonyme
21 avril 2003 à 18:31
pas compris... vraiment désolé :)
--------------------------------
En direct de Gennevilliers (92)
:: Keo ::
0
Utilisateur anonyme > Utilisateur anonyme
21 avril 2003 à 19:04
en fait tu as besoin de spécifier dans ta deuxième table, pour chaque titre, à quel album il appartient. Ca, sur papier, tu serais obligé aussi. Donc, comme l'album est identifié par ton champ id (que je te conseille de renommer en id_album par commodité), il te faut dans ta table titres un champ contenant l'id de l'album.

comme ça, quand tu sélectionneras des titres, tu pourras avoir aussi le titre de l'album

SELECT albums.*, titres.* FROM albums JOIN titres ON albums.id_album = titres.id_album;


kinder.surprise,
le maton du matou
0