見る
**ビューは、クエリによって内容が定義される仮想テーブルです。**実際のテーブルと同様に、ビューには一連の名前付きの列とデータの行が含まれています。ビューのデータ変更
はベーステーブルに影響し、ベーステーブルのデータ変更もビューに影響します。
基本的な使い方
ビューを
作成しますselectステートメントとしてビューのビュー名を作成します; // ~~をクエリするときにビューを作成します
select * from v_ename_dname;
ベーステーブルのデータに影響を与えるビューを変更しましたビューに影響を与えるベーステーブルを
変更しました
update v_ename_dname set dname='sales' where ename='CLARK';
select * from EMP where ename='CLARK';
ビューを削除
ドロップビュービュー名;
ルールと制限を表示
テーブルと同様に、一意の名前を付ける必要があります(同じ名前のビューまたはテーブル名は表示できません)作成されるビューの数は無制限ですが、ビューとして複雑なクエリを作成した後のパフォーマンスへの影響を考慮する必要があります
ビューはインデックスを追加できず、関連付けられたトリガーもデフォルト値ビューもセキュリティを向上させることができず、十分なアクセス権が必要です
**並べ替えはビューで使用できます**ただし、ビューからデータを取得する場合は、 order byを選択すると、このビューのorder byが上書きされます。このビューはテーブルで使用できます
ユーザー管理
rootユーザーしか使用できない場合、セキュリティ上のリスクがあります。現時点では、MySQLユーザー管理を使用する必要があります。
ユーザー
1ユーザー情報
MySQLのユーザーは、システムデータベースmysqlのユーザーテーブルに保存されます。
select host,user,authentication_string from user;
フィールドの説明:
host:このユーザーがログインできるホストを示します。これがlocalhostの場合、このマシンからのみログインできます。user:ユーザー名
authentication_string:パスワード関数で暗号化されたユーザーパスワード
* _priv:ユーザーが所有する権限
ユーザー構文を作成します
。「パスワード」で識別されるユーザー「ユーザー名」@「ログインホスト/ IP」を作成します。
create user 'litao'@'localhost' identified by '123456';
select host,user, password from user where user='litao';
3ユーザーを削除する
構文:
drop user 'user name' @ 'hostname'例:
ユーザーパスワードの構文を変更します。
1自分のパスワードを変更します
password = password( 'new password');
** 2人のrootユーザーが指定されたユーザーのパスワードを変更します**
'user name'のパスワードを設定します@ 'host name' = password( 'new password');
'litao'のパスワードを設定します@ 'localhost' = password( 'abcdefg' );
データベースの権限
MySQLデータベースによって提供される権限のリスト:
**
1ユーザーを承認する
作成したばかりのユーザーには権限がありません。ユーザーを承認する必要があります。**
構文:
ライブラリに権限リストを付与します。オブジェクト名を「ユーザー名」@「ログイン場所」に識別します[「パスワード」で識別)
説明:権限リスト、複数の権限はカンマで区切られます
権限リスト、複数の権限はカンマで区切られています
選択を
許可...選択を許可、削除、作成...
すべての[特権]を許可...-オブジェクトに対するすべての権限をユーザーに許可することを意味します
システムに代わって「」。すべてのデータベース内のすべてのオブジェクト(テーブル、ビュー、ストアドプロシージャなど)に
ライブラリー:示し、そのデータベースのすべて*・データ・オブジェクト(テーブル、ビュー、ストアドプロシージャなど)の
オプションで識別されます。ユーザーが存在する場合は、権限を付与しながらパスワードを変更します。ユーザーが存在しない場合は、ユーザーを作成します
-- root 给 litao 赋予账户查询mytest库的DEPT表的权限
mysql> grant select on mytest.DEPT to 'litao'@'localhost';
show databases;
-- litao账户可以看到mytest库
注:許可が有効でないことが判明した場合は、以下の指示を実行してください。
flush privileges;
2リサイクル当局
構文:
ライブラリのアクセス許可リストを取り消します。オブジェクト名は 'user name' @ 'login location';例:
-- 回收litao对数据库的所有权限
revoke all on mytest.DEPT from 'litao'@'localhost';