初心者と経験者のためのトップ27のMySQLインタビューの質問と回答[2022]

公開: 2021-01-07

データエンジニアリングまたはデータサイエンスのインタビューが予定されていますか? 最もよく聞かれるMySQLインタビューの質問のいくつかを練習する必要がありますか? この記事は、知っておくべきMySQLインタビューの質問のリストをまとめたものです。

Swiggy、Quora、IMDBなどのアプリケーションの構築方法を学ぶ

一般的なMySQLインタビューの質問と回答

1. MySQLとは何ですか?

MySQLは、最も人気のあるオープンソースDBMS(データベース管理システム)の1つです。 MySQLは使いやすく、信頼性が高く、高速です。 組み込みシステムおよびクライアントサーバーシステムで機能するDB管理システム。

2. MySQLはなぜそれほど人気が​​あるのですか?

まず第一に、MySQLはオープンソースです。 第二に、広く採用されているため、すでに多くのコードが利用可能です。 開発されたシステム全体でさえ、今後のプロジェクトで参照できるものがあります。 MySQLにはリレーショナルデータベースがあります。 したがって、整理されていない混乱の大きなダンプではなく、整然としたストレージを備えています。 そして最後に、前述のように、MySQLは高速で堅牢です。

3. MySQLのテーブルは何ですか? タイプを説明します。

これは、 MySQLの面接で知っておくべき質問です。 答えを見てみましょう-

MySQLはすべてを論理テーブルに格納します。 テーブルは、MySQLのコアストレージ構造と考えることができます。 したがって、テーブルはストレージエンジンとも呼ばれます。 MySQLが提供するストレージエンジンは次のとおりです。

MyISAM –MyISAMはMySQLのデフォルトのストレージエンジンです。 以前のISAMストレージエンジンを拡張します。 MyISAMは、最大256TBの大容量ストレージを提供します。 テーブルを圧縮して、追加のストレージを取得することもできます。 MyISAMテーブルはトランザクションセーフではありません。

MERGE – MERGEテーブルは、1つのテーブルに匹敵する構造を持つさまざまなMyISAMテーブルを統合する仮想テーブルです。 MERGEテーブルには独自のインデックスがないため、ベーステーブルのインデックスが使用されます。

アーカイブ–名前が示すように、アーカイブはテーブルを圧縮することでテーブルをアーカイブし、ストレージスペースを削減するのに役立ちます。 したがって、アーカイブを使用して多くのレコードを保存できます。 テーブルレコードの書き込みと読み取り中に、圧縮-解凍手順を使用します。 これは、Zlibライブラリを使用して行われます。

CSV –これはストレージ形式に似ています。 CSVエンジンは、値をコンマ区切り値(CSV)形式で保存します。 このエンジンを使用すると、テーブルを非SQLパイプラインに簡単に移行できます。

InnoDB – InnoDBは、パフォーマンスを向上させるエンジンを選択する際に最適です。 InnoDBはトランザクションセーフなエンジンです。 したがって、ACIDに準拠しており、クラッシュが発生した場合にデータベースを最も安定した状態に効率的に復元できます。

メモリ–メモリテーブルは以前はHEAPと呼ばれていました。 メモリテーブルを使用すると、テーブルがメモリに格納されるため、パフォーマンスが向上する可能性があります。 ただし、同じ理由により、大きなデータテーブルでは機能しません。

フェデレーション–フェデレーションテーブルを使用すると、リモートのMySQLサーバーテーブルにアクセスできます。 これは、サードパーティの統合やクラスターテクノロジーなしで実行できます。

読む:データサイエンスのためのSQL:なぜSQL、利点とコマンドのリスト

4.MySQLで列を追加するためのクエリを記述します

このためには、ALTERTABLEクエリが必要です。 呼び出されたら、列とその定義について説明します。 このようなもの:

ALTERTABLE車

色の後にCOLUMNエンジンVARCHAR(80)を追加します。

