MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

データベースクエリでMySQLストアド関数をどのように使用できますか?


関数'Profit'を作成して利益を計算し、その関数をテーブル' item_list'のデータに適用する例に従うと、次のように理解できます。データベースクエリで。

mysql> CREATE FUNCTION profit(Cost DECIMAL (10,2),Price DECIMAL(10,2))
    -> RETURNS DECIMAL(10,2)
    -> BEGIN
    -> DECLARE profit DECIMAL(10,2);
    -> SET profit = price - cost;
    -> RETURN profit;
    -> END //
Query OK, 0 rows affected (0.07 sec)

mysql> Select * from item_list;
+-----------+-------+-------+
| Item_name | Price | Cost  |
+-----------+-------+-------+
| Notebook  | 24.50 | 20.50 |
| Pencilbox | 78.50 | 75.70 |
| Pen       | 26.80 | 19.70 |
+-----------+-------+-------+
3 rows in set (0.00 sec)

上記のクエリは、テーブルitem_listのデータを示しています。次に、上記で作成した関数「profit」をデータベースクエリで次のように使用します-

mysql> Select *, profit(cost, price) AS Profit from item_list;
+-----------+-------+-------+--------+
| Item_name | Price | Cost | Profit |
+-----------+-------+-------+--------+
| Notebook  | 24.50 | 20.50 |   4.00 |
| Pencilbox | 78.50 | 75.70 |   2.80 |
| Pen       | 26.80 | 19.70 |   7.10 |
+-----------+-------+-------+--------+
3 rows in set (0.00 sec)

  1. MySQLでstr_replaceを使用できますか?

    MySQLのstr_replaceバージョンはreplace()関数です。まず、関数を理解するためのテーブルを作成しましょう- mysql> create table StringReplaceDemo −> ( −> Id int, −> URL varchar(200) −> ); Query OK, 0 rows affected (0.38 sec) 挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです- mysql> insert into

  2. デフォルトでMyISAMを使用するようにMySQLデータベースを設定するにはどうすればよいですか?

    デフォルトのストレージエンジンを設定するには、次の構文を使用します- set @@default_storage_engine = ’yourEngineType’; 次に、上記の構文を実装して、デフォルトのエンジンをMyISAMに設定します。クエリは次のとおりです- mysql> set @@default_storage_engine = 'MyISAM'; Query OK, 0 rows affected (0.05 sec) これで、SELECTステートメントを使用してデフォルトのエンジンタイプを確認できます。クエリは次のとおりです-