
sql
文章平均质量分 51
mr.杰瑞
只要开始就不算晚……
展开
-
mysql 批量更新还是单条更新如何选择
首先说一下业务场景,需要替换某个字段的值,我选择的是批量更新,我队友选择的单条更新。她说:选择单条更新吧,一个是稳,主要是保证数据准确,然后说,批量更新会引起锁表。表锁:不会出现死锁,发生锁冲突几率高,并发低。行锁:会出现死锁,发生锁冲突几率低,并发高。批量更新是否会引起锁表?批量执行sql时,如果查到sql语句没有走索引,会出现表锁。原因:mysql的行锁是通过索引加载的,即是行锁是加在索引响应的行上的,要是对应的SQL语句没有走索引,则会全表扫描,行锁则无法实现,取而代之的是表锁。简而言原创 2021-06-25 14:58:16 · 2210 阅读 · 0 评论 -
面试中遇到的join 和 left join
select * from 表1 as aleft join 表2 as b on a.nickname=b.nickname结果是啥因为是将表1作为主表 ,那就是表1中所有数据都要去表2中查找。表1中没有的数据也会查出来,只不过表2的字段为空那么有 7条如果是以表2作为主表或者换成join那么有6条...原创 2020-11-23 20:39:44 · 222 阅读 · 0 评论 -
sql查某个字段为奇数的写法
大概想到的是这几种写法select * from contract where con_id>0 and con_id%2!=0 0.31067705154419秒select * from contract where con_id>0 and mod(con_id,2)=1 0.31990098953247秒select * from contract where con_id>0 and con_id & 1 = 1 0.30721592903137秒select *原创 2020-11-16 14:57:24 · 2219 阅读 · 1 评论 -
sql查询20公里以内的数据
项目中遇到需要查询20公里以内的数据我找到的有两种写法 SELECT *,( 6371 * acos ( cos ( radians(要查询的纬度) ) * cos( radians( 表中的纬度字段 ) ) * cos( radians( 表中的经度字段) - radians(要查询的经度)) + sin ( radians(要查询的纬度) ) * sin( radians( 表中的纬度字段) ) ) ) AS distance FROM 表名HAVING原创 2020-10-20 14:15:55 · 324 阅读 · 0 评论 -
sql修改表及字段的编码
修改表某个字段的编码alter table 表名 change 字段名 字段名 varchar() character set utf8 not null;例如alter table table1 change name name varchar(36) character set utf8 not null;修改表的编码alter table 表名 default character...原创 2019-10-25 16:19:42 · 4751 阅读 · 0 评论 -
sql 设置联合索引,及联合唯一索引怎么写
alter table 表名 add unique index 索引名(字段1,字段2,字段3)如果设置联合索引alter table 表名 add index 索引名(字段1,字段2,字段3)原创 2019-08-29 21:04:42 · 11936 阅读 · 0 评论 -
sql 语句查当天入库了多少条数据
select count() from log where FROM_UNIXTIME(assign_time, ‘%Y%m%d’) = 20190817会扫全表select count() from log where assign_time between unix_timestamp(‘2019-08-17’) and (unix_timestamp(‘2019-08-17’)+8639...原创 2019-08-19 15:42:09 · 677 阅读 · 0 评论 -
sql 语句sum和count的用法及如何进行运算
sql语句sum(if(maturityStage=0,1,0)) as m0 这种写法只能统计1的count(if(maturityStage=0,1,0)) as m0 这种写法不仅统计1的也统计0的if语句和并两列sum(if(maturityStage=2,1,0) + if(maturityStage=3,1,0) )...原创 2019-08-08 16:47:26 · 3440 阅读 · 0 评论 -
sql 将两列数据累加形成第三列
其实很简单select id,sex,(id+sex) as i_sex from valentine_user原创 2019-07-31 18:07:52 · 4246 阅读 · 1 评论 -
sql语句如何随机取一条数据
rand()最近项目中需要从所有数据中随机取一条数据 进行展示。从网站找了找可以使用rand()函数例子: SELECT * FROM activity_code ORDER BY rand() LIMIT 1;执行结果用时如图explain 结果 看到type 是 all这个类型真的是可怕,它是全表扫描,举个例子,数据表相当于一个班,我们要找小明同学。然后程序开始一个一个找,当发现...原创 2019-03-06 15:38:18 · 19032 阅读 · 0 评论