Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[bruit] Petit demande d'explication sur Mysql

3 réponses
Avatar
mystere689
J'ai beaucoup de doc (mais en anglais) et je n'y trouve pas vraiment
d'explication (s'il y en a une ) =E0 ceci : Il y a -t-il une diff=E9rence
entre faire une 'PRIMARY KEY' et un INDEX ??? (=E0 part le fait que l'on
peut faire plusieurs index)

Merci d'illuminer ma lanterne.

3 réponses

Avatar
wd_newbie
On 19 déc, 00:26, mystere689 wrote:
J'ai beaucoup de doc (mais en anglais) et je n'y trouve pas vraiment
d'explication (s'il y en a une ) à ceci : Il y a -t-il une différence
entre faire une 'PRIMARY KEY' et un INDEX ??? (à part le fait que l'on
peut faire plusieurs index)

Merci d'illuminer ma lanterne.



Je ne vais pas illuminer ta lanterne, mais j'ai trouvé ça sur le web
qui me semble pas trop mal.
(en tout cas moi cela m'a aidé !)

http://fr.answers.yahoo.com/question/index?qid 081127032622AAFP4Xz

@micalement

Olivier
Avatar
Firetox
Bonjour,

a.. KEY est un synonyme de INDEX. Depuis la version 4.1, l'attribut de clé
PRIMARY KEY peut aussi être spécifié avec la clause KEY. Il a été implémenté
pour assurer la compatibilité avec les autres bases.

a.. Avec MySQL, une clé UNIQUE peut avoir uniquement avoir deux valeurs
distinctes. Une erreur surviendra si vous essayez d'ajouter une ligne dont
la clé correspond à une ligne existante.

a.. Une clé primaire (PRIMARY KEY) est un index UNIQUE avec la contrainte
supplémentaire que les toutes les colonnes utilisées doit avoir l'attribut
NOT NULL. En MySQL, cette clé est dite PRIMARY. Une table ne peut avoir
qu'une seule clé primaire. Si vous n'avez pas de PRIMARY KEY et que des
applications demandent la PRIMARY KEY dans vos tables, MySQL retournera la
première clé UNIQUE, qui n'a aucune valeur NULL.

a.. Dans une table créée, la clé primaire PRIMARY KEY est placée en
première, suivie de tous les index UNIQUE, et enfin, les index non-unique.
Cela permet à l'optimiseur MySQL d'utiliser en priorité les index, et de
détecter rapidement les doublons pour les clés UNIQUE.

a.. Une PRIMARY KEY peut être multi-colonnes. Cependant, vous ne pouvez pas
créer d'index multi-colonnes avec l'attribut PRIMARY KEY dans une
spécification de colonne. En faisant cela, le seul résultat sera que cette
seule colonne sera marquée comme clé primaire. Vous devez absolument
utiliser la syntaxe PRIMARY KEY (index_nom_de_colonne, ...).

a.. Si une clé primaire (PRIMARY) ou unique (UNIQUE) est établit sur une
seule colonne, et que cette colonne est de type entier, vous pouvez aussi
faire référence à cette colonne sous le nom _rowid (nouveau en version
3.23.11).

a.. Avec MySQL, le nom de la clé primaire PRIMARY KEY est PRIMARY. Si vous
ne donnez pas de nom à un index, l'index prendra le nom de la première
colonne qui le compose, avec éventuellement un suffixe (_2, _3, ...) pour le
rendre unique. Vous pouvez voir les noms des index avec la commande SHOW
INDEX FROM tbl_name

bon dev
@+



"mystere689" a écrit dans le message de news:

J'ai beaucoup de doc (mais en anglais) et je n'y trouve pas vraiment
d'explication (s'il y en a une ) à ceci : Il y a -t-il une différence
entre faire une 'PRIMARY KEY' et un INDEX ??? (à part le fait que l'on
peut faire plusieurs index)

Merci d'illuminer ma lanterne.
Avatar
mystere689
On 18 déc, 20:51, "Firetox" wrote:
Bonjour,

a.. KEY est un synonyme de INDEX. Depuis la version 4.1, l'attribut de cl é
PRIMARY KEY peut aussi être spécifié avec la clause KEY. Il a ét é implémenté
pour assurer la compatibilité avec les autres bases.

a.. Avec MySQL, une clé UNIQUE peut avoir uniquement avoir deux valeurs
distinctes. Une erreur surviendra si vous essayez d'ajouter une ligne don t
la clé correspond à une ligne existante.

a.. Une clé primaire (PRIMARY KEY) est un index UNIQUE avec la contrain te
supplémentaire que les toutes les colonnes utilisées doit avoir l'att ribut
NOT NULL. En MySQL, cette clé est dite PRIMARY. Une table ne peut avoir
qu'une seule clé primaire. Si vous n'avez pas de PRIMARY KEY et que des
applications demandent la PRIMARY KEY dans vos tables, MySQL retournera l a
première clé UNIQUE, qui n'a aucune valeur NULL.

a.. Dans une table créée, la clé primaire PRIMARY KEY est placée en
première, suivie de tous les index UNIQUE, et enfin, les index non-uniq ue.
Cela permet à l'optimiseur MySQL d'utiliser en priorité les index, et de
détecter rapidement les doublons pour les clés UNIQUE.

a.. Une PRIMARY KEY peut être multi-colonnes. Cependant, vous ne pouvez pas
créer d'index multi-colonnes avec l'attribut PRIMARY KEY dans une
spécification de colonne. En faisant cela, le seul résultat sera que cette
seule colonne sera marquée comme clé primaire. Vous devez absolument
utiliser la syntaxe PRIMARY KEY (index_nom_de_colonne, ...).

a.. Si une clé primaire (PRIMARY) ou unique (UNIQUE) est établit sur une
seule colonne, et que cette colonne est de type entier, vous pouvez aussi
faire référence à cette colonne sous le nom _rowid (nouveau en vers ion
3.23.11).

a.. Avec MySQL, le nom de la clé primaire PRIMARY KEY est PRIMARY. Si v ous
ne donnez pas de nom à un index, l'index prendra le nom de la premièr e
colonne qui le compose, avec éventuellement un suffixe (_2, _3, ...) po ur le
rendre unique. Vous pouvez voir les noms des index avec la commande SHOW
INDEX FROM tbl_name

bon dev
@+

"mystere689" a écrit dans le message de news:

J'ai beaucoup de doc (mais en anglais) et je n'y trouve pas vraiment
d'explication (s'il y en a une ) à ceci : Il y a -t-il une différence
entre faire une 'PRIMARY KEY' et un INDEX ??? (à part le fait que l'on
peut faire plusieurs index)

Merci d'illuminer ma lanterne.



Merci à tout les 2 pour ces explications très clair. et bonnes fetes