![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
Rm_and_Rf
这个作者很懒,什么都没留下…
展开
-
教你实现mysql全连接的方法
前提:因为MySQL没有full join,所以只能通过其他方法来实现全连接,下面请看操作。先直接上代码,下面再慢慢解释:select a.*,b.* from a left join b on a.id = b.id unionselect a.*,b.* from a right join b on a.id = b.id 简介:先使用left join左连接将数据a表满足条件的数据查出来,再使用right join右连接将b表满足条件的数据查出来,最后使用union将查出来的数据联合组成并去原创 2020-11-26 15:18:27 · 8909 阅读 · 0 评论 -
MySQL查询一张表内的重复数据与条数
SQL如下:SELECT ID, COUNT(ID) 重复数量FROM testGROUP BY IDHAVING COUNT(ID) > 1ORDER BY ID;核心是通过group by 先将ID分组,每一个不同的ID都为一组,然后通过count计数每一组的ID的数量。重复数量的ID都会为2。后面的HAVING COUNT(ID) > 1 ORDER BY ID 只是为了排除不重复的数据和排序。...原创 2020-07-27 10:09:13 · 1780 阅读 · 0 评论 -
Mybait获取本地时间
第一种方法一、MySQL使用now() <update> update t_user set time = now() where id = 1 </update>二、Oracle使用sysdate <update> update t_user set time = sysdate where id = 1 </update>原创 2020-06-23 16:27:59 · 138 阅读 · 0 评论 -
you cant specify target table xxx for update in from clause
起因:在批量删除数据的时候报错You can’t specify target table ‘xxx’ for update in FROM clause,一开始没有考虑到不能再一条SQL里面同时查询和更新同一张表的数据,所以才导致报错。报错原因:不能在一条sql语句中查询相同表的某些值,然后再更新表或者删除表。解决办法:利用中间表包裹查询出来的数据之后再进行更新或者删除。更新表错误示范:更新表:update a表 set name = "马大哈" where id in (select id f原创 2020-06-22 17:23:26 · 6503 阅读 · 0 评论 -
SQL报错Every derived table must have its own alias
前言:在使用mysql做count计数多表查询或子查询的时候犯了一个低级的错误:1248 - Every derived table must have its own alias(每个派生表都必须有自己的别名)报错sql:SELECT count(*) FROM ( SELECT t.id id, t1.id t1_id, t2.id t2_id FROM t_school t LEFT JOIN t_teacher t1 ON t.teacherid = t1.id原创 2020-06-12 10:38:33 · 1747 阅读 · 0 评论 -
MySQL批量删除数据-避免内存溢出
前提:前些天接到一个同步数据需求,把Oracle里面的数据同步到MySQL数据库里面。实现同步数据必须保持两边的字段类型和字段长度一致。关于Oracle varchar2 和MySQL varchar 字段长度关系,我会在下一篇详解。同步数据是依照Oracle数据库的数据为准,所以同步过后MySQL数据库会存在一些脏数据,必须删除。但是脏数据肯定不少,这就牵扯到了MySQL的批量删除。我先把错误方法列出来,看看各位有没有踩坑。然后再推荐使用哪些方法下面列举的是使用使用JPA的形式删除:正常逻辑是这样:JP原创 2020-06-04 09:19:41 · 786 阅读 · 0 评论 -
mysql修改字段属性及修改是否非空
在使用mysql的时候肯定会因为接口返回数据与数据库字段类型不一致,或者int储存太小只能改为String。这个时候就需要我们在数据库里面修改字段类型。一般情况下是先删除字段,然后再添加,但是这样就会导致数据丢失。不过我们可以选择直接修改表的字段属性并且可以修改为是否非空。SQL语句:ALTER TABLE 表名 MODIFY column 字段名 字段类型 是否非空;列如:ALTER TABLE t_user MODIFY column user_id VARCHAR(255) NOT NU原创 2020-05-21 10:46:31 · 11861 阅读 · 0 评论