mysql [基本理論]

MYSQLの基本的な理論的知識

  1. データベースとは:
    データベースは、データ構造に従ってデータを整理、保存、および管理するウェアハウスです。


  2. データベースのタイプリレーショナルデータベース:mysql ---- mariaDB、oracle
    非リレーショナルデータベース:nosql

  3. RDBMS用語
    データベース:関連テーブルのコレクションです
    データテーブル:テーブルはデータのマトリックスです。データベースのテーブルは、単純なスプレッドシートのように見えます。
    列:列には、IDカードの名前など、同じタイプのデータ
    が含まれます行には、オンラインショッピング時の注文の
    冗長性など、複数の異なるデータが含まれますデータを2回保存すると、冗長性によりパフォーマンスは低下しますが、改善されますデータセキュリティ。
    プライマリ:プライマリ・キーがユニークである、マスターキーまでのデータテーブル、データ照会する主キーを使用することができ
    、外部キーの2つのテーブルに関連付けるための外部キーを
    複合キー:複合キー(キーの組み合わせ)インデックスキーとして複数の列を、通常、複合インデックスに使用されます。
    インデックス:データベーステーブルの特定の情報にすばやくアクセスするには、インデックスを使用します。インデックスは、データベーステーブルの1つ以上の列の値をソートする構造です。本に似たカタログ

  4. SQLステートメントでは大文字と小文字が区別されませんが、開発者は通常、すべてのSQLキーワードを大文字にし、すべての列とテーブル名に小文字を使用します。これにより、コードの読み取りとデバッグが容易になります。

  5. SQL文の
    クエリ:「db_cs」SELECT * FROM
    全ての意味の代わりに
    引用され、後ろからはテーブル名である
    SELECT userpassFROM db_cs
    ます
    フィールドを置き換え、そして、分野照会することです
    あなたはidが1Userのある照会することができます例えば条件は、2を渡しますフィールド

    挿入:INSERT INTO db_csiduserpass)VALUES(1、ADMIN、123)
    ステートメント挿入、ないで後ろINTOテーブル名と
    フロントは、括弧内のフィールド、対応するフィールドの後ろの括弧挿入の値であります

    変更:UPDATE db_csSET user= 'ccc'、pass= 'ccccc' WHERE id = 12
    変更ステートメントにはFROMもINTOもありません。UPDATEの後、テーブル名を
    SETの直後に書き込みます。キーと値のペアと同様に、1つのフィールドは1つの値に対応し、変更ステートメントは条件を追加します。追加しない場合、すべてのデータが変更されます

    削除:DELETE FROM db_csWHERE id = 12
    FROMの後にテーブル名があるステートメントを削除し、それを削除して条件を追加する必要があります。そうでない場合、結果は想像できません。

  6. データ型
    一般的に使用されるデータ型、整数int、時間データ、タイムスタンプタイムスタンプ、文字列、varcharおよびchar(varcharは長さを定義する必要がありますが、charは定義しない)、浮動小数点10進数、テキストテキスト

  7. トリガーとは?
    トリガー(TRIGGER)は、MySQLのデータベースオブジェクトの1つです。トリガーは、プログラミング言語の関数に非常に似ています。宣言、実行などを行う必要があります。しかし、トリガーの実行はプログラムによって呼び出されることも、手動で開始されることもありませんが、実行を実現するためにイベントによってトリガーおよびアクティブ化されます。jsのDOMイベントに少し似ていますが、追加、削除、変更によってトリガーされます

  8. トリガー構文
    CREATE TRIGGER trigger_name trigger_time trigger_time
    ON tb_name FOR EACH ROW trigger_stmt
    trigger_name:トリガー名
    tirgger_time:トリガー実行時間
    BEFORE:トリガー前イベント
    AFTER:トリガー後イベント
    trigger_event:トリガーイベント
    INSERT:トリガーをアクティブにして行を挿入するとINSERT 、LOAD DATA、REPLACEステートメントは
    UPDATE をトリガーできます:行が変更されたときにトリガーがアクティブ化されます、UPDATEステートメントは
    DELETE をトリガーできます:行が削除されたときにトリガーがアクティブになります、DELETE、REPLACEステートメントは
    tb_name をトリガーできます:
    FOR EACHでトリガーを実行するテーブルROW:トリガーの頻度は行ごとに1回トリガーします。trigger_stmt:トリガー
    の本体。SQLステートメントまたはBEGINとENDに含まれる複数のステートメントにすることができます。


  9. インデックス作成の利点インデックス作成により、サーバーがスキャンする必要のあるデータの量が大幅に減少します。
    インデックスはサーバーがソートや一時テーブルを回避するのに役立ちます。
    インデックスはランダムIOをシーケンシャルIOに変更できます

  10. ER図
    ER図はエンティティ関係図であり、主にシステムのデータ部分の設計を完了しています。

  11. Mysqlトランザクション
    トランザクションは主に、大規模な操作と非常に複雑なデータの処理に使用されます。
    MySQLでは、Innodbデータベースエンジンを使用するデータベースまたはテーブルのみがトランザクションをサポートします。
    トランザクションは4つの条件を満たす必要があります

    原子性:トランザクションは最小の実行単位であり、分割はできません。トランザクションの原子性により、アクションは完全であるか、完全に無効であることが保証されます。

    一貫性:トランザクションの実行前と実行後のデータの一貫性が維持され、同じデータを読み取る複数のトランザクションの結果は同じになります。

    分離:データベースに同時にアクセスする場合、ユーザーのトランザクションは他のトランザクションによって干渉されず、データベースは並行トランザクション間で独立しています。

    永続性:トランザクションがコミットされた後。データベース内のデータへの変更は永続的であり、データベースに障害が発生しても、影響はありません。

  12. ロック
    ロックは、コンピュータが複数のプロセスまたはスレッドを調整してリソースに同時にアクセスするためのメカニズムです。
    共有ロック(読み取りロック):他のトランザクションは読み取ることができますが、書き込むことはできません。
    排他ロック(書き込みロック):他のトランザクションは読み取りまたは書き込みできません。

  13. デッド
    ロックデッドロックとは、2つ以上のトランザクションが同じリソース上で互いに占有し、相手が占有しているリソースのロックを要求することを意味し、悪循環を引き起こします。

これで終わりです。まだmysqlに関する理論的な知識はたくさんあります。要約したのは毛皮だけです。もっと自分自身を理解する必要があります。私の記事がすべての人に役立つことを願っています。ありがとうございます!

元の記事を4件公開 10 獲得 表示181

おすすめ

転載: blog.csdn.net/DarKer_LB/article/details/105452147