MySQLデータベース内のすべてのトリガーを一覧表示するにはどうすればよいですか?
MySQLデータベース内のすべてのトリガーを一覧表示するには、SHOWコマンドを使用できます。クエリは次のとおりです-
mysql> show triggers;
以下は出力です-
+----------------+--------+----------------------+--------------------------------------------------------------------+--------+------------------------+--------------------------------------------+---------+----------------------+----------------------+--------------------+ | Trigger | Event | Table | Statement | Timing | Created | sql_mode | Definer | character_set_client | collation_connection | Database Collation | +----------------+--------+----------------------+--------------------------------------------------------------------+--------+------------------------+--------------------------------------------+---------+----------------------+----------------------+--------------------+ | binsertTrigger | INSERT | functiontriggersdemo | SET new.Id = uuid() | BEFORE | 2018-10-16 13:36:09.86 | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | root@% | cp850 | cp850_general_ci | utf8mb4_unicode_ci | | Table1Trigger | INSERT | table1 | begin insert into Table2(id, name) values (new.id, new.name); end | AFTER | 2018-10-23 10:51:31.76 | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | root@% | cp850 | cp850_general_ci | utf8mb4_unicode_ci | | insertBef | INSERT | tblfunctiontrigger | SET new.id = uuid() | BEFORE | 2018-10-16 13:44:10.93 | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | root@% | cp850 | cp850_general_ci | utf8mb4_unicode_ci | +----------------+--------+----------------------+--------------------------------------------------------------------+--------+------------------------+--------------------------------------------+---------+----------------------+----------------------+--------------------+ 3 rows in set (0.13 sec)
次のクエリを使用して、information_schemaテーブルにアクセスできます。
注 −MySQLバージョン5.0.10以降が必要です。私は現在MySQLバージョン8.0.12を使用しています-
mysql> select trigger_schema, trigger_name, action_statement −> from information_schema.triggers;
以下は出力です-
+----------------+----------------------------+-------------------------------------------------------------------------------------------------------------------+ | TRIGGER_SCHEMA | TRIGGER_NAME | ACTION_STATEMENT | +----------------+----------------------------+-------------------------------------------------------------------------------------------------------------------+ | sys | sys_config_insert_set_user | BEGIN IF @sys.ignore_sys_config_triggers != true AND NEW.set_by IS NULL THEN SET NEW.set_by = USER(); END IF; END | | sys | sys_config_update_set_user | BEGIN IF @sys.ignore_sys_config_triggers != true AND NEW.set_by IS NULL THEN SET NEW.set_by = USER(); END IF; END | | business | binsertTrigger | SET new.Id = uuid() | | business | insertBef | SET new.id = uuid() | | business | Table1Trigger | begin insert into Table2(id, name) values (new.id, new.name);end | +----------------+----------------------------+-------------------------------------------------------------------------------------------------------------------+ 5 rows in set (0.00 sec)
-
MySQLでどのデータベースが選択されているかを確認するにはどうすればよいですか?
これは、dualのDATABASE()メソッドを使用して確認できます。データベースビジネスを使用しているとします。クエリは次のとおりです- mysql> use business; Database changed これで、デュアルからDATABASE()を使用して、どのデータベースが選択されているかを確認できます。クエリは次のとおりです- mysql> SELECT DATABASE() FROM DUAL; これが出力です。 +------------+ | DATABASE() | +------------+ | business | +---------
-
MySQLのコマンドラインでデータベースを作成するにはどうすればよいですか?
まず、コマンドプロンプトを開く必要があります。ショートカットウィンドウ+Rキーを使用して開くことができます。 スクリーンショットは次のとおりです- ここでCMDと入力し、[OK]ボタンを押します- これで、次のコマンドプロンプトが表示されます- 次に、MySQLbinディレクトリにアクセスします。スクリーンショットは次のとおりです- 以下は、データベースを作成するためにコマンドラインでMySQLを実行するためのクエリです- これで、SHOWDATABASESコマンドを使用してデータベースが作成されているかどうかを確認できます- mysql> SH