ホームページ  >  記事  >  データベース  >  Mysql インタビューの知識の概要 (例付き)

Mysql インタビューの知識の概要 (例付き)

不言
不言転載
2019-03-04 14:58:182035ブラウズ

この記事の内容は、Mysql 面接に関する知識をまとめたものです (例付き)。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。 。

この記事では、mysql について、開発中に私たちプログラマーがあまり知られていない重要なポイント (独善的な見解) をいくつか紹介します。

データベース設計の 3 つのパラダイム:

最初のパラダイム: データベース テーブルの各列は分割不可能なアトミック データ項目です。つまり、列は分割できません。第 2 正規形: 第 1 正規形に基づいて、データベース テーブル内の各インスタンスまたはレコードは一意に識別可能である必要があります。つまり、一意に識別される必要があります。第 3 正規形: 第 2 正規形に基づくと、非主属性は他の非主属性に依存しません。つまり、主キーを参照します。 (関連する推奨事項: MySQL チュートリアル )

View

ビューは仮想テーブルであり、データを保存しません。ステートメントの動的データのみが含まれます。定義されています。

create view view_name as sql查询语句

ストアド プロシージャ

1 つ以上の SQL ステートメントのコレクション。その利点 (要約: シンプル/安全/高パフォーマンス):
1. ストアドプロシージャ より高速な実行速度を実現できます。
2. ストアド プロシージャを使用して、標準コンポーネントをプログラムできます。
3. ストアド プロシージャは、フロー制御ステートメントを使用して作成できます。これは、強力な柔軟性を備え、複雑な判断やより複雑な操作を完了できます。
4. ストアド プロシージャはセキュリティ メカニズムとして十分に活用できます。
5. ストアド プロシージャはネットワーク トラフィックを削減できます

delimiter 分隔符
create procedure|proc proc_name()
begin
    sql语句
end 分隔符
delimiter ;    --还原分隔符,为了不影响后面的语句的使用
默认的分隔符是;但是为了能在整个存储过程中重用,因此一般需要自定义分隔符(除\外)

ストアド プロシージャと関数の違いは何ですか?

同じ点: ストアド プロシージャと関数はどちらも、SQL ステートメントを再現可能に実行するように設計されています。データベースコレクションを操作します。
1) ストアド プロシージャと関数は一度コンパイルされてキャッシュされ、次回使用するときはコンパイルされた SQL ステートメントを直接ヒットするため、再利用する必要はありません。ネットワークの相互作用を減らし、ネットワーク アクセス トラフィックを削減します。
相違点: 識別子が異なります。関数の識別子は function、ストアド プロシージャはprocedureです。
1) 関数には戻り値があり、必ず戻り値が必要ですが、プロセスには戻り値がありませんが、パラメータの型を設定することで複数のパラメータまたは戻り値を実装できます( 、 外)。
2) ストアド関数は select を使用して呼び出す必要があり、ストアド プロシージャは call を使用して呼び出す必要があります。
3) select ステートメントはストアド プロシージャ内で呼び出すことができますが、select..into 以外の select ステートメントは関数内で使用できません。
4) in out パラメータにより、プロセス関連関数はより柔軟になり、複数の結果を返すことができます。

トリガー

テーブルのデータ変更時に特定の動作を行うもので、追加、削除、変更の前後など6種類あります。

create trigger trigger_name 
ALTER|BEFORE select|update|delete
on 表
for each row
trigger_stmt

重要なポイント:

テーブルのみがトリガーをサポートします。ビューも一時テーブルもトリガーをサポートしません。更新と上書きはサポートされていません。変更は最初に削除してから、

ログを削除する必要があります。

Mysql には主に 4 つのログ ファイルがあります:

エラー ログ: mysql の起動、実行、停止時の問題を記録します;
クエリ ログ: すべての msyql アクティビティを記録します
バイナリ ログ: データが更新されたすべてのステートメントを記録します
#遅いクエリ ログ: 遅いクエリを記録します


#

以上がMysql インタビューの知識の概要 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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