SQL数据库开发

其他

不懂就问:SQL 语句中 where 条件后 写上1=1 是什么意思

1=1的永真条件,会导致整张表里的记录都被删除了。当然这种事我们可千万不能干,也不能让别人有机可乘,这里只是为了表述where
2022年11月5日
其他

SQL每日一题(20221102)

点击关注公众号,SQL干货及时获取后台回复:1024,获取海量学习资源题目写一个查询语句要求求出整数1到100之间排除55后的和预计结果是4995该如何写这个查询?参考答案应读者的要求,我将参考答案公布了,有需要的同学可以在下方公众号「数据前线」(非本号)后台回复关键字:F1102,即可获取。还是建议先独立答题~数据前线后台回复关键字:1024,获取一份精心整理的技术干货后台回复关键字:进群,带你进入高手如云的交流群。推荐阅读SQL中的高级日期函数SQL常用脚本整理Navicat使用指南(二)Navicat使用指南(一)SQL在线编辑器,省掉你的安装烦恼
2022年11月2日
其他

如何给指定数据库创建只读用户?

可以备份数据库的用户(可以发布dbcc和checkPoint语句,这两个语句一般在备份前使用db_denydatareader
2022年11月2日
其他

第一次被裁,用 10 天时间争取到了 N + 1 赔偿!

点击关注公众号,SQL干货及时获取后台回复:1024,获取海量学习资源想必大家也知道,今年互联网裁员比较多,整体行情不好。今天分享一个第一次经历被裁员,结果无赔偿,但最终还是在作者的努力下拿到
2022年11月2日
其他

SQL中的高级日期函数

GETUTCDATE()结果:其中包含UTC的系统时间是世界标准时间,其他为当前时区时间。注意:CURRENT_TIMESTAMP与GETDATE()函数等价。DATEADD作用将指定的
2022年10月17日
其他

SQL常用脚本整理

函数可以用不同的格式显示日期/时间数据。语法CONVERT(data_type(length),data_to_be_converted,style)data_type(length)
2022年10月13日
其他

Navicat使用指南(二)

点击关注公众号,SQL干货及时获取后台回复:1024,获取海量学习资源之前发布了Navicat数据库和架构的一些实用功能,还没看的小伙伴可以戳这里:《Navicat使用指南(一)》今天我们继续介绍Navicat数据库对象的一些功能。新建表这个是比较常见的功能,相比其他管理工具,Navicat将建表过程中所涉及的各种常用功能都包含进去了,包含新字段,索引,主键,外键,唯一键等等与表有关的内容,具体如下图:针对表的几个常用功能,我们再详细给大家介绍一下字段字段的功能很多,也是其他功能的前提,意思是你必须先创建了字段才能使用后面的一些功能。其中第一排的添加字段,插入字段,删除字段,可以通过字面意思来理解。主键:选中某个字段,点击主键即可设置为主键标识:勾选后一般用作自增长列来使用注释:对字段的备注,通常为中文名:字段存在表里的字段名类型:字段数据类型长度:字段的长度,通常int和datetime可以不设置长度。比例:小数位数不是Null:该字段是否为空,勾选不为空,不勾选为空。索引用来创建索引,只需要选定指定的列,就可以在对应的列上创建索引了。名:索引的名称,通常按命名规范以index或idx开头,当然你也可以自定义。字段:选择在哪个字段上创建索引。还可以选择排序规则,默认是升序ASC。索引类型:不同的数据库索引类型不同,SQL
2022年10月8日
其他

Navicat使用指南(一)

点击关注公众号,SQL干货及时获取后台回复:1024,获取海量学习资源之前给小伙伴们推荐一款数据库开发工具DataGrip《干掉Navicat,这个数据库管理工具真香!》最近使用了DataGrip一段时间,发现它并不适合我,因为我平时不仅仅要写代码,也要负责数据仓库的建设和数据库管理的一些工作。这里给小伙伴们罗列几个我在使用DataGrip中一些不足的地方:用户体验并不十分友好,你需要花费一些时间去学习如何使用它和相似的工具比较,它运行并不迅速,当处理大容量数据库的时候会比较缓慢,将耗费GB等级的内存完全加载本地数据库数据,如果你的数据库数据较多,可能等它加载完成,你差不多要吃午饭了导入导出功能有待完善最后还是滚去用Navicat了Navicat的功能非常多,这里为了让小伙伴们一一掌握,分为多个篇章具体讲述。目录安装Navicat连接不同数据库创建数据库数据传输导出表结构生成数据字典查找数据或表名生成E-R模型注:以上功能无需书写任何SQL代码安装Navicat因为工作原因,需要经常连接不同的数据库,这里我安装的是Navicat
2022年9月29日
其他

安装数据库很痛苦?试试这个SQL在线编辑器,省掉你的安装烦恼

点击关注公众号,SQL干货及时获取后台回复:1024,获取海量学习资源经常有小伙伴因为数据库安装报错给我私信。发给我的报错各式各样,有些我能解决,有些报错真的我也没见过,不知如何作答。这导致很多初学SQL的爱好者自信心受到打击。现在如果你只是为了学习测试SQL代码使用,大可不必安装数据库。今天就给大家安利一个好用到爆的SQL在线编辑器:http://www.sqlfiddle.com/为什么好用呢?它能满足你写SQL代码练习测试的根本需求,而且还支持手机端使用哦。下面给大家介绍一下这个在线编辑器的一些功能。界面展示这个在线编辑器的功能很好掌握,我们先来看看它长什么样子。PC端界面手机端界面数据库类型选择这个在线编辑器支持多种数据库,其中就有小伙伴常用的SQL
2022年9月19日
其他

几个高级SQL函数的用法

'货币格式'结果PATINDEX作用返回模式在指定表达式中第一次出现的起始位置;如果在所有有效的文本和字符数据类型中都找不到该模式,则返回零。该函数与CHARINDEX比较相似语法PATINDEX
2022年9月13日
其他

干掉Navicat,这个数据库管理工具真香!

版是由JetBrains公司推出的数据库管理软件,DataGrip支持几乎所有主流的关系数据库产品,如DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQL
2022年9月2日
其他

5大SQL数据清洗方法!

点击关注公众号,SQL干货及时获取后台回复:1024,获取海量学习资源日常工作中,分析师会接到一些专项分析的需求,首先会搜索脑中的分析体悉,根据业务需求构建相应的分析模型(不只是机器学习模型),根据模型填充相应维度表,这些维度特征表能够被使用的前提是假设已经清洗干净了。但真正的原始表是混乱且包含了很多无用的冗余特征,所以能够根据原始数据清洗出相对干净的特征表就很重要。前两天在Towards
2022年8月29日
其他

为什么代码规范要求,SQL语句不要过多的JOIN?

/proc/sys/vm/drop_caches就可以清理buff/cache了,你说说我在线上执行这条命令做好不好?我:(送分题,内心大喜)好处大大的有,清理出缓存我们就有更多可用的内存空间,
2022年8月25日
其他

SQL中的开窗函数

点击关注公众号,SQL干货及时获取后台回复:1024,获取海量学习资源作者:五四青年来源:https://zhuanlan.zhihu.com/p/514345120目录前言窗口函数的格式函数(Function)的类型开窗函数over()窗口函数使用ROW_NUMBER()RANK()与DENSE_RANK()LEAD()与LAG()FIRST_VALUE()与LAST_VALUE()NTILE()MAX()、MIN()、AVG()、SUM()与COUNT()窗口从句的使用窗口从句进阶前言MySQL从8.0版本开始支持窗口函数了,窗口函数又名开窗函数,属于分析函数的一种。用于解决复杂报表统计需求的功能强大的函数。窗口函数用于计算基于组(GROUP
2022年8月24日
其他

《SQL必知必会》读书笔记

'软件工程');关联联接虽然两个表拥有公共字段便可以创建联接,但是使用外键可以更好地保证数据完整性。比如当对一个学生插入一条不存在的班级的时候,便会插入失败。一般来说,联接比子查询拥有更好的性能。#
2022年8月23日
其他

