Salut,
Déjà je te conseille cette URL sur MySQL :
http://www.mysql.com/doc/ (en anglais mais on peut rechercher une instruction)
http://dev.nexen.net/docs/mysql/chargement.html (en francais à télécharger)
Bon pour tes questions maintenant :
Comme tu peux le voir à cette url http://www.mysql.com/doc/C/R/CREATE_TABLE.html
tu n'es pas obligé de nommé ton index (le fait que index_name soit entre crochet), tu peux par exemple tout simplement mettre 'INDEX (toto)' pour la colonne toto .
Pour PRIMARY KEY, tu n'as donc pas besoin de faire un INDEX ou un UNIQUE dessus, c'est les 2 ensembles
Pour les clause WHERE, tu ne t'occupes pas des INDEX, tu fais tout simplement 'WHERE toto=1' ou toto est encore le nom d'une colonne.
Pour la différence entre PRIMARY KEY et UNIQUE, en gros, PRIMARY KEY possède un INDEX et de plus on ne peut pas mettre de valeurs nulles dans une PRIMARY KEY.
PRIMARY KEY est surtout utilisé quand tu veux faire des liens entre des tables ( par exemple le login d'une table utilisateurs est en PRIMARY KEY parce que les autres tables , genre une table de messages, peuvent pointer vers cette colonne login) car la recherche d'une rangée spécifique en fonction de cette colonne est très optimisées. (oula 10 lignes pour expliquer ça... merde
Pour ta dernière question, effectivement je confirme, faire tout en MySQL sera BEAUCOUP plus rapide que de faire une partie en PHP, surtout que le PHP est tout de même quasi interprété
Essaie le plus souvent de faire le max du boulot dans une requête... ce sera toujours plus rapide
a+