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

範囲内のMySQLテーブルに値を自動挿入しますか?


このために、ストアドプロシージャを作成できます。まずテーブルを作成しましょう。

mysql> create table DemoTable
   -> (
   -> Value int
   -> );
Query OK, 0 rows affected (0.55 sec)

以下は、10から20の範囲のテーブルに値を自動挿入するストアドプロシージャを作成するためのクエリです-

mysql> DELIMITER //
mysql> CREATE PROCEDURE AutoInsertValuesToTable()
   -> BEGIN
   ->    DECLARE startingRange INT DEFAULT 10;
   ->    WHILE startingRange <= 20 DO
   ->       INSERT DemoTable(Value) VALUES (startingRange );
   ->       SET startingRange = startingRange + 1;
   ->    END WHILE;
   -> END
   -> //
Query OK, 0 rows affected (0.23 sec)
mysql> DELIMITER ;

これがストアドプロシージャを呼び出すためのクエリです-

mysql> call AutoInsertValuesToTable();
Query OK, 1 row affected (1.10 sec)

これで、値が上記のテーブルに挿入されているかどうかを確認できます-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+-------+
| Value |
+-------+
|    10 |
|    11 |
|    12 |
|    13 |
|    14 |
|    15 |
|    16 |
|    17 |
|    18 |
|    19 |
|    20 |
+-------+
11 rows in set (0.00 sec)

上記の表に10から20の範囲で正常に挿入された値。


  1. MySQLのテーブルAと比較しているときに、データがテーブルBにない場合は、データをテーブルCに挿入しますか?

    これには、テーブルAとBで左結合を使用します。最初のテーブルを作成しましょう- mysql> create table demo20 −> ( −> id int, −> name varchar(20) −> ); Query OK, 0 rows affected (1.87 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 mysql> insert into demo20 values(100,'John'); Query OK, 1 row affect

  2. 別のテーブルの値を使用したINSERTINTOのMySQLクエリ?

    これには、INSERTINTOSELECTステートメントを使用します。 テーブルを作成しましょう- 例 mysql> create table demo82    -> (    -> id int,    -> name varchar(20)    -> ); Query OK, 0 rows affected (2.06 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql> insert into demo82 values(100,&