有了这 4 款脚本工具,老板再也不怕我写烂SQL了

https://launchpad.net/mysql-tuning-primer/trunk/1.6-r1/+download/tuning-primer.sh2.2
2022年8月19日
其他

SQL 语句中单引号、双引号的用法

“')”和第一个例子一样,将thename和thetype替换后,再用连接符,就连接成和上面一样的字符串了。插入数字型假如插入一个年龄为12的记录,要注意数字不用加单撇号strsql=“Insert
2022年8月17日
其他

SQL常见错误指南

点击关注上方“SQL数据库开发”,设为“置顶或星标”,第一时间送达干货SQL是数据分析中最高频的操作之一,本文梳理常见的SQL错误,可以归为三大类:语法类;函数类;逻辑类;语法错误标点错漏e.g.
2022年8月15日
其他

必备神技能 ,MySQL 查找并删除重复行

点下方关注“SQL数据库开发”,设为“置顶或星标”,第一时间送达干货本文讲述如何查找数据库里重复的行。这是初学者十分普遍遇到的问题。方法也很简单。这个问题还可以有其他演变,例如,如何查找“两字段重复的行”(#mysql
2022年8月8日
其他

SQL中的递归查询

)递归查询示例创建测试数据,有一个员工表Company,父级ID是部门ID的父节点,这是一个非常简单的层次结构模型。USE
2022年7月28日
其他

