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

特定のフィールド/行を削除し、MySQLで他のレコードを表示しますか?


これには、MySQLでCASEWHENステートメントを使用します。テーブルを作成しましょう-

mysql> create table demo47
−> (
−> first_name varchar(20),
−> last_name varchar(20)
−> );
Query OK, 0 rows affected (1.57 sec)

挿入コマンド-

を使用して、いくつかのレコードをテーブルに挿入します。
mysql> insert into demo47 values('John','Smith');
Query OK, 1 row affected (0.18 sec)

mysql> insert into demo47 values('David','Miller');
Query OK, 1 row affected (0.11 sec)

mysql> insert into demo47 values('John','Doe');
Query OK, 1 row affected (0.12 sec)

mysql> insert into demo47 values('Chris','Brown');
Query OK, 1 row affected (0.12 sec)

selectステートメントを使用してテーブルのレコードを表示する-

mysql> select *from demo47;

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

+------------+-----------+
| first_name | last_name |
+------------+-----------+
| John       | Smith     |
| David      | Miller    |
| John       | Doe       |
| Chris      | Brown     |
+------------+-----------+
4 rows in set (0.00 sec)

以下は、MySQLで特定のフィールド/行を削除し、他のレコードを表示するためのクエリです。

mysql> select case when first_name= 'John' then last_name else first_name end Result
−> from demo47
−> where 'John' in (first_name,last_name);

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

+--------+
| Result |
+--------+
| Smith  |
| Doe    |
+--------+
2 rows in set (0.00 sec)

  1. MySQLのMATCHおよびAGAINSTを使用して、特定の列に文字列を含む行を選択します

    まずテーブルを作成しましょう- mysql> create table DemoTable1833      (      Name varchar(20)      ); Query OK, 0 rows affected (0.00 sec) テーブルの変更- Mysql> alter table DemoTable1833 ADD FULLTEXT(Name); Query OK, 0 rows affected, 1 warning (0.00 sec) Records: 0 &nb

  2. MySQLは特定の月と年に基づいてレコードをフェッチしますか?

    これには、MONTH()とYEAR()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1846      (      PurchaseDate date      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1846 values('2019-01-10');