1.查询A表中与B表不同的部分
字段 not in(结果集)
SELECT aurl FROM atab WHERE aurl NOT IN (SELECT DISTINCT burl FROM btab)
注:mysql从5.0开始支持子查询。
如果比较多个字段,可用concat把字段连成字符串比较。如:
SELECT aurl,aclass FROM atab WHERE CONCAT(aurl,aclass) NOT IN (SELECT DISTINCT CONCAT(burl,bclass) FROM btab)
2.清空A表中的内容
DELETE FROM atab
TRUNCATE TABLE atab
如果要删除表中的部分记录,只能使用DELETE语句。
DELETE FROM atab WHERE aid>1
如果DELETE不加WHERE子句,那么它和TRUNCATE TABLE是一样的,但它们有一点不同,DELETE可以返回被删除的记录数,而TRUNCATE TABLE返回的是0。
如果一个表中有自增字段,使用TRUNCATE TABLE和没有WHERE子句的DELETE删除所有记录后,这个自增字段将起始值恢复成1.如果你不想这样做的话,可以在DELETE语句中加上永真的WHERE,如WHERE 1或WHERE true。
DELETE FROM atabl WHERE 1
3.把一个表的指定列添加到另一个表中
INSERT INTO atab(aurl) SELECT burl FROM btab
把btab表中的burl插入到atab表中的aurl列
这里介绍的都是一些mysql教程都入门级别的语句了,有需要的朋友可以参考一下下。
时间: 2024-09-28 14:00:42