mysql函数与复杂sql语句

本文介绍如何使用SQL语句更新MySQL表字段中的特定值,并展示了复杂的多表连接查询语句,包括INNER JOIN和DISTINCT关键字的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

修改mysql表字段的内部值:
update cms_channel set alias=replace(alias,'ikfjk','icfjk') ;
alias:cms_channel字段名,ikfjk:被替换的字符串,icfjk:替换字符串

多表查询
SELECT DISTINCT m.id FROM cms_menu m INNER JOIN cms_role_menu rm ON m.id = rm.menu_id INNER JOIN cms_role r ON r.id = rm.role_id INNER JOIN cms_user_role ur ON ur.role_id = r.id INNER JOIN cms_user u ON u.id = ur.user_id WHERE u.id =1
等价于
SELECT DISTINCT m.id FROM (((cms_menu m INNER JOIN cms_role_menu rm ON m.id = rm.menu_id) INNER JOIN cms_role r ON r.id = rm.role_id) INNER JOIN cms_user_role ur ON ur.role_id = r.id) INNER JOIN cms_user u ON u.id = ur.user_id WHERE u.id =1
in数据量少效率还可以,数据量大就效率低
exists的效率依赖于匹配度。
inner join效率比较稳定。

修改链接
update user set Host='%' where User=root and Password=PASSWORD('123456');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值