Table des matières
Qu'est-ce que MySQL ?
Quels sont les différents types de données pris en charge par MySQL ?
Qu'est-ce qu'une clé primaire dans MySQL ?
Qu'est-ce qu'une clé étrangère dans MySQL ?
Que sont les vues dans MySQL ?
Quelle est la différence entre INNER JOIN et LEFT JOIN dans MySQL ?
Que sont les index dans MySQL ?
Voici un exemple
在MySQL中,CHAR和VARCHAR数据类型有什么区别?
Here's an Example
什么是MySQL中的子查询?
MySQL中的数据库事务是什么?
Maison base de données tutoriel mysql 10 questions d'entretien MySQL essentielles pour les administrateurs de bases de données

10 questions d'entretien MySQL essentielles pour les administrateurs de bases de données

Aug 23, 2023 pm 05:33 PM

10 questions dentretien MySQL essentielles pour les administrateurs de bases de données

En tant qu'administrateur de base de données, vous devez maîtriser MySQL, l'un des systèmes de gestion de bases de données open source les plus populaires. Que vous soyez un débutant ou un professionnel chevronné, vous devez être prêt à répondre à quelques questions d'entretien de base sur MySQL. Dans cet article, nous aborderons certaines des questions les plus courantes et fournirons des exemples pour vous aider à préparer votre prochain entretien.

Qu'est-ce que MySQL ?

MySQL est un système de gestion de base de données relationnelle (SGBDR) open source qui utilise SQL (Structured Query Language) pour gérer et manipuler les données. Il a été publié pour la première fois en 1995 et appartient actuellement à Oracle Corporation. MySQL est largement utilisé dans les applications Web, en particulier celles créées à l'aide de PHP, et est connu pour sa rapidité, sa fiabilité et sa facilité d'utilisation.

Quels sont les différents types de données pris en charge par MySQL ?

MySQL prend en charge plusieurs types de données, notamment −

  • Types de données numériques − INT, BIGINT, FLOAT, DOUBLE, DECIMAL.

  • Types de données de date et d'heure - DATE, TIME, DATETIME, TIMESTAMP.

  • Type de données chaîne − CHAR, VARCHAR, TEXT, BLOB.

  • Autres types de données - BOOLEAN, ENUM, SET.

Voici quelques exemples−

  • INT − représente un entier (par exemple 5, 10, 100).

  • VARCHAR − représente une chaîne de longueur variable (par exemple 'hello', 'world').

  • TEXT − représente de grandes valeurs de texte (par exemple des articles de blog, des articles).

  • DATE − représente une date (par exemple '2023-04-03').

  • TIMESTAMP − représente la date et l'heure (par exemple '2023-04-03 14:30:00').

Qu'est-ce qu'une clé primaire dans MySQL ?

Une clé primaire est un identifiant unique pour une ligne dans une table MySQL. Elle est utilisée pour garantir que chaque ligne d'une table est identifiable de manière unique et est accessible rapidement. Une clé primaire peut être constituée d'une ou plusieurs colonnes, mais elle doit le faire. être unique et ne peut pas être nul.

Ceci est un exemple −

CREATE TABLE users (
   id INT PRIMARY KEY,
   name VARCHAR(255) NOT NULL,
   email VARCHAR(255) NOT NULL UNIQUE
);
Copier après la connexion

Dans cet exemple, la colonne 'id' est la clé primaire de la table 'users'. Il garantit que chaque utilisateur peut être identifié de manière unique par son identifiant.

Qu'est-ce qu'une clé étrangère dans MySQL ?

Une clé étrangère est une colonne ou un ensemble de colonnes dans une table MySQL qui fait référence à la clé primaire d'une autre table. Il permet d'établir une relation entre deux tables et d'assurer la cohérence des données entre elles. Des contraintes de clé étrangère peuvent être ajoutées à une table pour renforcer l'intégrité référentielle.

Ceci est un exemple −

CREATE TABLE orders (
   id INT PRIMARY KEY,
   user_id INT,
   product_id INT,
   FOREIGN KEY (user_id) REFERENCES users(id),
   FOREIGN KEY (product_id) REFERENCES products(id)
);
Copier après la connexion

Dans cet exemple, les colonnes 'user_id' et 'product_id' sont des clés étrangères qui font référence à la colonne 'id' dans les tables 'users' et 'products', respectivement. Cela garantit que les commandes sont associées à des utilisateurs et des produits valides.

Que sont les vues dans MySQL ?

Dans MySQL, une vue est une table virtuelle basée sur les résultats d'une instruction SELECT. Les vues sont souvent utilisées pour simplifier les requêtes complexes et fournir une vue abstraite des données sous-jacentes.

Ceci est un exemple −

CREATE VIEW user_orders AS
SELECT u.name, o.product_name, o.order_date
FROM users u
JOIN orders o ON u.id = o.user_id;
Copier après la connexion

Dans cet exemple, nous avons créé une vue appelée « user_orders » qui renvoie le nom d'utilisateur, le nom du produit et la date de commande pour toutes les commandes. Cette vue est basée sur une opération JOIN entre les tables 'users' et 'orders'.