SQL中的流程控制

@A结果:这里结果与上面的BEGIN...END一样,但是如果我们将条件改成大于8,结果可能就不是这样的了,小伙伴们可以试一下。IF...ELSE语法IF
2022年7月27日
其他

SQL中MERGE的用法

MERGE的定义MERGE关键字是一个神奇的DML关键字,它能将INSERT,UPDATE,DELETE等操作并为一句,根据与源表联接的结果,对目标表执行插入、更新或删除操作。MERGE的语法MERGE
2022年7月25日
其他

21个写SQL的好习惯

(address,age)9.修改或删除重要数据前,要先备份,先备份,先备份(SQL后悔药)如果要修改或删除数据,在执行SQL前一定要先备份要修改的数据,万一误操作,还能吃口「后悔药」~10.
2022年7月19日
其他

SQL 进阶技巧(下)

呢,主要用到了以下几个参数这几个参数一定要配好,再根据每条慢查询对症下药,像我司每天都会把这些慢查询提取出来通过邮件给形式发送给各个业务团队,以帮忙定位解决总结业务生产中可能还有很多
2022年7月18日
其他

SQL 进阶技巧(上)

中,子查询的结果会产生一张新表,不过如果不加限制大量使用中间表的话,会带来两个问题,一是展示数据需要消耗内存资源,二是原始表中的索引不容易用到,所以尽量减少中间表也可以提升性能。九、灵活使用
2022年7月14日
其他

SQL常见错误指南

一个用户在某一时刻,可能有多张优惠券,优惠券的状态可能是【已使用、已过期、未使用】等,现在要判断当前有“未使用”的优惠券。时间错位即数据匹配时要在时间维度上要对齐。e.g.
2022年7月7日
其他

经典SQL语句大全

)一起使用注意:在分组时:不能以text,ntext,image类型的字段作为分组依据在select统计函数中的字段,不能和普通的字段放在一起;
2022年7月4日
其他

SQL中常用的四个排序函数

Server排序中经常用到的ROW_NUMBER(),RANK(),DENSE_RANK(),NTILE()这四个好兄弟。我们先创建一个测试数据表ScoresWITH
2022年6月30日
其他

SQL 常用函数

值的以弧度表示的角ATAN2(float_expression1,float_expression2)--返回正切是float_expression1
2022年6月22日
其他

不懂就问:SQL 语句中 where 条件后 写上1=1 是什么意思

1=1的永真条件,会导致整张表里的记录都被删除了。当然这种事我们可千万不能干,也不能让别人有机可乘,这里只是为了表述where
2022年6月15日
其他

推荐一个 SQL 学习刷题网站!

今天给大家推荐一款之前一直在用的SQL刷题网站—牛客的SQL题库。点击文末的「阅读原文」即可直达该刷题网站,在线注册完即可开始免费刷题。很多人都知道牛客有面经,但是还不知道有SQL,其实牛客的SQL题目已经有大概500题了,题目内容、产品、讨论区氛围,可以说是国内做的最好的网站之一。内容上它主要包含了针对数据分析师、大数据的快速入门、进阶、面试真题、最近又新上了
2022年6月13日
其他

SQL 中为什么经常要加NOLOCK?

