首页 » Web前端 » php复制mysql字段构造技巧_concat mysql 多个字段拼接读完之后大年夜部分轨范员收藏了

php复制mysql字段构造技巧_concat mysql 多个字段拼接读完之后大年夜部分轨范员收藏了

访客 2024-10-28 0

扫一扫用手机浏览

文章目录 [+]

语法:

COUNT(DISTINCT expr ,[expr ...])

php复制mysql字段构造技巧_concat mysql 多个字段拼接读完之后大年夜部分轨范员收藏了

函数利用解释:返回不同的非NULL 值数目。
若找不到匹配的项,则COUNT(DISTINCT) 返回 0

php复制mysql字段构造技巧_concat mysql 多个字段拼接读完之后大年夜部分轨范员收藏了
(图片来自网络侵删)

Mysql的查询结果行字段拼接,可以用下面两个函数实现:

1. concat函数

mysql> select concat('1','2','3') from test ; +---------------------+ | concat('1','2','3') | +---------------------+ | 123 | +---------------------+

如果连接串中存在NULL,则返回结果为NULL:

mysql> select concat('1','2',NULL,'3') from test ; +--------------------------+ | concat('1','2',NULL,'3') | +--------------------------+ | NULL | +--------------------------+

2. concat_ws函数

concat(separator,str1,str2,...) 代表 concat with separator ,是concat()的分外形式。
第一个参数是其它参数的分隔符。
分隔符的位置放在要连接的两个字符串之间。
分隔符可以是一个字符串,也可以是其它参数。

mysql> select concat_ws(':','1','2','3') from test ; +----------------------------+ | concat_ws(':','1','2','3') | +----------------------------+ | 1:2:3 | +----------------------------+

分隔符为NULL,则返回结果为NULL:

mysql> select concat_ws(NULL,'1','2','3') from test; +-----------------------------+ | concat_ws(NULL,'1','2','3') | +-----------------------------+ | NULL | +-----------------------------+

如果参数中存在NULL,则会被忽略:

mysql> select concat_ws(':','1','2',NULL,NULL,NULL,'3') from test ; +-------------------------------------------+ | concat_ws(':','1','2',NULL,NULL,NULL,'3') | +-------------------------------------------+ | 1:2:3 | +-------------------------------------------+

可以对NULL进行判断,并用其它值进行更换:

mysql> select concat_ws(':','1','2',ifNULL(NULL,'0'),'3') from bank limit 1; +---------------------------------------------+ | concat_ws(':','1','2',ifNULL(NULL,'0'),'3') | +---------------------------------------------+ | 1:2:0:3 | +---------------------------------------------+

concat的SQL注入:

select username,email,content from test_table where user_id=uid;

上面的user_id是吸收输入的。

concat函数本来是这样用的SELECT CONCAT('My', 'S', 'QL');实行结果是'MySQL'。
也便是连接浸染的。
我们利用它来为我们做事,

uid=-1 union select username ,concat(password,sex,address,telephone),content from test_table where user_id=管理员id;

这个语句实际查询了六个字段,但是显示的时候,把password,sex,address,telephone等字段合在一起,显示在原来该当显示email的地方。

关注

感谢阅读,如果这篇文章帮助了您,欢迎 点赞 ,收藏,关注,转发 哟。
您的帮助是我们前行的动力,我们会供应更多有代价的内容给大家... 感激!

标签:

相关文章

房山第一探寻历史文化名区的魅力与发展

房山区,位于北京市西南部,历史悠久,文化底蕴深厚。作为北京市的一个重要组成部分,房山区的发展始终与首都的发展紧密相连。房山区积极推...

Web前端 2025-02-18 阅读1 评论0

手机话费开钻代码数字时代的便捷生活

我们的生活越来越离不开手机。手机话费作为手机使用过程中的重要组成部分,其充值方式也在不断创新。手机话费开钻代码应运而生,为用户提供...

Web前端 2025-02-18 阅读1 评论0

探寻专业奥秘如何查询自己专业的代码

计算机科学已成为当今社会不可或缺的一部分。掌握一门专业代码对于个人发展具有重要意义。面对繁杂的学科体系,如何查询自己专业的代码成为...

Web前端 2025-02-18 阅读0 评论0