mysql 中的using

想在网上找关于mysql 里 using的用法,结果全是

 

SELECT * FROM table1   

JOIN table2 ON table1.id = table2.id

可以改成 

SELECT * FROM table1   

JOIN table2 USING(id)  

 

然后就没了

 

无奈只好自己查资料了

1.using在delete from 中的用法

 

delete 多表语法:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    tbl_name[.*] [, tbl_name[.*] ...]
    FROM table_references
    [WHERE where_definition]

或:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    FROM tbl_name[.*] [, tbl_name[.*] ...]
    USING table_references
    [WHERE where_definition]

例子:
DELETE t1, t2 FROM t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;

或:

DELETE FROM t1, t2 USING t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;

作用是只删除列于FROM子句之中(在USING子句之前)的表中的对应的行。作用是,您可以同时删除许多个表中的行,并使用其它的表进行搜索

再举个多表删除 删除重复记录的例子,这里要注意别名的用法

DELETE FROM t1 USING `t_player_soldier` AS `t1`,(
  SELECT DISTINCT MIN(`id`) AS `id`,`playerid`,`cfgid`
  FROM `t_player_soldier`
  GROUP BY `playerid`,`cfgid`
  HAVING COUNT(1) > 1
) AS `t2`
WHERE `t1`.`playerid` = `t2`.`playerid`
  AND `t1`.`cfgid` = `t2`.`cfgid`
  AND `t1`.`id` <> `t2`.`id`;

2.建立索引(这个大家都知道的)
CREATE TABLE lookup
  (id INT, INDEX USING BTREE (id))
  ENGINE = MEMORY;
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值