Mysql(3)-ビュー、文字セット、校正セット、トリガ

2618 ワード

1.ビュー
ビューは、クエリーの結果からなる仮想テーブルです.
ビューの役割:・クエリーの簡素化・権限制御、テーブル権限の閉鎖、ビュー権限の開放・ビッグデータ分割に使用
ビューとテーブルの関係・ビューはテーブルのクエリー結果であり、結果に影響を与える・ビューの変更はテーブルにも影響を与える・ビューの変更は必ずしもテーブルに影響を及ぼさない、ビューのデータとテーブルのデータが1つ1つ対応している場合、変更可能、ビューはすべてのテーブルにデフォルト値がない列を含まなければならない・insert文については、ビューにはテーブルにデフォルト値がない列を含まなければならない
ビュー構文の作成:create viewビュー名as select文;ビューの変更:alter viewビュー名as select文;削除ビュー:drop viewビュー名;
ビューのalgorithm
algorithm = merge/temptable/undefined
merge:ビューを参照するとき、ビューを参照する文と定義ビュー文のマージ(mergeはルールで、whereをクエリーしてビューを作成whereとマージし、select文に分析します)temptable:ビューを参照するとき、ビューに基づいて一時テーブルundefinedを作成します:定義せず、システムに決定させます
create algorithm = temptable view vPersons2 as select * from Car;

2.文字セット
mysqlでは、次の文字セット(指定されていない場合は親を継承)を設定できます.-サーバ-データベース-テーブル-列
全文字セット表示:SHOW CHARACTER SET;
文字セットの設定方法set character_set_client = gbk; set character_set_connection = gbk; set character_set_results= gbk; set names gbkと略記する.
いつ文字化けしますか.1.clientの宣言は事実と一致しない.resultとclientが一致しません
いつデータが失われますか?1、connectionとサービスはclientより範囲が小さい
3.校正セット
校正セット:ソート・ルールです.1つの文字セットに1つ以上のソート・ルールがあります.
すべての校正セットを表示する:SHOW COLLATION;
校正セットは文字セットに対応する必要があります
4.トリガ
トリガ(trigger):ある状況を監視し、ある操作をトリガする
トリガ作成構文四要素・監視場所table・監視イベントinsert/update/delete・トリガ時間before/after・トリガイベントinsert/update/delete
構文の作成:create trigger triggerName after/before insert/update/delete on tableName Begin sql文;End;
削除構文:drop trigger triggerName;
注意点:・表示境界記号を先に設定する必要がある:delimiter$(セミコロンを付けない)・insertの場合、新規の行はnewで、行の各列はnewである.列名表示・updateについては、更新後の行をnew、更新前の行をoldで示す・この表で修正するにはupdate表名で直接setを使う必要はありません(参考:http://www.chenyudong.com/archives/database-trigger-new-old-value-understand.html)・newに値を付け、beforeにのみ使用
beforeとafterの違い:・before:トリガを完了してから削除・after:削除を増やしてからトリガー
create trigger tg1 before update on Car for each row begin set new.SaleNum = old.SaleNum + old.StoreNum - new.StoreNum ;
End $ 

トリガーの表示:show triggers;