Quelle est la différence entre INNER JOIN et LEFT JOIN dans MySQL ?

INNER JOIN et LEFT JOIN sont deux types d'opérations JOIN utilisées pour combiner des lignes de deux tables ou plus. La principale différence entre les deux est que INNER JOIN renvoie uniquement les lignes qui ont des valeurs correspondantes dans les deux tables, tandis que LEFT JOIN renvoie toutes les lignes de la table de gauche (la première table répertoriée dans l'instruction JOIN) ainsi que de la table de droite. de lignes correspondantes.

Ceci est un exemple −

Supposons que nous ayons deux tables, « utilisateurs » et « commandes ». Le tableau « utilisateurs » contient des informations sur les utilisateurs, tandis que le tableau « commandes » contient des informations sur les commandes passées par ces utilisateurs.

Pour obtenir une liste de tous les utilisateurs et de leurs commandes correspondantes, nous pouvons utiliser LEFT JOIN −

SELECT u.name, o.product_name, o.order_date
FROM users u
LEFT JOIN orders o ON u.id = o.user_id;
Copier après la connexion

Cette requête renverrait tous les utilisateurs, qu'ils aient ou non des commandes, et leurs commandes correspondantes, le cas échéant.

Pour obtenir la liste des utilisateurs qui ont passé des commandes, nous pouvons utiliser INNER JOIN −

SELECT u.name, o.product_name, o.order_date
FROM users u
INNER JOIN orders o ON u.id = o.user_id;
Copier après la connexion

Cette requête ne renverrait que les utilisateurs qui ont passé des commandes et leurs commandes correspondantes.

Que sont les index dans MySQL ?

L'indexation est le processus de création d'un index sur une ou plusieurs colonnes d'une table MySQL pour améliorer les performances des requêtes. Un index est une structure de données qui permet à une base de données de trouver rapidement des lignes en fonction des valeurs des colonnes indexées.

Voici un exemple

Supposons que nous ayons un tableau appelé « produits » qui contient des informations sur les produits, y compris une colonne appelée « nom_produit ». Pour améliorer les performances de recherche de produits par nom, nous pouvons créer un index sur la colonne 'product_name' −

CREATE INDEX idx_products_product_name ON products(product_name);
Copier après la connexion

Cela créera un index sur la colonne « product_name » de la table « products », permettant à la base de données de rechercher rapidement les produits par nom.

在MySQL中,CHAR和VARCHAR数据类型有什么区别?

CHAR和VARCHAR都是MySQL中用于存储字符数据的字符串数据类型。两者之间的主要区别在于,CHAR是固定长度的数据类型,而VARCHAR是可变长度的数据类型。

Here's an Example

如果我们将一个列定义为CHAR(10),无论该列中存储的数据的长度如何,它始终会占用10个字节的存储空间。这意味着,如果我们在该列中存储字符串'hello',它将会被填充空格以占用10个字节的存储空间。

如果我们将一列定义为VARCHAR(10),它将只占用必要的存储空间来存储数据。这意味着如果我们在该列中存储字符串'hello',它将只占用5个字节的存储空间。

一般来说,对于长度固定的列(例如邮政编码),使用CHAR是一个好的实践,而对于长度可变的列(例如产品名称),使用VARCHAR。

什么是MySQL中的子查询?

子查询是在MySQL中嵌套在另一个查询中的查询。子查询可以用于检索将在主查询中使用的数据,或者根据条件过滤数据。

Here's an Example

假设我们有两个表,'users'和'orders'。'users'表包含有关用户的信息,而'orders'表包含有关这些用户下的订单的信息。

要获取所有已下订单的用户列表,我们可以使用子查询 -

SELECT name FROM users WHERE id IN (SELECT user_id FROM orders);
Copier après la connexion

这个查询首先执行子查询,该子查询从'orders'表中返回一个用户ID列表。然后,主查询使用IN运算符过滤'users'表,并返回下单的用户的姓名。

MySQL中的数据库事务是什么?

MySQL中的数据库事务是一系列作为单个工作单元执行的SQL语句。事务用于确保一组SQL语句以原子、一致、隔离和持久(ACID)的方式执行。

Here's an Example

假设我们有一个名为'accounts'的表,其中包含有关银行账户的信息,包括一个名为'balance'的列。要将资金从一个账户转移到另一个账户,我们需要在一个事务中更新两个账户的余额 -

BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
Copier après la connexion

此交易将从ID为1的账户中扣除100美元,并将100美元添加到ID为2的账户中,确保该交易以ACID方式执行。

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quand une analyse de table complète pourrait-elle être plus rapide que d'utiliser un index dans MySQL? Quand une analyse de table complète pourrait-elle être plus rapide que d'utiliser un index dans MySQL? Apr 09, 2025 am 12:05 AM

La numérisation complète de la table peut être plus rapide dans MySQL que l'utilisation d'index. Les cas spécifiques comprennent: 1) le volume de données est petit; 2) Lorsque la requête renvoie une grande quantité de données; 3) Lorsque la colonne d'index n'est pas très sélective; 4) Lorsque la requête complexe. En analysant les plans de requête, en optimisant les index, en évitant le sur-index et en maintenant régulièrement des tables, vous pouvez faire les meilleurs choix dans les applications pratiques.

