MySQL INSERT INTOコマンドでWHERE句を使用するにはどうすればよいですか?
新しい行を挿入する場合は、条件付き挿入、つまりINSERTINTOコマンドでWHERE句を使用できます。次の方法で行うことができます-
この場合、ダミーテーブルの値をいくつかの条件とともに挿入します。構文は次のようになります-
INSERT INTO table_name(column1,column2,column3,…) Select value1,value2,value3,… From dual WHERE [conditional predicate];
mysql> Create table testing(id int, item_name varchar(10)); Query OK, 0 rows affected (0.15 sec) mysql> Insert into testing (id,item_name)Select 1,'Book' From Dual Where 1=1; Query OK, 1 row affected (0.11 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> Select * from testing; +------+-----------+ | id | item_name | +------+-----------+ | 1 | Book | +------+-----------+ 1 row in set (0.00 sec)
上記の例では、「テスト」テーブルを作成し、そのテーブルに行を挿入するために、条件付きのダミーテーブルデュアルを使用しました。条件がtrueの場合、MySQLは行をテーブルに挿入します。それ以外の場合は挿入しません。
構造が別のテーブルと同じテーブルに挿入する場合、次の例では、条件付き挿入を行う方法、つまりINSERTINTOステートメントでWHERE句を使用する方法を示しています。
mysql> Insert into dummy1(id,name)select id, name from dummy Where id =1; Query OK, 1 row affected (0.06 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> select * from dummy; +------+--------+ | id | Name | +------+--------+ | 1 | Gaurav | | 2 | Aarav | +------+--------+ 2 rows in set (0.00 sec) mysql> select * from dummy1; +------+--------+ | id | Name | +------+--------+ | 1 | Gaurav | +------+--------+ 1 row in set (0.00 sec)
上記の例では、テーブル「dummy1」に値を挿入しました。テーブル「dummy」と同じ構造で、「id=1」の行のみを挿入する条件があります。
-
MySQL DISTINCT句をWHEREおよびLIMIT句と一緒に使用するにはどうすればよいですか?
MySQLクエリでDISTINCT句とともにWHERE句を使用することにより、MySQLが結果セットの一意の行を返すための条件を設定しています。 MySQLクエリでDISTINCT句とともにLIMIT句を使用することにより、実際には、返される結果セットの一意の行の最大数に関する境界をサーバーに提供しています。 例 「testing」という名前のテーブルで、次のようにDISTINCTでWHERE句とLIMIT句を使用できます- mysql> Select * from testing; +------+---------+---------+ | id | fname &nb
-
WHERE句でMySQLVIEWを使用するにはどうすればよいですか?
WHERE句を使用したMySQLVIEWの場合、構文は次のとおりです- select * from yourViewName where yourColumnName='yourValue'; まず、-を作成しましょう mysql> create table DemoTable1432 -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), &n