刚开始工作的时候,经常听同事说在SQL代码的表后面加上WITH(NOLOCK)会好一些,后来仔细研究测试了一下,终于知道为什么了。那么加与不加到底有什么区别呢?SQL在每次新建一个查询,就相当于创建了一个会话。在不同的查询窗口操作,会影响到其他会话的查询。当某张表正在写数据时,这时候去查询很可能就会一直处于阻塞状态,哪怕你只是一个很简单的SELECT也会一直等待。我们这里使用事务来往某张表里写数据,我们知道事务在写完表必须提交(COMMIT)或回滚(ROLLBACK)才能释放表,否则会一直处于阻塞状态。在插入过程中,我们写一个简单的查询语句,在不添加WITH(NOLOCK)和添加WITH(NOLOCK)的情况下,看会发生什么。示例数据如下表A,是我们新建的一个非常简单的表。下面我们创建一个往里面写数据的事务(使用BEGIN
2022年6月9日
其他

为什么MySQL不推荐使用子查询和JOIN?

点击关注上方“SQL数据库开发”,设为“置顶或星标”,第一时间送达干货来源:cnblogs.com/liboware/p/12740901.html1.对于mysql,不推荐使用子查询和join是因为本身join的效率就是硬伤,一旦数据量很大效率就很难保证,强烈推荐分别根据索引单表取数据,然后在程序里面做join,merge数据。2.子查询就更别用了,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,这里多了一个创建和销毁临时表的过程。3.如果是JOIN的话,它是走嵌套查询的。小表驱动大表,且通过索引字段进行关联。如果表记录比较少的话,还是OK的。大的话业务逻辑中可以控制处理。4.数据库是最底层的,瓶颈往往是数据库。建议数据库只是作为数据store的工具,而不要添加业务上去。一、应用层关联的优势让缓存的效率更高。许多应用程序可以方便地缓存单表查询对应的结果对象。如果关联中的某个表发生了变化,那么就无法使用查询缓存了,而拆分后,如果某个表很少改变,那么基于该表的查询就可以重复利用查询缓存结果了。将查询分解后,执行单个查询可以减少锁的竞争。在应用层做关联,可以更容易对数据库进行拆分,更容易做到高性能和可扩展。查询本身效率也可能会有所提升。查询id集的时候,使用IN()代替关联查询,可以让MySQL按照ID顺序进行查询,这可能比随机的关联要更高效。可以减少冗余记录的查询。在应用层做关联查询,意味着对于某条记录应用只需要查询一次,而在数据库中做关联查询,则可能需要重复地访问一部分数据。从这点看,这样的重构还可能会减少网络和内存的消艳。更进一步,这样做相当于在应用中实现了哈希关联,而不是使用MySQL的嵌套循环关联。某些场景哈希关联的效率要高很多。二、应用层关联的使用场景当应用能够方便地缓存单个查询的结果的时候当可以将数据分布到不同的MySQL服务器上的时候当能够使用IN()的方式代替关联查询的时候并发场景多,DB查询频繁,需要分库分表三、不推荐使用join的原因1.DB承担的业务压力大,能减少负担就减少。当表处于百万级别后,join导致性能下降;2.分布式的分库分表。这种时候是不建议跨库join的。目前mysql的分布式中间件,跨库join表现不良。3.修改表的schema,单表查询的修改比较容易,join写的sql语句要修改,不容易发现,成本比较大,当系统比较大时,不好维护。四、不使用join的解决方案在业务层,单表查询出数据后,作为条件给下一个单表查询。也就是子查询。会担心子查询出来的结果集太多。mysql对in的数量没有限制,但是mysql限制整条sql语句的大小。通过调整参数max_allowed_packet
2022年6月6日
其他

执行count(1)、count(*) 与 count(列名) 到底有什么区别?

count(*)从执行计划来看,count(1)和count(*)的效果是一样的。当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多!
2022年6月2日
其他

盘点MySQL慢查询的12个原因

来源丨捡田螺的小男孩作者丨捡田螺的小男孩前言日常开发中,我们经常会遇到数据库慢查询。那么导致数据慢查询都有哪些常见的原因呢?今天田螺哥就跟大家聊聊导致MySQL慢查询的12个常见原因,以及对应的解决方法。1.
2022年5月27日
其他

SQL中 LEFT JOIN 左表合并去重实用技巧

是以A表为基础,A表即左表,B表即右表。左表(A)的记录会全部显示,而右表(B)只会显示符合条件表达式的记录,如果在右表(B)中没有符合条件的记录,则记录不足的地方为NULL。使用left
2022年5月24日
其他

学 SQL 必须了解的10个高级概念

点击下方关注“SQL数据库开发”,设为“置顶或星标”,第一时间送达干货随着数据量持续增长,对合格数据专业人员的需求也会增长。具体而言,对SQL流利的专业人士的需求日益增长,而不仅仅是在初级层面。因此,Stratascratch的创始人Nathan
2022年5月23日
其他

如何写出一手好 SQL ?很有必要!

API文档型SequoiaDB国内知名文档型数据库图形Neo4J用于社交网络构建关系图谱,推荐系统等参考:https://www.jianshu.com/p/6864abb4d885来源:编码砖家
2022年5月17日
其他

SQL中去重的三种方法,还有谁不会?

SQL去重是数据分析工作中比较常见的一个场景,今天给大家具体介绍3种去重的方法。在使用SQL提数的时候,常会遇到表内有重复值的时候,比如我们想得到
2022年5月16日
其他

一千行 MySQL 学习笔记

最大有效长度是65532字节,因为在varchar存字符串时,第一个字节是空的,不存在任何数据,然后还需两个字节来存放字符串的长度,所以有效长度是64432-1-2=65532字节。
2022年4月24日
其他

SQL自定义排序

你有遇到过这样的场景吗?按指定的顺序输出结果,比如按“北京,天津,上海,重庆……”这样的顺序。今天给大家介绍几种方法来求解这样的问题,我们先看下示例表:这张表的数据是随机录进去的,下面我们希望按照我们指定的顺序输出为如下内容:注意:这里既没有按照人口的多少排序,也没有按照GDP的多少排序,更加没有按照城市的拼音首字母排序,完全是按照我们自己的意愿进行排序。方法一
2022年4月18日
其他

一行SQL代码能做什么?

Orders注:Amount是带2位以上的小数格式,转换后的小数会四舍五入。8、删除重复记录(除了主键不同,其他字段均相同)表Person数据如下:删除其中除ID以为其他都重复的记录DELETE
2022年4月15日
其他

SQL 性能优化梳理

作者:wolearnjuejin.im/post/59b11ba151882538cb1ecbd0前言本文主要针对的是关系型数据数据库MySql。先简单梳理下Mysql的基本概念,然后分创建时和查询时这两个阶段的优化展开。1
2022年4月14日
其他

安利几款我常用的数据软件

经常有小伙伴问我,作为一名数据行业从业者,都用过哪些比较好用的软件?今天就给大家分享一下我用过的一些数据软件,权当抛砖引玉,小伙伴们用过的一些数据软件也欢迎在评论区留言,一起交流。Excel不管是做数据分析还是平时统计数据,Excel几乎是刚工作那段时间使用频率最高的了,它的一些智能化的功能着实可以提高不少工作效率。特别是与SQL一起使用有意想不到的效果,比如下面的这个作用就挺不错的:如何用Excel快速生成SQL语句,用过的人都说好上手指数:★★使用频率:★★★★SQL
2022年4月10日
其他

SQL常见错误指南

一个用户在某一时刻,可能有多张优惠券,优惠券的状态可能是【已使用、已过期、未使用】等,现在要判断当前有“未使用”的优惠券。时间错位即数据匹配时要在时间维度上要对齐。e.g.
2022年4月7日
其他

SQL 学习最强刷题网站!

今天给大家推荐一款之前一直在用的SQL刷题网站—牛客的SQL题库。点击文末的「阅读原文」即可直达该刷题网站,在线注册完即可开始免费刷题。很多人都知道牛客有面经,但是还不知道有SQL,其实牛客的SQL题目已经有大概500题了,题目内容、产品、讨论区氛围,可以说是国内做的最好的网站之一。内容上它主要包含了针对数据分析师、大数据的快速入门、进阶、面试真题、最近又新上了
2022年3月29日
其他

SQL 语句中单引号、双引号的用法

“')”和第一个例子一样,将thename和thetype替换后,再用连接符,就连接成和上面一样的字符串了。插入数字型假如插入一个年龄为12的记录,要注意数字不用加单撇号strsql=“Insert
2022年3月23日
其他

为什么不建议在 MySQL 中使用 UTF-8?

月的邮件列表中也找不到可以解释这一变更的线索。不过我们可以试着猜测一下:2002年,MySQL做出了一个决定:如果用户可以保证数据表的每一行都使用相同的字节数,那么
2022年3月22日
其他

互联网公司常用 MySQL 分库分表方案

来源:尜尜人物cnblogs.com/littlecharacter/p/9342129.html一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。1、IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度
2022年3月21日
其他

一条SQL能占多大内存?

client_interface_name='OLEDB'着重看这个数字:sys.dm_exec_session.memory_usage.特别的是,4
2022年3月17日