MySQLビュー+ユーザー管理

見る

**ビューは、クエリによって内容が定義される仮想テーブルです。**実際のテーブルと同様に、ビューには一連の名前付きの列とデータの行が含まれています。ビューのデータ変更
はベーステーブルに影響し、ベーステーブルのデータ変更もビューに影響します。

基本的な使い方

ビューを
作成します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';
 
公開された119元の記事 ウォン称賛47 ビュー30000 +

おすすめ

転載: blog.csdn.net/weixin_44030580/article/details/105484705