sql主键和唯一键和外键
mysql数据库中对字段的约束里存在主键约束,也存在唯一键约束,这两种约束很容易出现混淆的情况,这里讲一下两个的区别:主键和唯一键的对比:约束 保证唯一性 是否为空 一个表中有多少个 是否允许组合 主键 是 否 至多一个 是(但不推荐) 唯一键 是 是 可以为多个 是(但不推荐) ...
mysql之函数总结
先讲一下mysql函数的含义:一组预先编译好的sql语句的集合,理解成批处理语句使用函数的目的:1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次熟,提高了效率。函数和存储过程的区别:存储过程:可以有0个返回值,也可以有多个返回值,适合做批量插入,批量更新函数:有且只有一个返回值,适合做处理数据后返回一个结果。一、创建语法:create function 函数名(参数列表) return是返回类型begin函数体end..
mysql 流程控制结构
流程顺序结构:顺序结构:程序从上到下依次执行分支结构:程序从两条或多条路径中选择一条去执行循环结构:程序在满足一定条件的基础上,重复执行一段代码顺序结构比较简单不再多做解释,接下来看一下分支结构和循环结构一、分支结构:1、if函数功能:实现简单的双分支语法:if(表达式1,表达式2,表达式3)执行顺序:如果表达式1成立,则if函数返回表达式2的值,否则返回表达式3的值应用:任何地方2、case结构情况1:类似于java中的switch语句,一般用于实现
mysql join深度解析
今天在查询mysql表连接的时候发现一篇对join深度解析的文章感觉很不错,讲解的很到位,放在这里给大家分享一下。join简介多表联合查询,有内连接,外连接,右连接,左连接,自然连接。笛卡尔积CROSS JOIN笛卡尔积就是将A表的每一条记录与B表的每一条记录强行拼在一起。所以,如果A表有n条记录,B表有m条记录,笛卡尔积产生的结果就会产生n*m条记录。内连接INNER JOIN有INNER JOIN,WHERE(等值连接),STRAIGHT_JOIN,JOIN(省略INNER)四种
xshell 6顶部工具栏找不到
之前在使用xshell时左边的会话管理器被我给关闭了,然后随之发现最上面的那一栏中文的工具栏也消失了,如下图所示:然后发现查看会话时及其不方便,但是一直找不到该如何恢复,今天百度了一番终于找到了解决的办法,在这里记录一下。首先,alt+e这样顶不的中文工具栏按钮会恢复,点击查看按钮,找到里面的会话管理器,点击一下就可以选中了,然后就会发现我们需要的会话管理器重新出现在我们的窗口的左边了。虽然是一个不重要的操作,仍然希望对执着的你提供一点帮助...
redis数据库的总结
redis数据库在我们日常的运用中还是经常会设计到的,无论是用来做缓存还是做去重处理,都会设计到这种数据库的相关操作,那么接下来就一起来看一下redis数据的相关操作。select (0-15):默认情况下是会包含16个数据库,然后可以用select关键字来选择其中的任何一个数据库来操作命令 作用 keys * 查看所有的key type key 键的类型 exists key 键是否存在 random key 随机取出任意一个键 set ke.
redis的消息发布和订阅
publish news(消息名称) something(消息内容)发布一条消息subscribe news 订阅消息psubscribe pattern 订阅符合pattern的所有消息
redis数据库的持久化
什么是持久化,就是把数据存储于断电后不会丢失的设备中,通常是硬盘常见的持久化方式:主从:通过从服务器保存和持久化,如mongodb的replication sets配置日志:操作生成相关日志,并通过日志恢复数据couchDB对于数据内容,不修改,只追加,则文件本身就是日志,不会丢失数据redis的持久化方式一:rdb快照持久化:每隔N分钟或者N次写操作后,从内存dump数据形成rdb文件,压缩放在备份目录,注意红色字体部分是可以通过参数配置的,导出的是内存的映像,所以恢复速度很快。
redis key的设计原则
redis key设计技巧1、将表名转换成key的前缀 eg:set book:5:title '圣经'2、第二段放置用于区分key的字段--对应mysql中的主键的列名,如userid3、第三段放置主键值,如1,2,3,44、第四段写要存储的列名举例说明:set user:userid:9:username lisiset user:userid:9:passwd 111111注意的是:再关系型数据库中处主键以外,还有可能其他列也步骤查询如上表中,username
docker探索和总结(一)
产生的背景:开发环境和运维的部署环境同步和安装都是很麻烦的操作,设计到环境中各种小问题,而且环境配置很是麻烦,换一台机器就要重新安装一次环境,费力费时,为了能从根本上解决问题就有了软件带环境的安装,也就是我们了解的docker的优势所在,也就是说,在安装时,把原始环境一摸一样的复制过来,开发人员利用docker可以消除协作编码时‘在我的机器上可以正常工作’的问题。理念:一次封装,到处运行。docker 是基于go语言实现的云开源项目docker的主要目标是“build ,ship and
docker探索和总结(二)
docker镜像镜像:镜像是一种轻量级、可执行的独立软件包,用来打包软件运行的环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。docker是什么?docker镜像是一种联合文件系统(UnionFS),是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。Union文件系统是docker镜像的基础,镜像可以通过分层来进行继承,基于基础镜像,可以制作各种具体的应用镜
第一次机房收费系统—实时错误“381”下标越限
一、实时错误二、问题原因这是容器太小了,无法存放我们的数据了,也就是我们原先所设的MSHFlexgrid控件的行数或列数的最大值,小于我们现在要用到的行数或列数。三、解决方法①右键单击名为myflexgrid的MSHFlexgrid控件→选择“属性”②修改列数至满足所需的最少数补充:如果依然报错,就要看你的代码了,你的代码是否是这样的:首先我们要明...
机房中MSHFlexGrid控件:CellAlignment 属性
MSHFlexGrid控件的属性有很多,现在我就简单写一些关于我们机房用到的属性:Row:表格的行Rows:表格的总行数Rowsel:选中行数,可以为一个范围多行Col:指表格的列Clos:表格的总行数Clowidth:列宽Mouserow:鼠标所在行Tyxtmatrix(x,y):返回具体某一单元格中的内容,x代表行,y代表列,x,y为数字Backcol...
方法—REF与OUT之间的“秘密”
返回多个不同类型的值,使用OUT传值或REF传值。OUT:方法内赋初值,只传出,用于返回多个值out这个单词是“出去”的意思,所以参数加out就是将方法里面赋的那个值传到外面去了,方法外面赋不赋值都不起作用,所以说out只能将在方法里面赋的初始值传出去,但不能将外面赋的值传入。REF:使用REF的时候,必须要给这个变量赋初始值。class Program{ static void Main(string[] args) { int number = 9
Git详细安装教程(windows)
Git是目前市场上比较主流的版本管理工具,在Git之前Linus都是采用手工的方式来维护代码,而Git与SVN最大区别在于,Git是分布式、SVN是集中式。集中式:有一台中心服务器,需要连接网络才能进行更新上传的操作。分布式:只需要拥有一个自己的版本库,无需连接网络都能进行工作管理,极大的提高了工作效率。今天我们就熟悉一下Git的安装流程下载地址:https://git-scm.com/downloads当我们开始安装时,如下图所示:直接点击Next第二步:文件位置存储,根据自己
jmeter如何设置语言为中文
jmeter默认是英文环境,对于小编来说英文的环境用起来很吃力,如何设置语言为中文呢?方法一:编辑菜单栏1.首先打开jmeter软件,显示为英文2.点击菜单栏【Options】按钮3.然后依次点击【Choose language】> 【Chinese(simplified)】4.效果显示方法二:通过设置jmeter.properties配置文件来设置语言为中文第一步:找到【bin】目录下的jmeter.properties配置文件并打开(小编是用Notepa
周排行