如何使用 SQL 语句删除包含特定字符的跨表数据?
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《如何使用 SQL 语句删除包含特定字符的跨表数据?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。
用sql语句删除多表中的包含特定字符的数据
已知有两张表t1和t2,表t1的字段为id和username,表t2的字段为id和username,编码为gbk。表t1中包含以下数据:
数据1: 1 cǒcǒ 数据2: 2 coco
表t2中包含以下数据:
数据1: 1 cócǒ
您需要使用utf8mb4校对集删除这两个表中所有包含”coco”字符的数据。针对单表的删除,可以使用以下语句:
delete from t1 where convert(username using utf8mb4) = convert(username using utf8mb4);
对于多表的删除,可以使用以下语法:
delete [low_priority] [quick] [ignore] from table_references [where where_condition]
其中,table_references指定要删除数据的表,where_condition指定删除的条件。在本例中,where条件为username包含coco字符,使用utf8mb4校对集进行比较。因此,最终的多表删除语句为:
DELETE FROM t1, t2 WHERE convert(username USING utf8mb4) LIKE '%coco%'
执行此语句后,t1和t2表中包含coco字符的所有数据将被删除。
理论要掌握,实操不能落!以上关于《如何使用 SQL 语句删除包含特定字符的跨表数据?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注主机宝贝公众号吧!