在 MySQL 中删除特定字段/行并显示其他记录?
mysqlmysqli database
为此,请在 MySQL 中使用 CASE WHEN 语句。让我们创建一个表 −
mysql> create table demo47 −> ( −> first_name varchar(20), −> last_name varchar(20) −> ); Query OK, 0 rows affected (1.57 sec)
使用 insert 命令向表中插入一些记录 −
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)