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

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)

  1. MySQLストアドプロシージャに実装されているクエリからデータベース名を取得しますか?

    データベース名を取得するには、以下の構文を使用します- select database(); 上記の構文をストアドプロシージャに実装しましょう- mysql> delimiter // mysql> create procedure get_procedure_database_name()    -> begin    -> select concat('The database name=',database());    -> end    -> // Q

  2. 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) 挿入コマンド-を使用して、テーブ