SQLクエリを使用して、MySQLフィールドの保存価格から20%を削除しますか?
保存価格に20%の消費税が含まれているとします。それでは、最初にテーブルを作成しましょう-
mysql> create table DemoTable ( Price int ); Query OK, 0 rows affected (1.09 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values(20); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values(40); Query OK, 1 row affected (0.07 sec) mysql> insert into DemoTable values(80); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable values(60); Query OK, 1 row affected (0.18 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-------+ | Price | +-------+ | 20 | | 40 | | 80 | | 60 | +-------+ 4 rows in set (0.00 sec)
以下は、保存価格から20%を削除するためのクエリです。したがって、消費税も20%あるため、120/100 =1.2-
mysql> update DemoTable set Price=Price/1.2; Query OK, 4 rows affected (0.11 sec) Rows matched: 4 Changed: 4 Warnings: 0
テーブルレコードをもう一度確認しましょう-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-------+ | Price | +-------+ | 17 | | 33 | | 67 | | 50 | +-------+ 4 rows in set (0.00 sec)
-
MySQLストアドプロシージャに実装されているクエリからデータベース名を取得しますか?
データベース名を取得するには、以下の構文を使用します- select database(); 上記の構文をストアドプロシージャに実装しましょう- mysql> delimiter // mysql> create procedure get_procedure_database_name() -> begin -> select concat('The database name=',database()); -> end -> // Q
-
MySQLストアドプロシージャ内に動的SQLクエリを実装しますか?
ストアドプロシージャでの動的SQLクエリの場合は、PREPARESTATEMENTの概念を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2033 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20) -> ); Query OK, 0 rows affected (1.61 sec) 挿入コマンド-を使用して、テーブ