mysql 不显示列名_如何使用MySql查询显示所有非空和所有非空记录而不提及where子句中的所有列名?...

你不能;某些东西,某处必须形成一个查询,其中提到了所有列名 . 也许你会知道,使用文本编辑器功能特性可以让你的生活更轻松 .

mySQL中的以下查询

SHOW COLUMNS FROM mydb.mytable

应该产生这样的输出:

+-------------+----------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------------+----------+------+-----+---------+----------------+

| ID | int(11) | NO | PRI | NULL | auto_increment |

| Name | char(35) | NO | | | |

| CountryCode | char(3) | NO | MUL | | |

| District | char(20) | NO | | | |

| Population | int(11) | NO | | 0 | |

+-------------+----------+------+-----+---------+----------------+

如果您使用电源文本编辑器(此示例用于升级,大多数优秀的文本编辑器具有此功能),它将具有列选择模式 . 在sublime中,如果使用鼠标中键拖动选区,则可以突出显示仅列名称的方形区域

0eba2bb2-c21f-4d1b-9ff0-632eadbb02c1.png

取下这些并将它们粘贴到其他地方,然后再次使用鼠标中键绘制一条垂直线,在行的末尾为零,然后开始输入:

cb5aea3c-d5bb-4a13-a98c-40afaaad32fb.png

48b16b1a-eaef-45df-89b7-3402d71e3768.png

如您所见,sublime同时在所有行上键入 . 这可以大大减少您的查询编写家务和无聊的重复部分 . 阅读您最喜欢的文本编辑器的高级功能 . 我喜欢崇高,因为它可以通过ctrl单击放置多个游标,然后同时键入所有 - 我没有在任何其他编辑器中找到此功能:

8a3c637b-7f22-42ca-a170-13d2d22102aa.png

如果表变化很大,那么您的其他选项是使用SQL在代码/中构建查询 . 也许是这样的事情:

SELECT 'SELECT * FROM tableWhatever WHERE '

UNION ALL

SELECT CONCAT(`COLUMN_NAME`, ' is not null and ')

FROM `INFORMATION_SCHEMA`.`COLUMNS`

WHERE `TABLE_SCHEMA`='yourdatabasename'

AND `TABLE_NAME`='yourtablename'

UNION ALL

SELECT '1=1'

它会产生这样的SQL(查询编辑器的网格输出中的多个单元格,然后将单元格复制出查询编辑器):

SELECT * FROM tableWhatever WHERE

ID is not null and

Name is not null and

CountryCode is not null and

District is not null and

Population is not null and

1=1

它在语法上是正确的 . 如果需要,可以使用退格键删除最后一个AND和1 = 1 .

使用SQL编写SQL也可以为您节省大量的输入 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值