ホームページ > 毎日のプログラミング > mysqlの知識 > Grant Statementを使用してユーザーに特権をどのように付与しますか?

Grant Statementを使用してユーザーに特権をどのように付与しますか?

百草
リリース: 2025-03-20 15:15:26
オリジナル
352 人が閲覧しました

Grant Statementを使用してユーザーに特権をどのように付与しますか?

SQLで助成金ステートメントを使用してユーザーに特権を付与するには、許可する特権(これらの特権が適用されるオブジェクト(データベース、テーブル、ビューなど)、およびこれらの特権を付与するユーザーまたは役割を指定する必要があります。助成金ステートメントの一般的な構文は次のとおりです。

 <code class="sql">GRANT privilege_type [(column_list)] ON object_type object_name TO {user | role | PUBLIC} [WITH GRANT OPTION];</code>
ログイン後にコピー

これがコンポーネントの内訳です:

  • privilege_type :select、insert、update、削除など、付与される特権のタイプを指定します。
  • (column_list) :オプション。テーブルの特定の列に特権を付与したい場合は、ここにリストしてください。
  • object_type :通常、 TABLEVIEW 、またはDATABASEのタイプを示します。
  • object_name :特権を付与している特定のオブジェクトの名前。
  • user | role | PUBLIC :あなたが特権を与えているユーザー、役割、または一般の人々。
  • WITH GRANT OPTION :オプション。指定されている場合、被付与者は他のユーザーに同じ特権を付与することもできます。

たとえば、「John」という名前のユーザーに「従業員」テーブルから選択する機能を付与するには、以下を使用します。

 <code class="sql">GRANT SELECT ON TABLE employees TO john;</code>
ログイン後にコピー

グラントステートメントにどのような特定の特権を割り当てることができますか?

助成金ステートメントは、使用されている特定のデータベース管理システムに応じて、さまざまな特権を割り当てるために使用できます。最も一般的な特権のいくつかは次のとおりです。

  • 選択:付与者は、指定されたテーブルまたはビューからデータを読み取ることができます。
  • 挿入:付与者は、指定されたテーブルに新しい行を追加できます。
  • 更新:指定されたテーブルの既存の行を変更する機能を付与します。
  • 削除:付与者が指定されたテーブルから行を削除できるようにします。
  • 参考文献:付与者は、指定されたテーブルを参照する外部キーの制約を作成できるようにします。
  • トリガー:指定されたテーブルにトリガーを作成する機能を付与します。
  • 作成:データベース内で新しいオブジェクトの作成を許可します(例、テーブル、ビュー)。
  • Alter :付与者は、指定されたデータベースまたはテーブルの構造を変更できます。
  • ドロップ:指定されたデータベースオブジェクトを削除する機能を付与します。
  • 実行:被付与者が指定された関数または手順を実行できるようにします。
  • 使用法:付与者は、シーケンスやドメインなどの特定のデータベースオブジェクトを使用できます。
  • すべての特権:指定されたオブジェクトで利用可能なすべての特権を付与します。

Grant Statementを使用して付与された特権をどのように取り消すことができますか?

Grant Statementを使用して以前に付与された特権を取り消すには、Recoke Statementを使用します。 Revoke Statementの構文はGrant Statementに似ており、次のとおりです。

 <code class="sql">REVOKE privilege_type [(column_list)] ON object_type object_name FROM {user | role | PUBLIC} [RESTRICT | CASCADE];</code>
ログイン後にコピー

これがコンポーネントの説明です:

  • privilege_type(column_list)object_type 、およびobject_name 、付与ステートメントのものと似ています。
  • user | role | PUBLIC :あなたが特権を取り消しているユーザー、役割、または一般の人々。
  • RESTRICT | CASCADE :オプション。 RESTRICT 、コマンドが他のオブジェクトに影響を与える場合にコマンドが完了するのを防ぎますが、 CASCADEでは、取り消しが依存オブジェクトに伝播することができます。

たとえば、「従業員」テーブルの「ジョン」からの選択の特権を取り消すには、以下を使用します。

 <code class="sql">REVOKE SELECT ON TABLE employees FROM john;</code>
ログイン後にコピー

Grantステートメントを使用して複数のユーザーに特権を一度に割り当てるための構文は何ですか?

Grantステートメントを使用して複数のユーザーに特権を一度に割り当てるには、 TOの後に​​コンマで区切られたユーザーをリストできます。これがそうするための一般的な構文です:

 <code class="sql">GRANT privilege_type [(column_list)] ON object_type object_name TO user1, user2, user3 [WITH GRANT OPTION];</code>
ログイン後にコピー

たとえば、「John」、「Jane」、「Bob」という名前の複数のユーザーに「従業員」テーブルのSelect Privilegeを付与するには、以下を使用します。

 <code class="sql">GRANT SELECT ON TABLE employees TO john, jane, bob;</code>
ログイン後にコピー

このアプローチを使用すると、データベース管理タスクを合理化する単一のコマンドで複数のユーザーの特権を効率的に管理できます。

以上がGrant Statementを使用してユーザーに特権をどのように付与しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート