ホームページ >データベース >mysql チュートリアル >データベース管理者向けの MySQL 面接で重要な 10 の質問

データベース管理者向けの MySQL 面接で重要な 10 の質問

PHPz
PHPz転載
2023-08-23 17:33:021014ブラウズ

データベース管理者向けの MySQL 面接で重要な 10 の質問

データベース管理者は、最も人気のあるオープンソース データベース管理システムの 1 つである MySQL に精通している必要があります。初心者でも経験豊富なプロフェッショナルでも、MySQL の面接での基本的な質問に答える準備をしておく必要があります。この記事では、最も一般的な質問のいくつかを取り上げ、次の面接の準備に役立つ例を示します。

MySQL とは何ですか?

MySQL は、SQL (構造化照会言語) を使用してデータを管理および操作するオープンソースのリレーショナル データベース管理システム (RDBMS) です。 1995 年に初めてリリースされ、現在は Oracle Corporation が所有しています。 MySQL は Web アプリケーション、特に PHP を使用して構築されたアプリケーションで広く使用されており、その速度、信頼性、使いやすさで知られています。

MySQL はどのようなデータ型をサポートしていますか?

MySQL は、-

を含む複数のデータ型をサポートします。
  • 数値データ型 - INT、BIGINT、FLOAT、DOUBLE、DECIMAL。

  • 日付と時刻のデータ型 - DATE、TIME、DATETIME、TIMESTAMP。

  • 文字列データ型 - CHAR、VARCHAR、TEXT、BLOB。

  • その他のデータ型 - BOOLEAN、ENUM、SET。

ここにいくつかの例があります-

  • INT -整数を表します(例: 5、10、100)。

  • VARCHAR -可変長文字列 (例: 'hello'、'world') を表します。

  • TEXT -大きなテキスト値を表します(ブログ投稿、記事など)。

  • DATE -日付を表します(例: '2023-04-03')。

  • TIMESTAMP -日付と時刻を表します(例: '2023-04-03 14:30:00')。

MySQL の主キーとは何ですか?

主キーは、MySQL テーブル内の行の一意の識別子です。テーブル内の各行が一意に識別可能であり、すぐにアクセスできるようにするために使用されます。主キーは 1 つ以上の列で構成できますが、一意である必要があり、null にすることはできません。

これは例です -

リーリー

この例では、「id」列が「users」テーブルの主キーです。これにより、各ユーザーが ID によって一意に識別されることが保証されます。

MySQL の外部キーとは何ですか?

外部キーは、別のテーブルの主キーを参照する MySQL テーブル内の列または列のグループです。これは、2 つのテーブル間の関係を確立し、テーブル間のデータの一貫性を確保するために使用されます。外部キー制約をテーブルに追加して、参照整合性を強制することができます。

これは例です -

リーリー

この例では、「user_id」列と「product_id」列は、それぞれ「users」テーブルと「products」テーブルの「id」列を参照する外部キーです。これにより、注文が有効なユーザーと関連付けられることが保証され、製品。###

MySQL のビューとは何ですか?

MySQL では、ビューは SELECT ステートメントの結果に基づく仮想テーブルです。ビューは、複雑なクエリを簡素化し、基礎となるデータの抽象的なビューを提供するためによく使用されます。

これは例です -

リーリー

この例では、すべての注文のユーザー名、製品名、注文日を返す「user_orders」というビューを作成します。このビューは、「users」テーブルと「orders」テーブル間の JOIN 操作に基づいています。

MySQL の INNER JOIN と LEFT JOIN の違いは何ですか?

INNER JOIN と LEFT JOIN はどちらも、2 つ以上のテーブルの行を結合するために使用される JOIN 操作のタイプです。 2 つの主な違いは、INNER JOIN は両方のテーブルで一致する値を持つ行のみを返すのに対し、LEFT JOIN は左側のテーブル (JOIN ステートメントにリストされている最初のテーブル) と右側のテーブルのすべての行を返すことです。一致する行の数。

これは例です -

「users」と「orders」という 2 つのテーブルがあるとします。 「users」テーブルにはユーザーに関する情報が含まれ、「orders」テーブルにはこれらのユーザーが行った注文に関する情報が含まれます。

すべてのユーザーとその対応する注文のリストを取得するには、LEFT JOIN −

を使用します。 リーリー

このクエリでは、注文があるかどうかに関係なく、すべてのユーザーが返され、存在する場合は対応する注文が返されます。

注文したユーザーのリストを取得するには、INNER JOIN −

を使用します。 リーリー

このクエリは、注文を行ったユーザーと、そのユーザーに対応する注文のみを返します。

MySQL のインデックスとは何ですか?

インデックス作成は、クエリのパフォーマンスを向上させるために、MySQL テーブルの 1 つ以上の列にインデックスを作成するプロセスです。インデックスは、データベースがインデックス付きの列の値に基づいて行を迅速に検索できるようにするデータ構造です。

これが例です

「product_name」という列を含む製品に関する情報を含む「products」というテーブルがあるとします。製品を名前で検索するパフォーマンスを向上させるために、「product_name」列にインデックスを作成できます -

リーリー

これにより、「products」テーブルの「product_name」列にインデックスが作成され、データベースが名前で製品をすばやく検索できるようになります。

在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方式执行。

以上がデータベース管理者向けの MySQL 面接で重要な 10 の質問の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。