Heim  >  Artikel  >  Datenbank  >  10 wichtige MySQL-Interviewfragen für Datenbankadministratoren

10 wichtige MySQL-Interviewfragen für Datenbankadministratoren

PHPz
PHPznach vorne
2023-08-23 17:33:02971Durchsuche

10 wichtige MySQL-Interviewfragen für Datenbankadministratoren

Als Datenbankadministrator müssen Sie MySQL beherrschen, eines der beliebtesten Open-Source-Datenbankverwaltungssysteme. Egal, ob Sie Anfänger oder erfahrener Profi sind, Sie sollten darauf vorbereitet sein, einige grundlegende MySQL-Interviewfragen zu beantworten. In diesem Artikel gehen wir auf einige der häufigsten Fragen ein und geben Beispiele, die Ihnen bei der Vorbereitung auf Ihr nächstes Vorstellungsgespräch helfen.

Was ist MySQL?

MySQL ist ein relationales Open-Source-Datenbankverwaltungssystem (RDBMS), das SQL (Structured Query Language) zum Verwalten und Bearbeiten von Daten verwendet. Es wurde erstmals 1995 veröffentlicht und ist derzeit im Besitz der Oracle Corporation. MySQL wird häufig in Webanwendungen verwendet, insbesondere in solchen, die mit PHP erstellt wurden, und ist für seine Geschwindigkeit, Zuverlässigkeit und Benutzerfreundlichkeit bekannt.

Welche verschiedenen Datentypen unterstützt MySQL?

MySQL unterstützt mehrere Datentypen, einschließlich −

  • Numerische Datentypen − INT, BIGINT, FLOAT, DOUBLE, DECIMAL.

  • Datentypen für Datum und Uhrzeit – DATUM, ZEIT, DATETIME, TIMESTAMP.

  • String-Datentyp − CHAR, VARCHAR, TEXT, BLOB.

  • Andere Datentypen - BOOLEAN, ENUM, SET.

Hier sind einige Beispiele−

  • INT − stellt eine ganze Zahl dar (z. B. 5, 10, 100).

  • VARCHAR − stellt eine Zeichenfolge variabler Länge dar (z. B. „Hallo“, „Welt“).

  • TEXT − repräsentiert große Textwerte (z. B. Blogbeiträge, Artikel).

  • DATE − stellt ein Datum dar (z. B. „03.04.2023“).

  • TIMESTAMP − stellt Datum und Uhrzeit dar (z. B. „2023-04-03 14:30:00“).

Was ist ein Primärschlüssel in MySQL?

Ein Primärschlüssel ist eine eindeutige Kennung für eine Zeile in einer MySQL-Tabelle. Er wird verwendet, um sicherzustellen, dass jede Zeile in einer Tabelle eindeutig identifizierbar ist und schnell darauf zugegriffen werden kann. Ein Primärschlüssel kann aus einer oder mehreren Spalten bestehen, muss aber muss eindeutig sein und darf nicht null sein.

Dies ist ein Beispiel −

CREATE TABLE users (
   id INT PRIMARY KEY,
   name VARCHAR(255) NOT NULL,
   email VARCHAR(255) NOT NULL UNIQUE
);

In diesem Beispiel ist die Spalte „id“ der Primärschlüssel der Tabelle „users“. Es stellt sicher, dass jeder Benutzer anhand seiner ID eindeutig identifiziert werden kann.

Was ist ein Fremdschlüssel in MySQL?

Ein Fremdschlüssel ist eine Spalte oder Spaltengruppe in einer MySQL-Tabelle, die auf den Primärschlüssel einer anderen Tabelle verweist. Es wird verwendet, um eine Beziehung zwischen zwei Tabellen herzustellen und die Datenkonsistenz zwischen ihnen sicherzustellen. Einer Tabelle können Fremdschlüsseleinschränkungen hinzugefügt werden, um die referenzielle Integrität zu erzwingen.

Dies ist ein Beispiel −

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)
);

