MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. OLDおよびNEWキーワードを使用すると、トリガーの影響を受ける行の列にアクセスできますか?

    トリガー定義では、挿入、更新、または削除される行の列を参照できることがわかっています。 OLDキーワードとNEWキーワードを使用して列にアクセスする方法は次のとおりです- 元の行の値を参照するには、列名の前にOLDの修飾子を付ける必要があります。 新しい行の値を参照するには、列名の前にNEWの修飾子を付ける必要があります。 ここで、トリガーイベントのため、OLDとNEWの使用を適切に行う必要があります それらのどれが許容されるかを決定します- INSERTトリガーでは、NEW.column_nameは、新しい行に挿入される列の値を示します。ここではOLDは許可されてい

  2. MySQL DISTINCT句をWHEREおよびLIMIT句と一緒に使用するにはどうすればよいですか?

    MySQLクエリでDISTINCT句とともにWHERE句を使用することにより、MySQLが結果セットの一意の行を返すための条件を設定しています。 MySQLクエリでDISTINCT句とともにLIMIT句を使用することにより、実際には、返される結果セットの一意の行の最大数に関する境界をサーバーに提供しています。 例 「testing」という名前のテーブルで、次のようにDISTINCTでWHERE句とLIMIT句を使用できます- mysql> Select * from testing; +------+---------+---------+ | id   | fname &nb

  3. 特定の方法で結果セットのMySQLテーブルからレコードを取得するにはどうすればよいですか?

    MySQLテーブルから結果セットのレコードを昇順または降順の特定の方法で取得するには、ASCまたはDESCキーワードとともにORDERBY句を使用する必要があります。上記のキーワードを使用しない場合、MySQLはデフォルトでレコードを昇順で返します。 ORDER BY句は、ORDER BY句を使用する特定のフィールド(昇順または降順)に基づいて結果セットを返しました。次のテーブルの行を並べ替えたいとします- mysql> Select * from Student; +--------+--------+--------+ | Name   | RollNo | Grade &

  4. MySQLクエリにコメントを追加するいくつかの方法は何ですか?

    MySQLサーバーでサポートされているいくつかの方法でコメントを追加できます- #コメント これは1行のコメントです。この種のコメントは、#文字で始まり、行の終わりまで続きます。 -コメント これも1行のコメントです。その後にスペースまたは制御文字を続ける必要があります。 /*コメント*/ これは複数行のコメントです。この構文では、開始シーケンスと終了シーケンスが同じ行にある必要がないため、コメントを複数行に拡張できます。 次の例を検討して、3種類のコメントすべてを示します- mysql> Select NOW() #Single line comment continues to th

  5. 現在のデータベース以外のデータベースのテーブルを確認するにはどうすればよいですか?

    MySQLコマンドに従うことで、現在使用しているデータベース以外のデータベースのテーブルを確認できます- Show Tables from Database_name; たとえば、現在「new」という名前のデータベースを使用している場合、次のクエリは「gaurav」という名前のデータベースのテーブルのリストを表示します- mysql> use new; Database changed mysql> show tables from gaurav; +--------------------+ | Tables_in_tutorial | +-------------------

  6. トリガーを作成するために区切り文字を変更する必要があるのはなぜですか?

    MySQLでは、区切り文字のセミコロン(;)を使用して各ステートメントを終了します。セミコロンは、MySQLのデフォルトの区切り文字です。トリガーで複数のステートメントを使用できるため、トリガーを作成するときに区切り文字を変更して、これがトリガーステートメントの終わりではないことをMySQLに通知する必要があります。 DELIMITER //ステートメントによって区切り文字を一時的に変更して、区切り文字をセミコロン(;)から2つの円記号(//)に変更できます。この後、MySQLは、トリガーステートメントが2つのバックスラッシュ(//)に遭遇したときにのみ終了することを認識します。以下は、区切り

  7. MySQL結果セット自体の列の要約出力を取得するにはどうすればよいですか?

    「WITHROLLUP」修飾子を使用すると、MySQL結果セットの列の要約出力を取得できます。この修飾子は、GROUPBYCLAUSEで使用されます。要約出力に、上位レベルの要約操作を表す追加の行を含めることができます。 例 この例では、WITH ROLLUP修飾子は、追加の行に合計コスト値を含む要約出力を提供しました。 mysql> Select Item_name, SUM(Cost) AS Total_cost from Item_list GROUP BY Item_name WITH ROLLUP; +-----------+------------+ | Item_name

  8. データベース内のすべてのトリガーのリストを確認するにはどうすればよいですか?

    SHOW TRIGGERSステートメントを使用すると、特定のデータベース内のすべてのトリガーを一覧表示できます。次の例を使用して説明できます- 例 mysql> Show Triggers\G *************************** 1. row ***************************   Trigger: trigger_before_delete_sample     Event: DELETE     Table: sample Statement: BEGIN SET @count = if (@

  9. トリガーのメタデータを取得するにはどうすればよいですか?

    これはINFORMATION_SCHEMAデータベースを使用して実行できます。次のステートメントは、トリガーのメタデータを提供します- mysql> Select trigger_schema, trigger_name, action_statement     -> from information_schema.triggers\G *************************** 1. row ***************************   trigger_schema: query     trigger

  10. INFORMATION_SCHEMAを使用して、特定のデータベースのトリガーに関する詳細を取得するにはどうすればよいですか?

    次のステートメントを使用して実行できます- mysql> select * from information_schema.triggers where     -> information_schema.triggers.trigger_schema like '%query%'\G *************************** 1. row ***************************             TRIGGER_CATALOG: def  

  11. 特定のMySQLテーブルに関連付けられているすべてのトリガーを見つけるにはどうすればよいですか?

    次のクエリを使用して、特定のテーブルに関連付けられているすべてのトリガーを見つけることができます- SELECT * from INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA =query AND EVENT_OBJECT_TABLE =Student_info \ G **************************** **1.行***************************TRIGGER_CATALOG:def TRIGGER_SCHEMA:クエリTRIGGER_NAME:studentinfo_after_delete E

  12. トリガーを使用するために必要な特権は何ですか?

    スーパー特権が必要です CREATEまたはDROPステートメントを使用してトリガーを作成または破棄します。それ以外に、トリガーされたステートメントがOLDまたはNEWを使用する場合、次のような追加の特権が必要です- SET NEW.column_name =valueで列の値を割り当てるには、列のUPDATE権限が必要です。 式でNEW.column_nameを使用して列の新しい値を参照するには、列に対するSELECT権限が必要です。

  13. MySQLテーブルの列の一意の値の数をどのようにカウントできますか?

    COUNT()関数の引数として列名とともにDISTINCTキーワードを使用することにより、列内の一意の値の数をカウントできます。構文は次のとおりです- SELECT COUNT(DISTINCT Col_name) FROM table_name; 例 次の表があるとします mysql> Select * from tender; +----------+--------------+--------------+-------+ | clientid | client_Fname | Client_Lname | value | +----------+------------

  14. MySQL結果セットの列の一意の値のみを取得するにはどうすればよいですか?

    MySQLテーブルからデータをクエリしているときに、列から重複する値を取得する場合があります。 SELECTステートメントのDISTINCT句を使用すると、結果セット内の重複データを取り除くことができます。 構文 SELECT DISTINCT Columns FROM Table_name WHERE conditions; 例 たとえば、次の列を持つ「tender」という名前のテーブルがあります- mysql> Select * from tender; +----------+--------------+--------------+-------+ | clientid | c

  15. 複数のNULL値を持つ列でDISTINCT句を使用すると、MySQLは何を返しますか?

    複数のNULL値を持つ列でDISTINCT句を使用すると、すべてのNULL値がMySQLによって同じものとして扱われます。 これは、DISTINCT句のプロパティに従って、MySQLが結果セットで1つのNULL値のみを返し、他の値を削除することを意味します。 「Lname」列に複数のNULL値を持つ「testing」という名前のテーブルの例を考えてみましょう。 mysql> Select * from testing; +------+---------+---------+ | id   | fname   | Lname   | +------+---

  16. どうすればトリガーを破棄できますか?

    トリガーを破棄するには2つの方法があります- トリガーを明示的にドロップする DROPステートメントを使用すると、トリガーを明示的に破棄できます。次の例の助けを借りて理解することができます- mysql> DROP Trigger before_inser_studentage1; Query OK, 0 rows affected (0.05 sec) トリガーを暗黙的にドロップする トリガーが関連付けられているテーブルが破棄された場合、または関連付けられているデータベースが破棄された場合、トリガーは暗黙的に破棄されます。

  17. MySQLはさまざまな行に書かれたステートメントをどのように評価しますか?

    」に変わります。これは、MySQLがまだ完全なステートメントを認識しておらず、残りを待っていることを示します。セミコロンを取得すると、MySQLはステートメントを実行します。次の例の助けを借りて理解することができます- 例 mysql> Select Id, Name     -> From     -> Student_info     -> ; +------+---------+ | Id   | Name    | +------+---------+ | 101 &nb

  18. MySQLステートメントを作成する際の「\c」オプションの使用は何ですか?

    ‘\ c’オプションは「クリア」を意味し、現在の入力をクリアするために使用されます。入力しているコマンドを実行したくない場合は、現在の入力をクリアするclear\cオプションを使用できます。たとえば、\cオプションの使用は次のように実行できます- mysql> Select *     -> from\c 上記の例では、ステートメントで\ cを使用すると、MySQLは現在の入力をクリアし、他のステートメントを受け入れるためにMySQLプロンプトに戻ります。

  19. MySQLトリガーおよびそれに関連するトリガーイベントとは何ですか?

    基本的に、MySQLトリガーは、データベースカタログに格納されている一連のステートメントです。このデータベースオブジェクトは、そのテーブルで特定の種類のイベントが発生したときにアクティブ化されるように定義されたテーブルに常に関連付けられています。言い換えれば、MySQLトリガーは特別な種類のストアドプロシージャであると言えます。ストアドプロシージャとの主な違いは、ストアドプロシージャのように直接呼び出されないことです。テーブルに対してもデータ変更が発生すると自動的に呼び出されます。テーブルで次のMySQLステートメントのいずれかを実行すると、トリガーを実行できます: INSERT、UPDATE

  20. MySQLトリガーで「FOREACHROW」はどのように機能しますか?

    実際には、「FOR EACH ROW」とは、一致した各行が更新または削除されることを意味します。つまり、トリガーは各行に適用されておらず、影響を受ける各テーブル行のトリガー本体を実行することを示しているだけです。これは、次の例で説明できます- 例 この例では、次のように、SampleとSample_rowaffectedの2つのテーブルを作成しています- mysql> Create table Sample(id int, value varchar(20)); Query OK, 0 rows affected (0.47 sec) mysql> Insert into Sam

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:186/229  20-コンピューター/Page Goto:1 180 181 182 183 184 185 186 187 188 189 190 191 192