Expliquez les capacités de recherche en texte intégral InNODB. Expliquez les capacités de recherche en texte intégral InNODB. Apr 02, 2025 pm 06:09 PM

Les capacités de recherche en texte intégral d'InNODB sont très puissantes, ce qui peut considérablement améliorer l'efficacité de la requête de la base de données et la capacité de traiter de grandes quantités de données de texte. 1) INNODB implémente la recherche de texte intégral via l'indexation inversée, prenant en charge les requêtes de recherche de base et avancées. 2) Utilisez la correspondance et contre les mots clés pour rechercher, prendre en charge le mode booléen et la recherche de phrases. 3) Les méthodes d'optimisation incluent l'utilisation de la technologie de segmentation des mots, la reconstruction périodique des index et l'ajustement de la taille du cache pour améliorer les performances et la précision.

Puis-je installer mysql sur Windows 7 Puis-je installer mysql sur Windows 7 Apr 08, 2025 pm 03:21 PM

Oui, MySQL peut être installé sur Windows 7, et bien que Microsoft ait cessé de prendre en charge Windows 7, MySQL est toujours compatible avec lui. Cependant, les points suivants doivent être notés lors du processus d'installation: téléchargez le programme d'installation MySQL pour Windows. Sélectionnez la version appropriée de MySQL (communauté ou entreprise). Sélectionnez le répertoire d'installation et le jeu de caractères appropriés pendant le processus d'installation. Définissez le mot de passe de l'utilisateur racine et gardez-le correctement. Connectez-vous à la base de données pour les tests. Notez les problèmes de compatibilité et de sécurité sur Windows 7, et il est recommandé de passer à un système d'exploitation pris en charge.

MySQL: Concepts simples pour l'apprentissage facile MySQL: Concepts simples pour l'apprentissage facile Apr 10, 2025 am 09:29 AM

MySQL est un système de gestion de base de données relationnel open source. 1) Créez une base de données et des tables: utilisez les commandes CreateDatabase et CreateTable. 2) Opérations de base: insérer, mettre à jour, supprimer et sélectionner. 3) Opérations avancées: jointure, sous-requête et traitement des transactions. 4) Compétences de débogage: vérifiez la syntaxe, le type de données et les autorisations. 5) Suggestions d'optimisation: utilisez des index, évitez de sélectionner * et utilisez les transactions.

Différence entre l'index cluster et l'index non cluster (index secondaire) dans InnODB. Différence entre l'index cluster et l'index non cluster (index secondaire) dans InnODB. Apr 02, 2025 pm 06:25 PM

La différence entre l'index cluster et l'index non cluster est: 1. Index en cluster stocke les lignes de données dans la structure d'index, ce qui convient à la requête par clé et plage primaire. 2. L'index non clumpant stocke les valeurs de clé d'index et les pointeurs vers les lignes de données, et convient aux requêtes de colonne de clés non primaires.

Mysql et Mariadb peuvent-ils coexister Mysql et Mariadb peuvent-ils coexister Apr 08, 2025 pm 02:27 PM

MySQL et MARIADB peuvent coexister, mais doivent être configurés avec prudence. La clé consiste à allouer différents numéros de port et répertoires de données à chaque base de données et ajuster les paramètres tels que l'allocation de mémoire et la taille du cache. La mise en commun de la connexion, la configuration des applications et les différences de version doivent également être prises en compte et doivent être soigneusement testées et planifiées pour éviter les pièges. L'exécution de deux bases de données simultanément peut entraîner des problèmes de performances dans les situations où les ressources sont limitées.

La relation entre l'utilisateur de MySQL et la base de données La relation entre l'utilisateur de MySQL et la base de données Apr 08, 2025 pm 07:15 PM

Dans la base de données MySQL, la relation entre l'utilisateur et la base de données est définie par les autorisations et les tables. L'utilisateur a un nom d'utilisateur et un mot de passe pour accéder à la base de données. Les autorisations sont accordées par la commande Grant, tandis que le tableau est créé par la commande Create Table. Pour établir une relation entre un utilisateur et une base de données, vous devez créer une base de données, créer un utilisateur, puis accorder des autorisations.

Expliquez différents types d'index MySQL (B-Tree, hachage, texte intégral, spatial). Expliquez différents types d'index MySQL (B-Tree, hachage, texte intégral, spatial). Apr 02, 2025 pm 07:05 PM

MySQL prend en charge quatre types d'index: B-Tree, hachage, texte intégral et spatial. 1. L'indice de tree B est adapté à la recherche de valeur égale, à la requête de plage et au tri. 2. L'indice de hachage convient aux recherches de valeur égale, mais ne prend pas en charge la requête et le tri des plages. 3. L'index de texte complet est utilisé pour la recherche en texte intégral et convient pour le traitement de grandes quantités de données de texte. 4. L'indice spatial est utilisé pour la requête de données géospatiaux et convient aux applications SIG.

See all articles