In diesem Beispiel sind die Spalten „user_id“ und „product_id“ Fremdschlüssel, die auf die Spalte „id“ in den Tabellen „users“ bzw. „products“ verweisen. Dadurch wird sichergestellt, dass Bestellungen gültigen Benutzern und Produkten zugeordnet sind.

Was sind Ansichten in MySQL?

In MySQL ist eine Ansicht eine virtuelle Tabelle, die auf den Ergebnissen einer SELECT-Anweisung basiert. Ansichten werden häufig verwendet, um komplexe Abfragen zu vereinfachen und eine abstrakte Ansicht der zugrunde liegenden Daten bereitzustellen.

Dies ist ein Beispiel −

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;

In diesem Beispiel haben wir eine Ansicht namens „user_orders“ erstellt, die den Benutzernamen, den Produktnamen und das Bestelldatum für alle Bestellungen zurückgibt. Diese Ansicht basiert auf einer JOIN-Operation zwischen den Tabellen „Benutzer“ und „Bestellungen“.

Was ist der Unterschied zwischen INNER JOIN und LEFT JOIN in MySQL?

INNER JOIN und LEFT JOIN sind beide Arten von JOIN-Operationen, die zum Kombinieren von Zeilen aus zwei oder mehr Tabellen verwendet werden. Der Hauptunterschied zwischen den beiden besteht darin, dass INNER JOIN nur Zeilen zurückgibt, die in beiden Tabellen übereinstimmende Werte haben, während LEFT JOIN alle Zeilen aus der linken Tabelle (der ersten in der JOIN-Anweisung aufgeführten Tabelle) sowie aus der rechten Tabelle zurückgibt passender Linien.

Dies ist ein Beispiel −

Angenommen, wir haben zwei Tabellen, „Benutzer“ und „Bestellungen“. Die Tabelle „Benutzer“ enthält Informationen über Benutzer, während die Tabelle „Bestellungen“ Informationen über Bestellungen dieser Benutzer enthält.

Um eine Liste aller Benutzer und ihrer entsprechenden Bestellungen zu erhalten, können wir LEFT JOIN −

verwenden
SELECT u.name, o.product_name, o.order_date
FROM users u
LEFT JOIN orders o ON u.id = o.user_id;

Diese Abfrage würde alle Benutzer zurückgeben, unabhängig davon, ob sie Bestellungen haben, und ihre entsprechenden Bestellungen, falls vorhanden.

Um die Liste der Benutzer zu erhalten, die Bestellungen aufgegeben haben, können wir INNER JOIN −

verwenden
SELECT u.name, o.product_name, o.order_date
FROM users u
INNER JOIN orders o ON u.id = o.user_id;

Diese Abfrage würde nur Benutzer zurückgeben, die Bestellungen aufgegeben haben, und ihre entsprechenden Bestellungen.

Was sind Indizes in MySQL?

Indizierung ist der Prozess der Erstellung eines Index für eine oder mehrere Spalten einer MySQL-Tabelle, um die Abfrageleistung zu verbessern. Ein Index ist eine Datenstruktur, die es einer Datenbank ermöglicht, Zeilen basierend auf den Werten in den indizierten Spalten schnell zu finden.

Hier ist ein Beispiel

Angenommen, wir haben eine Tabelle namens „Produkte“, die Informationen über Produkte enthält, einschließlich einer Spalte namens „Produktname“. Um die Leistung der Suche nach Produkten nach Namen zu verbessern, können wir einen Index für die Spalte „Produktname“ erstellen −

CREATE INDEX idx_products_product_name ON products(product_name);

Dadurch wird ein Index für die Spalte „product_name“ der Tabelle „products“ erstellt, sodass die Datenbank Produkte schnell nach Namen suchen kann.

在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);

这个查询首先执行子查询,该子查询从'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;

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

Das obige ist der detaillierte Inhalt von10 wichtige MySQL-Interviewfragen für Datenbankadministratoren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen