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

MySQLの条件で切り捨てますか?


MySQLでは、条件で切り捨てる方法はありません。 where句でtruncateステートメントを使用することはできません。

条件が必要な場合は、削除コマンド-

を使用します
DELETE FROM yourTableName WHERE youCondition;

上記の構文は問題ありませんが、より高速なソリューションが必要な場合は、切り捨てと比較してDELETEは適切ではありません。切り捨ての利点は、ログに書き込まないことです。

テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table DeleteDemo
   -> (
   -> Id int,
   -> Name varchar(100)
   -> );
Query OK, 0 rows affected (1.22 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-

mysql> insert into DeleteDemo values(101,'Carol');
Query OK, 1 row affected (0.15 sec)

mysql> insert into DeleteDemo values(102,'Sam');
Query OK, 1 row affected (0.15 sec)

mysql> insert into DeleteDemo values(103,'Bob');
Query OK, 1 row affected (0.16 sec)

mysql> insert into DeleteDemo values(104,'Mike');
Query OK, 1 row affected (0.17 sec)

mysql> insert into DeleteDemo values(105,'John');
Query OK, 1 row affected (0.09 sec)

mysql> insert into DeleteDemo values(106,'Maria');
Query OK, 1 row affected (0.20 sec)

mysql> insert into DeleteDemo values(107,'Johnson');
Query OK, 1 row affected (0.17 sec)

ここで、selectコマンドを使用してテーブルのすべてのレコードを表示しましょう。クエリは次のとおりです-

mysql> select *from DeleteDemo;

出力

+------+---------+
| Id   | Name    |
+------+---------+
|  101 | Carol   |
|  102 | Sam     |
|  103 | Bob     |
|  104 | Mike    |
|  105 | John    |
|  106 | Maria   |
|  107 | Johnson |
+------+---------+
7 rows in set (0.00 sec)

これでdeleteコマンドを使用できますが、where句で切り捨てられることはありません。 where句を使用してテーブルからレコードを削除するクエリは次のとおりです-

mysql> delete from DeleteDemo where Id>104;
Query OK, 3 rows affected (0.13 sec)

selectコマンドを使用してテーブルデータをもう一度確認しましょう。クエリは次のとおりです-

mysql> select *from DeleteDemo;

出力

+------+-------+
| Id   | Name  |
+------+-------+
|  101 | Carol |
|  102 | Sam   |
|  103 | Bob   |
|  104 | Mike  |
+------+-------+
4 rows in set (0.00 sec)

上記の出力例を見ると、104を超えるすべてのレコードがテーブルから削除されています。


  1. MySQLの条件でカウントしますか?

    カウントするには、集計関数SUM()を使用し、条件でカウントするには、WHEREで条件を設定する必要があります。まずテーブルを作成しましょう- mysql> create table DemoTable1515    -> (    -> ClientId varchar(10),    -> ClientName varchar(20)    -> ); Query OK, 0 rows affected (0.53 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコード

  2. MySQLでSelectクエリを使用して挿入

    SELECTクエリを使用した挿入の場合、構文は次のとおりです- insert into yourTableName(yourColumnName1,yourColumnName2,yourColumnName3,...N) select yourValue1,yourValue2,yourValue3,......N;を選択します。 まずテーブルを作成しましょう- mysql> create table DemoTable1603    -> (    -> StudentId int,    -> Stud