Maison  >  Article  >  base de données  >  Comment interroger des données à l'aide de la clé primaire dans MySQL

Comment interroger des données à l'aide de la clé primaire dans MySQL

PHPz
PHPzoriginal
2023-04-20 10:11:101305parcourir

MySQL est une base de données relationnelle open source largement utilisée qui prend en charge de riches fonctions de requête et d'opération, et la méthode de requête la plus couramment utilisée consiste à interroger les données via des clés primaires. Cet article expliquera comment utiliser les clés primaires pour interroger des données dans MySQL, y compris la définition, l'utilisation, l'interrogation, l'optimisation, etc. des clés primaires.

1. Définition de la clé primaire
La clé primaire est l'identifiant unique utilisé pour identifier chaque enregistrement de la table dans MySQL. La clé primaire peut être composée d'un seul champ ou d'une combinaison de plusieurs champs, mais elle doit répondre aux conditions suivantes :

  1. Unicité : La clé primaire doit être unique et ne peut pas dupliquer des données existantes dans la table.
  2. Non-nullabilité : la valeur de la clé primaire ne peut pas être NULL.
  3. Stabilité : la valeur de la clé primaire ne peut pas changer avec le temps ou d'autres conditions.

Lors de la définition de la clé primaire, vous pouvez utiliser la fonction d'incrémentation automatique de MySQL. Par exemple :

CREATE TABLE user (user (
 id int(11) NOT NULL AUTO_INCREMENT,
 name varchar(50) NOT NULL,
 password varchar(50) NOT NULL,
 email varchar(50) NOT NULL,
 PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

在上述代码中,id字段被定义为主键,且使用了MySQL的自增长功能。当插入新数据时,id字段的值自动加1,保证每条记录的主键值唯一。

二、主键的使用

  1. 插入数据
    在向表中插入数据时,必须指定主键的值。如果使用自增长功能,则无需指定主键值。例如:

INSERT INTO user (name, password, email) VALUES ('Tom', '123456', 'tom@example.com');

  1. 更新数据
    在更新数据时,需要指定要更新的记录的主键值。例如:

UPDATE user SET password='654321' WHERE id=1;

  1. 删除数据
    在删除数据时,同样需要指定要删除的记录的主键值。例如:

DELETE FROM user WHERE id=1;

三、主键的查询
使用主键查询数据是MySQL中最常见和最基本的查询方式。在执行主键查询时,可以使用以下两种方式:

  1. 使用WHERE子句
    通过WHERE子句指定主键值进行查询,例如:

SELECT * FROM user WHERE id=1;

  1. 使用主键查询语法
    直接使用主键查询语法,例如:

SELECT * FROM user WHERE id=1;

  1. 主键索引
    在MySQL中,使用主键查询数据时,主键的索引起到了至关重要的作用。索引可以大大提高查询效率,使查询结果返回更快。因此,在设计数据库表时,应根据实际需求对主键进行索引。可以使用以下方式对主键进行索引:
  2. 创建主键时同时创建索引。例如:

CREATE TABLE user (
 id int(11) NOT NULL AUTO_INCREMENT,
 name varchar(50) NOT NULL,
 password varchar(50) NOT NULL,
 email varchar(50) NOT NULL,
 PRIMARY KEY (id),
 INDEX idx_user_name (name)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

在上述代码中,通过在name字段上创建索引,可以在查询name字段时提高查询速度。

  1. ALTER TABLE添加索引。例如:

ALTER TABLE user ADD INDEX idx_user_email (email);

在上述代码中,为email id int(11) NOT NULL AUTO_INCREMENT,

name varchar(50) NOT NULL,

mot de passe varchar(50) NON NULL,
email varchar(50) NON NULL,

CLÉ PRIMAIRE (id)🎜) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8;🎜🎜Dans le code ci-dessus, le champ id est défini comme clé primaire et la fonction d'auto-incrémentation de MySQL est utilisée. Lorsque de nouvelles données sont insérées, la valeur du champ id est automatiquement augmentée de 1 pour garantir que la valeur de clé primaire de chaque enregistrement est unique. 🎜🎜2. Utilisation de la clé primaire🎜🎜🎜Insérer des données🎜Lors de l'insertion de données dans le tableau, la valeur de la clé primaire doit être spécifiée. Si vous utilisez la fonction d'incrémentation automatique, il n'est pas nécessaire de spécifier une valeur de clé primaire. Par exemple : 🎜🎜🎜INSERT INTO user (nom, mot de passe, email) VALUES ('Tom', ' 123456', 'tom@example.com');🎜
    🎜Mettre à jour les données🎜Lors de la mise à jour des données, vous devez spécifier la valeur de clé primaire de l'enregistrement à mettre à jour. Par exemple : 🎜🎜🎜UPDATE user SET password='654321' WHERE id=1;🎜
      🎜 Supprimer les données🎜Lors de la suppression de données, vous devez également spécifier la valeur de clé primaire de l'enregistrement à supprimer. Par exemple : 🎜🎜🎜DELETE FROM user WHERE id=1;🎜🎜3. Requête de clé primaire🎜 L'interrogation de données à l'aide de la clé primaire est la méthode de requête la plus courante et la plus basique. dans MySQL. Lorsque vous effectuez une requête de clé primaire, vous pouvez utiliser les deux méthodes suivantes : 🎜🎜🎜Utilisez la clause WHERE 🎜Spécifiez la valeur de la clé primaire via la clause WHERE à interroger, par exemple : 🎜🎜🎜SELECT * FROM user code> WHERE id=1;🎜
        🎜Utiliser la syntaxe de requête de clé primaire🎜Utiliser directement la syntaxe de requête de clé primaire, par exemple : 🎜🎜🎜SELECT * FROM user WHERE id=1;🎜
          🎜Index de clé primaire🎜Dans MySQL, lors de l'utilisation de la clé primaire pour interroger des données, l'index de clé primaire joue un rôle essentiel . Les index peuvent considérablement améliorer l’efficacité des requêtes et renvoyer les résultats des requêtes plus rapidement. Par conséquent, lors de la conception d'une table de base de données, la clé primaire doit être indexée en fonction des besoins réels. Les clés primaires peuvent être indexées des manières suivantes : 🎜🎜Créez un index en même temps que vous créez la clé primaire. Par exemple : 🎜🎜🎜CREATE TABLE user (🎜 id int(11) NOT NULL AUTO_INCREMENT,🎜 name varchar(50) NOT NULL, 🎜 mot de passe varchar(50) NON NULL,🎜 email varchar(50) NON NULL,🎜 CLÉ PRIMAIRE (id),🎜 INDEX idx_user_name (name)🎜) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;🎜🎜Dans le code ci-dessus, en créant un index sur le name field, La vitesse de requête peut être améliorée lors de l'interrogation du champ name. 🎜
            🎜ALTER TABLE ajoute un index. Par exemple : 🎜🎜🎜ALTER TABLE user ADD INDEX idx_user_email (email) 🎜🎜Dans le code ci-dessus, c'est email); Un index est ajouté au champ code>. 🎜🎜Résumé🎜Cet article présente la définition, l'utilisation et la méthode de requête de la clé primaire dans MySQL. Dans les applications pratiques, les clés primaires doivent être optimisées et indexées en fonction des besoins réels pour améliorer l'efficacité et les performances des requêtes. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn