top 40 best mysql interview questions
クエリの例を含む最も人気のあるMySQLインタビューの質問のリスト(2021年の最新のMySQL質問):
MySQLは最新のWebアプリケーションの重要な部分であり、MySQLの知識はWeb開発者の仕事に共通の要件です。
この記事では、初心者や経験豊富な専門家向けの基本レベルおよび上級レベルのMySQLの質問のリストを、必要な例とともに説明します。
これらの質問は、求職者が自信を高め、面接に成功するのに役立ちます。
最もよくあるMySQLインタビューの質問
以下にリストされているのは、専門家によるインタビューで一般的に尋ねられる最も人気のあるMySQLインタビューの質問です。
Q#1)MySQLとは何ですか?
回答: MySQLは、OracleCorporationによって開発および配布されているオープンソースのDBMSです。
Windows、Linuxなどの一般的なオペレーティングシステムのほとんどでサポートされています。さまざまな種類のアプリケーションの開発に使用できますが、主にWebアプリケーションの開発に使用されます。
= >>もお読みください Web開発者のインタビューの質問
MySQLはGPL(GNU General Public License)を使用しているため、誰でもダウンロードしてインストールし、自由に公開または配布されるアプリケーションを開発できます。ただし、ユーザーがMySQLを使用して商用アプリケーションを開発する場合は、MySQLの商用バージョンを購入する必要があります。
Q#2)MySQLの機能は何ですか?
回答: MySQLには、人気のあるデータベース管理ソフトウェアとなるいくつかの便利な機能があります。
MySQLのいくつかの重要な機能を以下に示します。
- 信頼性が高く、使いやすいです。
- これは、大規模および小規模の両方のアプリケーションに適したデータベースソフトウェアです。
- 誰でも無料でインストールして使用できます。
- これは、PHP、Java、C ++、PERLなどの多くのよく知られたプログラミング言語でサポートされています。
- 標準SQL(構造化照会言語)をサポートします。
- MySQLのオープンソースライセンスはカスタマイズ可能です。したがって、開発者はアプリケーションの要件に応じて変更できます。
Q#3)MySQLのデフォルトのポート番号は何ですか?
回答: MySQLのデフォルトのポート番号は3306です。
Q#4)インストールされているMySQLのバージョンをどのように確認できますか?
回答: インストールされているMySQLサーバーのバージョンは、MySQLプロンプトから次のコマンドを実行することで簡単に確認できます。
mysql> SHOW VARIABLES LIKE“%version%”;
Q#5)MySQLを使用することの長所と短所は何ですか?
回答: MySQLにはいくつかの利点があり、現在、より人気のあるデータベースシステムになっています。
MySQLのいくつかの重要な長所と短所を以下に示します。
利点:
- 信頼性が高く安全なデータベース管理システムでよく知られています。このソフトウェアを使用すると、Webサイトのトランザクションタスクをより安全に実行できます。
- データを保存するためのさまざまなタイプのストレージエンジンをサポートし、この機能でより高速に動作します。
- 高速トランザクションプロセスで数百万のクエリを処理できます。
- マルチレベルトランザクション、データ整合性、デッドロック識別など、多くの高度なレベルのデータベース機能をサポートします。
- このソフトウェアのメンテナンスとデバッグのプロセスは簡単です。
短所:
- MySQLをスケーラブルにするのは難しいです。
- 非常に大きなタイプのデータベースには適していません。
- 保存されたルーチンとトリガーの使用はMySQLに限定されています。
Q#6)myisamchkの機能は何ですか?
回答: myisamchkは、MyISAMデータベーステーブルに関する情報を取得するために使用される便利なデータベースユーティリティツールです。
また、データベーステーブルのチェック、デバッグ、修復、および最適化にも使用されます。サーバーがダウンしているとき、または必要なテーブルがサーバーによって使用されていないときに、このコマンドを使用することをお勧めします。
構文:
myisamchk (OPTION) table_name…
このツールで使用可能なオプションは、次のコマンドを使用して取得できます。
myisamchk –ヘルプ
すべてのMyISAMテーブルを確認または修復するには、データベースディレクトリの場所から実行するために次のコマンドが必要になります。
myisamchk * .MYI
Q#7)ENUMおよびSETデータ型を使用する目的は何ですか?
回答: ENUMデータ型はMySQLデータベーステーブルで使用され、事前定義されたリストから任意の1つの値を選択します。
ENUMとして宣言されたフィールドはリスト外の値を受け入れないため、事前定義されたリストを定義することにより、特定のフィールドの値を制限できます。
SETデータ型は、事前定義されたリストから1つ以上またはすべての値を選択するために使用されます。このデータ型を使用して、ENUMなどの事前定義された値のリストのみを挿入するフィールドを制限することもできます。
例:
コマンドプロンプトからMySQLサーバーを実行し、次のSQLコマンドを実行して、ENUMおよびSETデータ型の使用法を確認します。
次のSQLコマンド 新しいデータベースを作成する 「 newdb ’を選択し、使用するデータベースを選択します。
CREATE DATABASE newdb;
USE newdb;
次のSQLコマンドは、という名前のテーブルを作成します クライアント フィールドENUMおよびSETデータ型を使用します。
CREATE TABLE clients ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), membership ENUM('Silver', 'Gold', 'Diamond'), interest SET('Movie', 'Music', 'Concert'));
INSERTクエリは、テーブルに2つのレコードを作成します。 ENUMフィールドは、定義されたリストからのデータのみを受け入れます。
' プレミアム ’の値はENUMリストに存在しません。したがって、ENUMフィールドの値は2番目のレコードでは空になります。 SETは複数の値を受け入れることができ、両方のデータが2番目のレコードに挿入されます。
INSERT INTO clients (name, membership,interest) VALUES ('Sehnaz','Gold', 'Music'), ('Sourav','Premium', 'Movie,Concert'); SELECT * FROM clients;
Q#8)主キーと外部キーの違いは何ですか?
回答: データベーステーブルは、主キーを使用して各行を一意に識別します。テーブル間の関係を作成する必要があるテーブルで主キーを宣言する必要があります。テーブルの1つ以上のフィールドを主キーとして宣言できます。
いずれかのテーブルの主キーが、データベース関係を作成するための主キーまたは別のフィールドとして別のテーブルで使用される場合、それは外部キーと呼ばれます。
これら2つのキーの違いを以下に示します。
- 主キーはレコードを一意に識別しますが、外部キーは別のテーブルの主キーを参照します。
- 主キーはNULL値を受け入れることはできませんが、外部キーはNULL値を受け入れます。
- 主キーを含むテーブルにレコードが挿入される場合、この主キーフィールドを含むテーブルに外部キーとして値を挿入する必要はありません。
- 主キーを含むテーブルからレコードを削除する場合、データの整合性を保つために、対応するレコードを外部キーを含むテーブルから削除する必要があります。ただし、別のテーブルの関連レコードを削除せずに、外部キーを含むテーブルから任意のレコードを削除できます。
例:
名前の付いた2つのテーブル メーカー そして アイテム 次の2つのSQLコマンドを実行した後に作成されます。
ここで、の主キーは メーカーの テーブルはで外部キーとして使用されます アイテム フィールド名のあるテーブル Manufacturer_id 。従って Manufacturer_id フィールドには、に存在する値のみが含まれます メーカーの テーブル。
CREATE TABLE manufacturers ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50)); CREATE TABLE items ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), type VARCHAR(50), brand VARCHAR(50), manufacturer_id INT, FOREIGN KEY (manufacturer_id) REFERENCES manufacturers(id));
Q#9)CHARデータ型とVARCHARデータ型の違いは何ですか?
回答: CHARデータ型とVARCHARデータ型の両方を使用して、テーブルのフィールドに文字列データを格納します。
これらのデータ型の違いを以下に示します。
- CHARデータ型は固定長の文字列データを格納するために使用され、VARCHARデータ型は可変長の文字列データを格納するために使用されます。
- CHARデータ型のストレージサイズは常にこのデータ型の最大長になり、VARCHARのストレージサイズは挿入された文字列データの長さになります。したがって、文字列の長さがすべてのレコードで同じ長さになる場合は、CHARデータ型を使用することをお勧めします。
- CHARは小さなデータを格納するために使用されますが、VARCHARは大きなデータを格納するために使用されます。
- CHARの動作は速く、VARCHARの動作は遅くなります。
さらに読む= >> MySQLデータ型
例:
次のSQLステートメントは、Customersという名前のテーブルを作成します。この表では、のデータ型は 名前 フィールドはVARCHARで、データ型は 電話 フィールドはCHARです。
のサイズ 名前 フィールドは、挿入された値の長さに依存します。のサイズ 電話 挿入された値の長さが14文字未満であっても、フィールドは常に14文字になります。
CREATE TABLE customers ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), phone CHAR(14))
Q#10)TIMESTAMPデータ型を使用する目的は何ですか?
回答: TIMESTAMPデータ型は、19文字の日付と時刻の値の組み合わせを格納するために使用されます。
TIMESTAMPの形式はYYYY-MM-DDHH:MM:SSです。 「1970-01-0100:00:01」UTCから「2038-01-1903:14:07」UTCまでのデータを保存できます。デフォルトでは、サーバーの現在の日付と時刻は、新しいレコードが挿入または更新されるときに、このデータ型のフィールドに挿入されます。
Q#11)mysql_fetch_array()とysql_fetch_object()の違いは何ですか?
回答: mysql_fetch_array()とmysql_fetch_object()はどちらも、MySQLデータベーステーブルからレコードを取得するためのPHPの組み込みメソッドです。
これらのメソッドの違いは、mysql_fetch_array()が結果セットを配列として返し、mysql_fetch_object()が結果セットをオブジェクトとして返すことです。
例:
$result = mysql_query('SELECT id, name FROM clients'); //using mysql_fetch_array() while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf('ID: %s Name: %s', $row(0), $row(1)); } //using mysql_fetch_object() while ($row = mysql_fetch_object($result)) { printf('ID: %s Name: %s', $row->id, $row->name); }
Q#12)テーブルからレコードを取得するときに重複データをフィルタリングするにはどうすればよいですか?
回答: DISTINCTキーワードは、テーブルからレコードを取得するときに、テーブルから重複データをフィルタリングするために使用されます。
例:
次のSQLコマンドは、のすべてのレコードを表示します。 アイテム テーブル。出力は、テーブルの(タイプ)フィールドに重複する値が含まれていることを示しています。
SELECT * from items;
次のSQLコマンドは、の値を表示します タイプ 重複する値を削除してフィールド。
SELECT DISTINCT type from items;
Q#13)NOW()とCURRENT_DATE()の違いは何ですか?
回答: どちらも NOW() そして 現在の日付() 組み込みのMySQLメソッドです。 NOW() サーバーの現在の日付と時刻を表示するために使用され、 現在の日付() サーバーの日付のみを表示するために使用されます。
SELECT now();
SELECT current_date();
Q#14)部分一致の選択クエリで使用されるステートメントはどれですか?
回答: 正規表現 そして お気に入り ステートメントは、部分一致のSELECTクエリで使用できます。 REGEXPはパターンに基づいてレコードを検索するために使用され、LIKEは特定のフィールド値の最初または最後または中央にある任意の文字列を照合することによって任意のレコードを検索するために使用されます。
例:
まず、 ‘の既存の記録を確認します クライアントの SELECTクエリを実行してテーブルを作成します。
SELECT * FROM clients;
REGEXP句を指定してSELECTクエリを実行し、 クライアント ここで、クライアント名は「 S '
SELECT * FROM clients WHERE name REGEXP '^S';
LIKE句を指定してSELECTクエリを実行し、 クライアント ここで、クライアント名は「 に '
SELECT * FROM clients WHERE name LIKE 'A%';
Q#15)文字列を連結するために使用されるMySQL関数はどれですか?
回答: CONCAT() 関数は、2つ以上の文字列データを組み合わせるために使用されます。この関数の使用例を以下に示します。
例:
以下 CONCATを使用したSELECTクエリ ()関数は、「Welcome」、「to」、「SoftwareTestingHelp」、「。」、「com」の5つの単語を組み合わせます。
SELECT CONCAT('Welcome ',to ','SoftwareTestingHelp','.',com');
CONCAT()関数は、どのテーブルでも使用できます。次のSELECTクエリは、2つのフィールドを組み合わせて出力を表示します。 ブランド そして タイプ の アイテム テーブル。
SELECT CONCAT(brand,'=>',type) from items;
Q#16)SQLステートメントを使用して、既存のテーブルの名前を変更するにはどうすればよいですか?
回答: 次のSQLコマンドは、データベースの既存のテーブルの名前を変更するために使用されます。
RENAME TABLE table_name TO new_name
例:
次のコマンドは、のテーブルリストを表示します newdb データベース。
SHOW TABLES;
例を含むc#のoopsの概念
次のrenameコマンドは、テーブルの名前を変更します アイテム 新しい名前で 製品 。
RENAME TABLE items TO products;
SHOW TABLES;
Q#17)SELECTクエリを使用して、列値の一部を取得するにはどうすればよいですか?
回答: SUBSTR() 関数は、任意の列の部分を取得するために使用されます。ここでは、この関数の使用法を例を挙げて説明します。
例:
ここで、最初のSELECTコマンドはProductsテーブルのすべてのレコードを表示するために使用され、2番目のSELECTコマンドはSUBSTR関数を使用して実行され、名前フィールドの最初の5文字のみを出力します。
SELECT * FROM products;
SELECT SUBSTR(name,1,5) FROM products;
Q#18)HEAPテーブルを使用する目的は何ですか?
回答: ハッシュインデックスを使用してメモリに格納するテーブルは、HEAPテーブルと呼ばれます。これは一時テーブルとして機能し、別のテーブルタイプよりも高速になるインデックスを使用します。
MySQLが何らかの理由でクラッシュすると、このテーブルに保存されているすべてのデータが失われる可能性があります。固定長のデータ型を使用します。したがって、BLOBおよびTEXTデータ型はこのテーブルではサポートされていません。これは、速度が最も重要な要素であり、一時データが使用されるMySQLタスクに役立つテーブルです。
Q#19)テーブルの列を追加および削除するにはどうすればよいですか?
回答: 既存のテーブルに列を追加するための構文を以下に示します。
ALTER TABLE table_name ADD COLUMN column_name column_definition (FIRST|AFTER existing_column)
例:
DESCRIBEコマンドは、productsテーブルの構造を表示するために使用されます。
DESCRIBE products;
ADD COLUMN句を指定した次のALTERコマンドは、 ‘という名前の新しいフィールドを追加します。 価格' テーブルで 製品 。
ALTER TABLE products ADD COLUMN price DECIMAL(5,2);
DESCRIBE products;
既存のテーブルから列を削除するための構文を以下に示します。
ALTER TABLE table_name DROP COLUMN column_name;
例:
次のALTERコマンドでDROPCOLUMN句を指定すると、「」という名前のフィールドが削除されます。 ブランド' テーブル内 ‘ 製品の 。
ALTER TABLE products DROP COLUMN brand;
DESCRIBE products;
Q#20)インデックスとは何ですか? MySQLでインデックスを宣言するにはどうすればよいですか?
回答: インデックスは、クエリを高速化するために使用されるMySQLテーブルのデータ構造です。
これは、データベース検索エンジンがレコードをより速く見つけるために使用します。テーブルの1つ以上のフィールドをインデックスキーとして使用できます。インデックスキーは、テーブル宣言時に割り当てることも、テーブルの作成後に割り当てることもできます。
例:
ユーザー名 そして Eメール 次のcreatetableステートメントでは、フィールドがインデックスとして設定されます。
CREATE TABLE users( username VARCHAR(50) PRIMARY KEY, email VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, INDEX (username, email));
次のコマンドは、 ‘のインデックスキー情報を表示します。 ユーザーの テーブル。
SHOW INDEXES FROM users;
Q#21)10進数(5,2)とはどういう意味ですか?
回答: MySQLでは、小数データを格納するために10進データ型が使用されます。
10進数(5,2)の意味は、小数値の全長が5であることを意味します。フィールドには、小数点の前に3桁、小数点の後に2桁を含めることができます。ユーザーが定義された長さより大きい値を追加すると、フィールドに999.99が挿入されます。
このデータ型の使用について、次の例で説明します。
例:
次の挿入クエリでは、 789.56 に挿入されます 価格 フィールド。この値は1000未満であり、小数部の合計桁数は5です。したがって、この値はこのフィールドに有効です。
INSERT INTO products (type, name, price, manufacturer_id) VALUES ('Mobile', 'iPhone 8', 789.56, 1); SELECT * FROM products;
次の挿入クエリでは、 34789,567 価格フィールドに設定されます。この場合、この値は1000より大きく、小数部分を含む合計桁数は8です。したがって、デフォルト値999.99が34789.567の代わりに挿入されます。 。
INSERT INTO products (type, name, price, manufacturer_id) VALUES('TV','Sony 32' Smart TV',34789.567, 2); SELECT * FROM products;
Q#22)ビューは何ですか? MySQLでビューを作成およびドロップするにはどうすればよいですか?
回答: ビューは、クエリを格納するために使用される仮想テーブルとして機能し、呼び出されたときに結果セットを返します。更新可能なビューもMySQLでサポートされています。
次の例に、MySQLでビューを作成または削除する方法を示します。
ビューの作成例:
次のステートメントは、 ‘という名前のビューファイルを作成します client_list ’は表に基づいています クライアント 。
CREATE VIEW `client_list` AS SELECT `name` as 'Name', `membership` as 'Membership' FROM `clients`;
SELECTステートメントはのレコードを表示します client_list 値。
jsonファイルを開くにはどうすればよいですか
SELECT * FROM client_list;
DROPビューの例:
ドロップビューステートメントは、ビューファイルを削除します。ビューを削除した後、SELECTクエリはエラーを表示します。
DROP VIEW client_list;
SELECT * FROM client_list;
Q#23)mysqldumpの機能は何ですか?
回答: mysqldumpは、バックアップまたは別のデータベースサーバーへの転送のために、サーバーから1つ以上またはすべてのデータベースをダンプするために使用されるMySQLの便利なユーティリティツールです。
構文:
単一のデータベースの場合、
mysqldump (オプション) db_name (テーブル)
複数のデータベースの場合、
mysqldump (OPTIONS) –データベースDB1 (DB2DB3…)
すべてのデータベースについて、
mysqldump (オプション) –すべてのデータベース
例:
次のコマンドは、のダンプを作成します 「newdb」 データベースを作成し、データベースの内容をファイルにエクスポートします。 newdb.sql 。
mysqldump --databases newdb > newdb.sql
Q#24)MySQLユーザーのパスワードを変更するにはどうすればよいですか?
回答: セットする パスワード ステートメントは、MySQLユーザーのパスワードを変更するために使用されます。
構文:
「username」@「hostname」のパスワードを設定= PASSWORD(「password」);
例:
次のステートメントは、rootパスワードを設定または変更します。
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
Q#25)UNIXTIMESTAMPとMySQLTIMESTAMPの違いは何ですか?
回答: UNIXTIMESTAMPとMySQLTIMESTAMPの両方が、日付と時刻の値を表すために使用されます。これらの値の主な違いは、UNIX TIMESTAMPは32ビット整数を使用して値を表し、MySQLTIMESTAMPは人間が読める形式で値を表すことです。
例:
UNIX時間値は、SELECTクエリのFROM_UNIXTIME関数によって使用され、人間が読める形式で日付と時刻の値を取得します。
SELECT FROM_UNIXTIME (1596222320) AS 'MySQLTIMESTAMP';
日付と時刻の値は、UNIX形式で日付と時刻の値を取得するためにSELECTクエリのUNIX_TIMESTAMP関数によって使用されます。
SELECT UNIX_TIMESTAMP ('2018-12-25 09:45:40') AS 'UNIXTIMESTAMP';
Q#26)MySQLクライアントを使用してSQLファイルからデータベースにテーブルをインポートするにはどうすればよいですか?
回答: データベーステーブルは、次のMySQLステートメントを使用してSQLファイルからデータベースにインポートできます。
mysql -u username -p database_name
例:
rootユーザーのパスワードが空の場合、次のコマンドは「newdb.sql」ファイルからデータベースにテーブルをインポートします `mydb`。
mysql -u root mydb 

Q#27)主キーと一意キーの違いは何ですか?
回答: 一意のデータは、主キーと一意のキーのフィールドに保存されます。主キーフィールドはNULL値を受け入れることはありませんが、一意キーフィールドはNULL値を受け入れます。
例:
の中に ユーザーの テーブル、 id フィールドは 主キー そしてその Eメール フィールドは 一意のキー 。 2つのレコードがテーブルに挿入されます。2つの電子メールフィールドはNULLです。nd記録。一意のフィールドがNULL値をサポートしているため、レコードは正しく挿入されます。
INSERT INTO users (username, email, password) VALUES('admin', 'admin@example.com', '7890'), ('staff', 'NULL', '1234'); SELECT * FROM users;

Q#28)IFNULL()関数を使用する目的は何ですか?
回答: IFNULL() 関数は2つの引数を取ります。最初の引数の値がNULLでない場合は最初の引数の値を返し、最初の引数の値がNULLの場合は2番目の引数を返します。
例:
ここで、IFNULL関数の最初の引数はNULLではありません。したがって、出力は最初の引数値です。
SELECT IFNULL ('Tutorial', 'fahmidasclassroom.com');

ここで、IFNULL関数の最初の引数はNULLです。したがって、出力はNULLです。
SELECT IFNULL ('NULL', 'fahmidasclassroom.com');

Q#29)結合とは何ですか?さまざまなタイプのMySQL結合について説明します。
回答: 一致する列に基づいて2つ以上のテーブル間の接続を確立するために使用されるSQLステートメントは、結合と呼ばれます。これは主に複雑なクエリに使用されます。
さまざまなタイプのSQL結合について以下に説明します。
- 内部結合 :デフォルトの結合です。結合テーブルで値が一致すると、レコードを返します。
- 左外部結合 :右側のテーブルの一致したレコードに基づいて、左側のテーブルのすべてのレコードを返します。
- 右外部結合 :左側のテーブルの一致したレコードに基づいて、右側のテーブルのすべてのレコードを返します。
- 完全外部結合 :左または右のテーブルから一致するすべてのレコードを返します。
例:
2つのテーブル、 メーカー そして 製品 この例では、INNERJOINの使用法を示すために使用されています。ここでは、SELECTクエリを使用して、これら2つのテーブルの現在のレコードを表示します。
SELECT * FROM manufacturers;
SELECT * FROM products;

INNER JOINは、次のSELECTクエリで使用され、一致に基づいて製品テーブルのすべてのIDと名前が表示されます。 Manufacturer_id の 製品 と id の メーカーの テーブル。
SELECT products.id, products.name FROM products INNER JOIN manufacturers ON manufacturers.id= products.manufacturer_id;

Q#30)テーブルから特定の数のレコードを取得するにはどうすればよいですか?
回答: 制限 句は、テーブルから特定の数のレコードを取得するためにSQLステートメントとともに使用されます。どのレコードから取得され、いくつのレコードが取得されるかは、LIMIT句によって定義されます。
構文:
LIMITstarting_number、number_of_rows
例:
製品テーブルには、最初のSELECTクエリによって表示される5つのレコードがあり、2番目のSELECTクエリは2つのレコードを表示するために使用されます。nd〜3rdLIMIT 1、2を使用します。
SELECT * FROM products;
SELECT * FROM products LIMIT 1, 2;

Q#31)MySQLでテーブルをXMLファイルとしてエクスポートするにはどうすればよいですか?
回答: 「-x」オプションは、ファイルをXMLとしてエクスポートするために `mysql`コマンドとともに使用されます。次のステートメントは、データベースから任意のテーブルをXMLファイルとしてエクスポートします。
mysql -u username -X -e“ SELECT query” database_name
例:
次のコマンドは、のデータをエクスポートします アイテム テーブルに xmlData.xml ファイル。
mysql -u root -X -e 'SELECT * from products' newdb > xmlData.xml

Q#32)CSVテーブルとは何ですか?
回答: CSVストレージエンジンを使用するMySQLテーブルはCSVテーブルと呼ばれます。データは、CSVテーブルにコンマ区切り値として保存されます。 MySQLサーバーは、CSVテーブルのコンテンツを保存するために、拡張子「.csv」のデータファイルを作成します。
例:
次のcreateステートメントは、bookという名前のCSVファイルを作成します。
CREATE TABLE book ( id INT NOT NULL) ENGINE=CSV;

Q#33)テーブルの任意の列の合計をどのように計算できますか?
回答: 和() 関数は、任意の列の合計を計算するために使用されます。
構文:
SUM(DISTINCT式)
例:
Productsテーブルには、priceという名前の数値フィールドがあります。この例では、 SUM()関数 の合計値を計算するために使用されます 価格 フィールド。
SELECT * FROM products; SELECT SUM(price) as total FROM products;

Q#34)テーブルのレコードの総数をどのように数えることができますか?
回答: カウント() 関数 テーブルのレコードの総数をカウントするために使用されます。
構文:
COUNT(式)
例:
次のSELECTクエリは、レコードの総数をカウントするために使用されます。 製品 テーブル。
SELECT COUNT(*) as `Total Records` FROM products;

Q#35)DELETEとTRUNCATEの違いを説明してください。
回答: DELETEコマンドとTRUNCATEコマンドの両方を使用して、データベーステーブルからレコードを削除します。ただし、これらのコマンドにはいくつかの重要な違いがあります。テーブルにAUTO_INCREMENTPRIMARY KEYフィールドが含まれている場合、これらのコマンドの効果を正しく表示できます。
これらのコマンドの2つの違いを以下に示します。
- DELETEコマンドは、テーブルから1つ、複数、またはすべてのレコードを削除するために使用されます。 TRUNCATEコマンドは、テーブルからすべてのレコードを削除するか、テーブルを空にするために使用されます。
- DELETEコマンドを使用してテーブルからすべてのレコードを削除すると、テーブルは再初期化されません。したがって、AUTO_INCREMENTフィールドは、ユーザーがレコードを挿入したときに1からカウントされません。
ただし、TRUNCATEコマンドを使用してテーブルのすべてのレコードが削除されると、テーブルが再初期化され、AUTO_INCREMENTフィールドのレコードから新しいレコードが開始されます。
例:
この例では、以前に作成したユーザーテーブルを使用します。
まず、SELECTクエリは、ユーザーのテーブルのすべてのレコードを表示します。 DELETEクエリは、ユーザーのテーブルからすべてのレコードを削除します。 INSERTクエリは、ユーザーのテーブルに新しいレコードを挿入します。挿入後、SELECTクエリが再度実行されると、新しい id 削除後に計算されます id 。
SELECT * FROM users; DELETE FROM users; INSERT INTO users (username, email) VALUES ('Durjoy', 'durjoy@gmail.com'); SELECT * FROM users;
現在、ユーザーのテーブルには2つのレコードがあり、すべてのレコードを削除した後に新しいレコードが挿入されると、新しいIDは1ではなく3になります。

この部分でも同じクエリが実行されますが、DELETEの代わりにTRUNCATEステートメントを使用しただけです。新しいレコードのid値が1であることが示されています。
TRUNCATE table users; INSERT INTO users (username, email) VALUES ('Farheen', 'farheen@gmail.com'); SELECT * FROM users;

Q#36)ストレージエンジンとは何ですか? InnoDBエンジンとMyISAMエンジンの違いは何ですか?
回答: MySQLサーバーの主要コンポーネントの1つは、さまざまなタイプのデータベース操作を実行するためのストレージエンジンです。作成される各データベーステーブルは、特定のストレージエンジンに基づいています。
MySQLは2種類のストレージエンジンをサポートしています。 トランザクションおよび非トランザクション 。 InnoDBは、トランザクション型のMySQLのデフォルトのストレージエンジンです。 MyISAMストレージエンジンは、非トランザクションストレージエンジンです。
InnoDBとMyISAMストレージエンジンの違いについて以下で説明します。
- MyISAMはFULLTEXTインデックスをサポートしていますが、InnoDBはFULLTEXTインデックスをサポートしていません。
- MyISAMは高速で、InnoDBは低速です。
- InnoDBはACID(Atomicity、Consistency、Isolation、およびDurability)プロパティをサポートしていますが、MyISAMはサポートしていません。
- InnoDBは行レベルのロックをサポートし、MyISAMはテーブルレベルのロックをサポートします。
- InnoDBは大規模なデータベースに適しており、MyISAMは小規模なデータベースに適しています。
Q#37)トランザクションとは何ですか? MySQLトランザクションプロパティについて説明します。
回答: データベース操作のグループが単一のユニットとして実行される場合、それはトランザクションと呼ばれます。トランザクションタスクのいずれかのタスクが不完全なままである場合、トランザクションは成功しません。したがって、トランザクションを成功させるには、トランザクションのすべてのタスクを完了する必要があります。
トランザクションには、ACIDプロパティと呼ばれる4つのプロパティがあります。これらのプロパティについて、以下で説明します。
- アトミシティ: これにより、トランザクションのすべてのタスクが正常に完了します。それ以外の場合、完了したすべてのタスクは、障害が発生した場合に前の状態にロールバックされます。
- 一貫性: これにより、コミットされたトランザクションに対してデータベースの状態を正確に変更する必要があります。
- 隔離: これにより、トランザクションのすべてのタスクが独立して透過的に実行されます。
- 耐久性: これにより、コミットされたすべてのトランザクションが、あらゆるタイプのシステム障害に対して一貫していることが保証されます。
Q#38)コミットステートメントとロールバックステートメントの機能は何ですか?
回答: コミットは、トランザクションのすべてのタスクが正常に完了したときに実行されるトランザクションコマンドです。トランザクションを確認するためにデータベースを永続的に変更します。
構文:
コミット;
ロールバックは、トランザクションタスクのいずれかが失敗したときに実行され、トランザクションタスクによって行われたすべての変更を元に戻してトランザクションを失敗させる別のトランザクションコマンドです。
構文:
ロールバック;
Q#39)MyISAMスタティックとMyISAMダイナミックの違いは何ですか?
回答: MyISAM静的およびMyISAM動的は、MyISAMストレージエンジンのバリエーションです。これらの表の違いは以下のとおりです。
- MyISAM静的テーブルのすべてのフィールドは固定長であり、MyISAM動的テーブルはBLOB、TEXTなどの可変長フィールドを受け入れます。
- データが破損した後は、MyISAM動的テーブルよりもMyISAM静的テーブルを復元する方が簡単です。
Q#40)トリガーとは何ですか? MySQLでトリガーを作成するにはどうすればよいですか?
回答: MySQLデータベースの重要な機能の1つは、特定のデータベースイベントが発生したときに自動的に実行されるトリガーです。
挿入または更新の実行後または実行前に起動するか、ステートメントを削除します。これは、データベースユーザーがデータベース操作を自動的に実行したい場合に非常に便利なオプションです。
トリガーの例:
サプライヤのアイテムをから削除する場合 アイテム ‘から特定のサプライヤのエントリを削除した後、テーブルは自動的に サプライヤー' 次に、テーブルは次の方法でトリガーを書き込みます。
例:
これは、レコードがから削除されたときに自動的に起動する削除後トリガーの例です。 メーカー テーブルからすべてのレコードを削除します 製品 削除されたテーブル id の メーカー テーブルはと一致します Manufacturer_id のフィールド 製品 テーブル。
DELIMITER // CREATE TRIGGER manufacturer_after_delete AFTER DELETE ON manufacturers FOR EACH ROW BEGIN DELETE FROM products WHERE products.manufacturers_id = OLD.id; END; //

結論
MySQLサーバーには、テーブルデータに対してさまざまなタイプのアクションを実行するためのいくつかの組み込み関数と句があります。この記事では、MySQLサーバーで最も一般的に使用されるSQL関数と句について、さまざまな例を使用して説明します。
最高のMySQLインタビューの質問に関するこの記事が、MySQLサーバーの基本レベルと高度なレベルの概念を、初心者だけでなく経験豊富な専門家にも理解するのに役立つことを願っています。
幸運を祈ります!!
推奨読書