5.外部キーとは何ですか? MySQLで同じものを実装するためのクエリを記述します。

外部キーは、2つのテーブルを接続するために使用されます。 FOREIGN KEYは、あるテーブルのフィールド(またはその組み合わせ)であり、別のテーブルのPRIMARYKEYをほのめかします。 FOREIGN KEY要件は、テーブル間の結合をクラッシュさせるアクティビティを未然に防ぐために使用されます。

外部キーを割り当てるには、テーブルを作成するときにそのキーについて言及することが重要です。 これは、FOREIGNKEYクエリを呼び出すことによって割り当てることができます。 このようなもの:

外部キー(Any_ID)参照Table_to_reference(Any_ID)

6. MySQLワークベンチとは何ですか?

MySQL Workbenchは、データベースモデラー、デザイナー、およびDBA向けの結合されたビジュアルインスツルメントです。 MySQL Workbenchは、データモデリング、SQL、および管理ツールのサーバーセットアップセットを提供します。 簡単に言えば、MySQLワークベンチはGUIを介してデータベース管理システムを操作することを可能にします。

7.データベースのインポート/エクスポートはMySQLでどのように機能しますか?

それは2つの方法で行うことができます。 1つはphpMyAdminを使用する方法で、もう1つはMySQLのコマンドラインアクセスを使用する方法です。 後者は、mysqldumpという名前のコマンドを使用して実行できます。 これは次のようになります。

・mysqldump -u username -p databasename> dbsample.sql

データベースをMySQLにインポートするには、MySQLのコマンドを使用して、符号を変更するだけで済みます。 コマンドは次のようになります。

・mysql -u username -p databasename <dbsample.sql

8. MySQLで列または行を削除するにはどうすればよいですか?

これで、ALTER TABLEコマンドを使用してから、DROPコマンドを使用するだけで、列を削除できます。 これは次のようになります。

ALTER TABLEtable_nameDROP列名。

行を削除するには、まず、行のIDが必要です。 それが便利になったら、条件付きWHEREコマンドと組み合わせてDELETEコマンドを使用します。 このようなもの:

車から削除WHEREcarID= 3;

9. MySQLでテーブルを結合するさまざまな方法は何ですか?

結合は、1つ以上のテーブルを、両方のテーブルの共通の列の値とともにリンクするために使用されます。 主に4つのタイプの結合があります。

1.内部結合–内部結合は、結合を行うために使用される条件である結合述部を使用します。 構文は次のとおりです。

テーブル名から何かを選択しますINNERJOIN別のテーブルON条件;

2.左結合–左結合にも結合条件が必要です。 左結合は、左のテーブルから始まる情報を選択します。 左側のテーブルの各エントリについて、左側は右側のテーブルの各エントリを比較します。 構文は次のとおりです。

テーブル名から何かを選択します。別のテーブルをオン条件で結合します。

3.右結合–左結合の反対であり、クエリに1つの違いがありますが、それは結合の名前です。 ここでは、テーブルの順序に注意する必要があります。 構文は次のとおりです。

テーブル名から何かを選択します。別のテーブルをオン条件で結合します。

4.クロス結合–クロス結合には結合条件がありません。 両方のテーブルの行のデカルトを作成します。 構文は次のとおりです。

別のテーブルのテーブル名CROSSJOINから何かを選択します。

注:1つのテーブルのみを処理する場合、自己結合も可能です。

これは、 MySQLの面接の質問で最も扱われるものの1つです インタビュアーは、候補者が基本を理解しているかどうかを確認し、コアコンセプトの1つに参加することを好みます。

読む:PHPインタビューの質問と回答

10. MySQLで主キーを削除できますか? はいの場合、どのように?

はい、テーブルから主キーを削除することは可能です。 使用するコマンドは、ALTERTABLEの後にDROPが続きます。 こんなふうになります:

