MYSQLの基本的な理論的知識
-
データベースとは:
データベースは、データ構造に従ってデータを整理、保存、および管理するウェアハウスです。 -
データベースのタイプ:リレーショナルデータベース:mysql ---- mariaDB、oracle
非リレーショナルデータベース:nosql -
RDBMS用語
データベース:関連テーブルのコレクションです
データテーブル:テーブルはデータのマトリックスです。データベースのテーブルは、単純なスプレッドシートのように見えます。
列:列には、IDカードの名前など、同じタイプのデータ
が含まれます。行には、オンラインショッピング時の注文の
冗長性など、複数の異なるデータが含まれます。データを2回保存すると、冗長性によりパフォーマンスは低下しますが、改善されますデータセキュリティ。
プライマリ:プライマリ・キーがユニークである、マスターキーまでのデータテーブル、データ照会する主キーを使用することができ
、外部キーの2つのテーブルに関連付けるための外部キーを
複合キー:複合キー(キーの組み合わせ)インデックスキーとして複数の列を、通常、複合インデックスに使用されます。
インデックス:データベーステーブルの特定の情報にすばやくアクセスするには、インデックスを使用します。インデックスは、データベーステーブルの1つ以上の列の値をソートする構造です。本に似たカタログ -
SQLステートメントでは大文字と小文字が区別されませんが、開発者は通常、すべてのSQLキーワードを大文字にし、すべての列とテーブル名に小文字を使用します。これにより、コードの読み取りとデバッグが容易になります。
-
SQL文の
クエリ:「db_cs」SELECT * FROM
全ての意味の代わりに
引用され、後ろからはテーブル名である
SELECTuser
、pass
FROMdb_cs
ますフィールドを置き換え、そして、分野照会することです
あなたはidが1Userのある照会することができます例えば条件は、2を渡しますフィールド挿入:INSERT INTO
db_cs
(id
、user
、pass
)VALUES(1、ADMIN、123)
ステートメント挿入、ないで後ろINTOテーブル名と
フロントは、括弧内のフィールド、対応するフィールドの後ろの括弧挿入の値であります変更:UPDATE
db_cs
SETuser
= 'ccc'、pass
= 'ccccc' WHERE id = 12
変更ステートメントにはFROMもINTOもありません。UPDATEの後、テーブル名を
SETの直後に書き込みます。キーと値のペアと同様に、1つのフィールドは1つの値に対応し、変更ステートメントは条件を追加します。追加しない場合、すべてのデータが変更されます削除:DELETE FROM
db_cs
WHERE id = 12
FROMの後にテーブル名があるステートメントを削除し、それを削除して条件を追加する必要があります。そうでない場合、結果は想像できません。 -
データ型
一般的に使用されるデータ型、整数int、時間データ、タイムスタンプタイムスタンプ、文字列、varcharおよびchar(varcharは長さを定義する必要がありますが、charは定義しない)、浮動小数点10進数、テキストテキスト -
トリガーとは?
トリガー(TRIGGER)は、MySQLのデータベースオブジェクトの1つです。トリガーは、プログラミング言語の関数に非常に似ています。宣言、実行などを行う必要があります。しかし、トリガーの実行はプログラムによって呼び出されることも、手動で開始されることもありませんが、実行を実現するためにイベントによってトリガーおよびアクティブ化されます。jsのDOMイベントに少し似ていますが、追加、削除、変更によってトリガーされます -
トリガー構文
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に含まれる複数のステートメントにすることができます。 -
インデックス作成の利点インデックス作成により、サーバーがスキャンする必要のあるデータの量が大幅に減少します。
インデックスはサーバーがソートや一時テーブルを回避するのに役立ちます。
インデックスはランダムIOをシーケンシャルIOに変更できます -
ER図
ER図はエンティティ関係図であり、主にシステムのデータ部分の設計を完了しています。 -
Mysqlトランザクション
トランザクションは主に、大規模な操作と非常に複雑なデータの処理に使用されます。
MySQLでは、Innodbデータベースエンジンを使用するデータベースまたはテーブルのみがトランザクションをサポートします。
トランザクションは4つの条件を満たす必要があります原子性:トランザクションは最小の実行単位であり、分割はできません。トランザクションの原子性により、アクションは完全であるか、完全に無効であることが保証されます。
一貫性:トランザクションの実行前と実行後のデータの一貫性が維持され、同じデータを読み取る複数のトランザクションの結果は同じになります。
分離:データベースに同時にアクセスする場合、ユーザーのトランザクションは他のトランザクションによって干渉されず、データベースは並行トランザクション間で独立しています。
永続性:トランザクションがコミットされた後。データベース内のデータへの変更は永続的であり、データベースに障害が発生しても、影響はありません。
-
ロック
ロックは、コンピュータが複数のプロセスまたはスレッドを調整してリソースに同時にアクセスするためのメカニズムです。
共有ロック(読み取りロック):他のトランザクションは読み取ることができますが、書き込むことはできません。
排他ロック(書き込みロック):他のトランザクションは読み取りまたは書き込みできません。 -
デッド
ロックデッドロックとは、2つ以上のトランザクションが同じリソース上で互いに占有し、相手が占有しているリソースのロックを要求することを意味し、悪循環を引き起こします。
これで終わりです。まだmysqlに関する理論的な知識はたくさんあります。要約したのは毛皮だけです。もっと自分自身を理解する必要があります。私の記事がすべての人に役立つことを願っています。ありがとうございます!!!