作者川石信息来源今日头条DML数据操作语言.插入,删除与更新数据库表中的数据.insertdeleteupdateinsert向数据库表中插入新的数据行.delete删除数据库表中的数据行.update更新数据库表中的列值.1.insert一般语法:插入1条记录insertintotabname(c1,c2,...,cn)values(v1,v2,...,vn);顺序,类型,个数插入n条记录insertintotabname(c1,c2,...,cn)values(vlist1),(vlist2),...,(vlistn);不指定列插入,表示插入所有列insertintotabnamev...
2022-04-30 21:33:50 7316浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条一、统计函数▲count()统计客户表中客户人数SELECTCOUNT()FROMecsusers;统计商品售价大于500的产品数量SELECTCOUNT()FROMecsgoodsWHEREshopprice>500;▲count(ve)统计值表达式返回的非空值的个数.找出设置了密码提示问题用户人数SELECTCOUNT()FROMecsusersWHEREpasswdquestionISNOTNULL;SELECTCOUNT(passwdquestion)FROMecsusers;▲count(distinctve)统计值表达式返回的非空不同值的个数.统计商品表中...
2022-04-30 21:30:39 7356浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条子查询分治思想.复杂的查询分解为若干个简单的查询▲子查询的引入找出商店售价比诺基亚E66要贵的产品的信息s1.get诺基亚E66priceSELECTshoppriceFROMecsgoodsWHEREgoodsname'诺基亚E66';2298.00s2.ALLprice>2298.0SELECTFROMecsgoodsWHEREshopprice>2298.0;SELECTFROMecsgoodsWHEREshopprice>(SELECTshoppriceFROMecsgoodsWHEREgoodsname'诺基亚E66');1、子查询定义与分类▲定义子查询本质上就是一个se...
2022-04-30 21:25:07 6331浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条连接合并思想.N个表1个表▲连接的定义将2个或2个以上的表通过一定的条件拼接起来形成一个虚表的过程。连接是from子句的一部分.从2个表的连接开始.●左表:放置在你左手边的表.lefttab●右表:放置在你右手边的表.righttab▲连接语法selectlistfromlefttabjointyperighttabonjoincondition;1、连接类型三种基本类型:交叉连接,内连接与外连接交叉连接返回的就是一个笛卡尔积.数学中A{1,2,3}B{4,5}AXB{<1,4>...
2022-04-30 21:17:47 6462浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条数据过滤是由where子句来实现的.语法:selectlistfromtabswheresearchconditions;▲原理where条件谓词>true表示满足条件返回数据行>false表示不满足条件丢弃数据行>unknown表示不满足条件丢弃数据行where多个条件复合谓词:基本谓词通过逻辑运算符连接起来的式子逻辑运算符:andornot复合谓词经过逻辑运算>truefalseunknown1、基本谓词比较谓词比较两个值表达式返回的值的大小关系是否成立.whereve1VSve2v...
2022-04-30 21:10:52 6146浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条SQL语言SQL(StructuredQueryLanguage)的含义是结构化查询语言.SQL是用于访问和处理数据库的标准的计算机语言。SQL有多种不同的标准,常见有SQL89,SQL92与SQL99标准.▲SQL分类DQL数据查询语言.从数据库表中检索数据.select命令select语句●自然语句:句子成分主谓宾定状补●select语句:由若干个子句构成,每一个子句由一个关键字引导1.select语句组成一般select语句包含6大子句.语法:selectlistfromtabswhe...
2022-04-30 21:03:16 1.1w浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条一、MySQL数据库安装与基本配置1、数据库的基本概念数据●信息信息是用来消除随机不定性的东西(信息学的奠基者,克劳德.香农定义)●信息类型数字,文本,声音,图像,视频●数据信息的一种表现形式.输入到计算机中被计算机存储与加工的符号的总称.(01组成的数字串)信息与数据可以相互转化.▲数据库按照一定的数据结构组织,存储与管理数据的仓库.数据安全,数据共享,事务处理▲数据库管理系统(DBMS)用于创建,...
2022-04-30 20:55:55 7951浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条SQL是一种声明式的语言,我们只需要描述想要的结果(WHAT),而不关心数据库如何实现(HOW);虽然SQL比较容易学习,但是仍然有一些容易混淆和出错的概念。今天我们就来说说SQL中的空值陷阱,我们可以先看看以下表格的详情。陷阱一:空值不一定为空空值是一个比较特殊的字段。在MySQL数据库中,在不同的情形下,空值往往代表不同的含义。这是MySQL数据库的一种特性。如在普通的字段中(字符型的数据),空值就...
2022-04-30 20:52:16 1.0w浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条一、Event概念Event即事件,也是一种数据库对象,又叫时间触发器或者事件调度器,与triggers的事件触发不同,tiggers会因为update、delete、insert等事件触发,而event类似与linuxcrontab计划任务,用于时间触发,当到了设定执行时间时,系统会触发相关的SQL语句或存储过程,相当于我们给存储过程创建了定时任务。▲适用范围:对于每隔一段时间就有固定需求的操作,如创建表,删除数据、插入数据,修改...
2022-04-30 20:50:05 8127浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条Oracle数据和Mysql数据库都是十分常见的数据库,使用都很广泛,使用过的人会发现在写sql语句时两者之间大多数语法是相通的,但是也有一些地方语法不一样,今天我们一起来浅聊一下它们的区别吧。通过查阅资料和自身的经验我一共整理了10点区别,具体如下。1.oracle中select语句后边的from是不能省略的,如果没有实际的表,可以用dual作为from的目的表,mysql中from则是可以省略的,例如查看系统当前日期...
2022-04-30 20:46:01 1.3w浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条一、数据结构数据结构通常会影响两个维度的优化:一是响应时间;二是资源消耗。●选择时数据类型的影响选择数据类型通常应该遵守以下规则:1.越小越好所谓的越小越好是指数据类型所占的字节空间,即所占的内存情况。2.数据类型越简单越好通常来说越简单的数据类型,在处理时所消耗的CPU时间频率是最少的,数据类型越复杂,所消耗的CPU时间频率就会越长。例如时间、日期、IP地址等,之所以会这样是因为复...
2022-04-30 20:41:44 6922浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条一、缓存设计(1)缓存更新策略缓存中的数据通常都是有生命周期的,需要在指定时间后被删除或更新,这样可以保证缓存空间在一个可控的范围。但是缓存中的数据会和数据源中的真实数据有一段时间窗口的不一致,需要利用某些策略进行更新。下面将分别从使用场景、一致性、开发人员开发维护成本三个方面介绍三种缓存的更新策略。1.LRULFUFIFO算法剔除使用场景。剔除算法通常用于缓存使用量超过了预设的最大值...
2022-04-30 20:38:18 6147浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条一、RDBRDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。手动触发分别对应save和bgsave命令:(1).save命令save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上环境不建议使用。运行save命令对应的Redis日志如下:DBsavedondisk(2).bgsave命令bgsave命令:Redis进程执行fork操作创建子进程,RDB持久化过程...
2022-04-30 20:31:10 9788浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条一、内存消耗当memfragmentationratio1时,说明usedmemoryrssusedmemory多出的部分内存并没有用于数据存储,而是被内存碎片所消耗,如果两者相差很大,说明碎片率严重。当memfragmentationratio
2022-04-30 19:48:13 6713浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条Bigkey即数据量大的key,由于其数据大小远大于其他key,导致经过分片之后,某个具体存储这个bigkey的实例内存使用量远大于其他实例,造成,内存不足,拖累整个集群的使用。bigkey在不同业务上,通常体现为不同的数据,比如:论坛中的大型持久盖楼活动;聊天室系统中热门聊天室的消息列表;Hotkey即热点key,指的是在一段时间内,该key的访问量远远高于其他的rediskey,导致大部分的访问流量在经过proxy分...
2022-04-30 19:43:04 8234浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条和很多关系型数据库(例如:MySQL)一样,Redis也提供了慢查询日志记录,Redis会把命令执行时间超过slowloglogslowerthan的都记录在Reids内部的一个列表(list)中,该列表的长度最大为slowlogmaxlen。需要注意的是,慢查询记录的只是命令的执行时间,不包括网络传输和排队时间一、慢查询在Redis中有两种修改配置的方法,一种是修改配置文件,另一种是使用configset命令动态修改。例如下面使用configset命...
2022-04-30 19:38:20 6599浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条(四)、列表列表(list)类型是用来存储多个有序的字符串,如图218所示,a、b、c、d、e五个元素从左到右组成了一个有序的列表,列表中的每个字符串称为元素(element),一个列表最多可以存储23的2次方减1个元素。在Redis中,可以对列表两端插入(push)和弹出(pop),还可以获取指定范围的元素列表、获取指定索引下标的元素等。1.添加操作rpushkeyvalue[value...]127.0.0.1:6379>rpushlistkeycba(integer)3lra...
2022-04-30 19:32:23 7239浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条(一)、全局命令Redis常见全局命令有以下几种:1.查看所有键keys2.键总数dbsize3.检查键是否存在如果键存在则返回1,不存在则返回0existskey4.删除键delkey[key...]5.键过期expirekeysecondsTTL命令会返回键的剩余过期时间,它有3种返回值:大于等于0的整数:键剩余的过期时间。1:键没设置过期时间。2:键不存在(二)、字符串1.设置值除了set选项,Redis还提供了setex和setnx两个命令:它们的作用和ex和...
2022-04-30 19:24:18 7787浏览 1点赞 1回复 1收藏
作者川石信息来源今日头条一、Docker安装Nginx在Docker容器中安装Nginx的步骤如下:1.获取最新版的nginx镜像rootubuntu:hometestdockerpullnginx:latest2.查看本地镜像rootubuntu:hometestdockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEnginxlatestad4c705f24d33weeksago133MBalpine3.1414119a10abf45weeksago5.6MB3.运行容器rootubuntu:hometestdockerrunnnametestnginxp80:80nginx4.查看nginx安装是否成功也可以直接访问主页ht...
2022-04-30 18:16:06 6485浏览 0点赞 0回复 0收藏
作者川石信息来源今日头条一、Dockerfile添加数据卷除了使用v选项来添加数据卷之外,也可以使用Dockerfile文件中的VOLUME命令来创建一个带数据卷的镜像。VOLUME指令创建具有指定名称的挂载点,并将其标记为保存来自本地主机或其他容器的外部安装的数据卷。该值可以是JSON数组,VOLUME["varlog"],也可以是带有多个参数的纯字符串,例如VOLUMEvarlog或VOLUMEvarlogvardb。使用Dockerfile创建带数据卷的镜像步骤如下:1.创建一个D...
2022-04-30 18:09:39 9877浏览 0点赞 0回复 0收藏