ALTER TABLE table_name DROP PRIMARY KEY;

11. MySQLのプロシージャとは何ですか?

プロシージャ(またはストアドプロシージャ)は、通常の言語と同じように、データベースに埋め込まれたサブプログラムです。 ストアドプロシージャは、名前、SQLステートメント、およびパラメータで構成されます。 MySQLのキャッシングを利用するため、プリペアドステートメントと同様に時間とメモリを節約できます。

12. MySQLのトリガーとは何ですか?

トリガーは、MySQLのテーブルに関連付けられたデータベースオブジェクトです。 指定されたアクションが発生するとアクティブになります。

トリガーは、イベントの発生後または発生前に呼び出すことができます。 INSERT、DELETE、およびUPDATEで使用できます。 それぞれの構文を使用してトリガーを定義します。 たとえば、BEFORE INSERT、AFTERDELETEなどです。

13. MySQLでユーザーを追加するにはどうすればよいですか?

簡単に言うと、CREATEコマンドを使用し、必要な資格情報を指定することで、ユーザーを追加できます。 まず、MySQLアカウントにログインしてから、構文を適用します。 このようなもの:

CREATE USER'testuser' IDENTIFIEDBY'サンプルパスワード';

次のコマンドを使用して、ユーザーにアクセス許可を付与できます。

GRANT SELECTON*。 * TO'testuser';

14. OracleとMySQLの主な違いは何ですか?

主な違いは、MySQLが単一モデルのデータベースで動作することです。 つまり、Oracleはマルチモデルデータベースですが、1つの基本構造でしか機能しません。 これは、グラフ、ドキュメント、Key-Valueなどのさまざまなデータモデルをサポートできることを意味します。

もう1つの根本的な違いは、オラクルのサポートには産業用ソリューションの値札が付いていることです。 MySQLはオープンソースですが。

この質問は、慎重に理解する必要があるMySQLインタビューの質問の1つです。 それは業界標準と会社が望んでいるものを直接扱っているからです。

15. MySQLのCHARおよびVARCHARとは何ですか?

どちらも文字列を定義します。 主な違いは、CHARが固定長であるのに対し、VARCHARは可変長であるということです。 たとえば、CHAR(5)が定義されている場合、正確に5文字が必要です。 VARCHAR(5)が定義されている場合、最大5文字を使用できます。 VARCHARは、動的なメモリ割り当てが可能なため、メモリの使用効率が高いと言えます。

16. MySQLにはどのドライバーが必要ですか?

MySQLには多くの種類のドライバーがあります。 ほとんどの場合、これらはさまざまな計算言語との接続に使用されます。 それらのいくつかを以下に示します。

・PHPドライバー

・JDBC

・OBDC

・Pythonドライバー

・c –ラッパー

・PerlおよびRubyドライバー

17. LIKEステートメントとは何ですか? LIKEで%と_を説明します。

SELECT、UPDATE、DELETEなどのコマンドでフィルターを使用している場合、条件を検出するためにパターンが必要になる場合があります。 LIKEはまさにそれを行うために使用されます。 LIKEには、%(パーセンテージ)と_(アンダースコア)の2つのワイルドカード文字があります。 Percentage(%)は文字列に一致し、アンダースコアは1文字に一致します。

たとえば、%tは木とお茶の両方を検出します。 ただし、_tは1つの余分な文字、つまりtiやteなどの文字列のみを検出します。

18. MySQLでタイムスタンプを日付に変換するにはどうすればよいですか?

これは、DATE_FORMATとFROM_UNIXTIMEのような2つのコマンドに関する知識を必要とするかなり単純な質問です。

DATE_FORMAT(FROM_UNIXTIME( `date_in_timestamp`)、'%e%b%Y')AS'date_formatted'

また読む: Javaインタビューの質問と回答

19.どのような場合でもMySQLでクエリを記述できますか?

このMySQLインタビューの質問は、MySQLを使い始めたばかりの人を混乱させることがよくあります。 ほとんどの場合、クエリは大文字または小文字で記述されますが、MySQLクエリではそのような大文字と小文字は区別されません。

たとえば、createtabletablenameとCREATETABLEtablenameはどちらも正常に機能します。

ただし、必要に応じて、キーワードBINARYを使用して、クエリで大文字と小文字を区別することができます。

このMySQLインタビューの質問は、特にクエリで大文字と小文字を明示的に区別するように求められた場合、注意が必要な場合があります。

20. MySQLで画像を保存する方法は?

画像は、BLOBに変換することでMySQLデータベースに保存できます。 ただし、オーバーヘッドが大きくなるため、好ましくありません。 さらに、データベース全体をロードするときに、RAMに不要な負荷がかかります。 したがって、パスをデータベースに保存し、イメージをディスクに保存することをお勧めします。

21. MySQLのデータから複数の条件の結果を取得するにはどうすればよいですか?

これを行うには2つの方法があります。 1つ目は、WHERE条件を使用しながらキーワードORを使用することです。 もう1つは、値のリストを使用してINをチェックしてWHEREで使用することです。

22. MyISAMで使用されるさまざまなファイル形式は何ですか?

通常、MyISAMテーブルは、ディスク上の3つのファイルを使用して保存されます。 データファイルとインデックスファイル。それぞれ拡張子.MYDと.MYIで定義されています。 拡張子が.frmのテーブル定義ファイルがあります。

23. DISTINCTはMySQLでどのように機能しますか?

DISTINCTは、特定のクエリの結果をフェッチする際の重複の問題を回避するために使用されます。 DISTINCTは、結果に繰り返し値が含まれないようにするために使用されます。 DISTINCTは、SELECT句とともに使用できます。 その構文は次のとおりです。

テーブル名から何かを選択します。

24.テーブルの列数に上限はありますか?

正確なサイズ制限は多くの要因によって異なりますが、MySQLには最大サイズを4096列に制限するという厳しい制限があります。 ただし、前述のように、特定のテーブルでは、実効最大値が小さくなる場合があります。

25. MySQLに準拠したアクセス制御リストまたはACLとは何ですか?

ACLまたはアクセス制御リストは、MySQLデータベースのセキュリティのガイドラインを提供する方法で使用されます。 MySQLは、接続要求、クエリ、その他の操作など、ユーザーが実行するすべてのタスクに対してACLに基づくセキュリティを提供します。

26. MySQLで接続を永続化するにはどうすればよいですか?

接続要求を行う際に、mysql_connectではなくMysql_pconnectを使用すると、接続を永続化できます。 ここで、「p」は永続的であることを意味します。 データベース接続は毎回閉じられるわけではありません。

27.MySQLのSAVEPOINTステートメントについて説明します。

SAVEPOINTは、MySQLでサブトランザクションを作成する方法であり、ネストされたトランザクションとも呼ばれます。

SAVEPOINTは、通常のトランザクションでポイントをマークします。 これは、システムがロールバックできるポイントを示します。

チェックアウト:インドのSQL Developer Salary

世界のトップ大学からオンラインでソフトウェア開発コース学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

結論

それで、これらはいくつかのMySQLインタビューの質問でした。 主題と他の準備について知るために、あなたのキャリアを後押しするための正しいトラックとアプリケーションを見つけるのを助けるupGradコースとPGプログラムを訪問してください。

SQLやフルスタック開発について詳しく知りたい場合は、フルスタックソフトウェア開発におけるIIIT-B&upGradのエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに作成され、10以上のケーススタディとプロジェクト、実践的なハンズを提供します-ワークショップ、業界の専門家とのメンターシップ、業界のメンターとの1対1、400時間以上の学習とトップ企業との仕事の支援。

未来のキャリアに備える

フルスタック開発のエグゼクティブPGプログラムに今すぐ申し込む