
数据库
living_ren
真正的热爱生活是看穿了生活的真相后而依然相信世界是美好的,生活的质量完全取决于个人的眼界和选择,热爱生活热爱工作,开心追寻人生的价值!
展开
-
数据库表数据基本的增删改查
1.查询表数据全部查询: select * from table_name;表数据部分行展示: select * from table_name where id>2;部分列展示: select id,name from table_name;2.添加insert into table_name(username,pwd,sex,phone,mail,depart原创 2018-01-14 15:40:42 · 387 阅读 · 0 评论 -
windows下安装php-memcache扩展
1.下载php-memcache的扩展之前,要事先确定本机开发环境所使用的php版本、vc版本和ts版本,根据使用版本下载对应的扩展版本(通过phpinfo信息可以查询到):下面为扩展下载链接:http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/2.下载完成后将解压出来的php_memcache.dll和php_m原创 2018-01-29 11:15:06 · 320 阅读 · 0 评论 -
LAMP架构——Apache(httpd)-2.4.29源码安装
pache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache,Apache官网www.apache.org 由于httpd2.2和httpd2.4所所使用的Apr库不同,而且centos7系统自带的Apr与之不匹配,所以需要使用yum安装Apr库文件。[root@dl-001 src]# wget http://mirrors.cnnic.cn/ap转载 2018-01-29 17:36:11 · 302 阅读 · 0 评论 -
linux下编译安装php
1.下载源文件:下载php:wget http://hk1.php.net/get/php-5.6.33.tar.gz/from/this/mirror2.解压缩解压:tar -zxvf php-5.6.33.tar.gz3. 最近下载了一个tar.tar后缀的文件始终解压不了,经过多次搜索终于找到解压方法,现总结如下:直接使用tar -xf tar.tar就可以解压4.原创 2018-01-29 21:10:28 · 238 阅读 · 0 评论 -
linux下编译php-memcache的扩展
下载:wget http://pecl.php.net/get/memcache-2.2.7.tgz 解压后,发现目录内没有configure文件,所以选择根据当前php的版本动态的为memcache扩展动态生成一个configure的文件:/usr/local/php5.6.33/bin/phpize --with-php-config=/usr/local/php5.6.33/bin/原创 2018-01-29 22:18:48 · 341 阅读 · 0 评论 -
数据库优化之索引优化
1.索引优化之选择合适的列进行索引: 1).在where从句、order by从句、group by从句、on从句中出现的列 2).索引字段越小越好 3).离散度大的列放在联合索引的前面,如: SELECT * from payment where customer_id=584 and staff_id=2;是index(customer_id,st...原创 2018-03-01 21:35:08 · 515 阅读 · 0 评论 -
mysql如何开启慢查询
1.查询慢查询是否开启(默认是off):show variables like 'slow_query_log%';2.设置慢查询日志文件存储位置(位置可自定义):set global slow_query_log_file='D:/wamp64/bin/mysql/mysql5.7.14/data/mysql-slow.log';3.开启记录查询中不带索引的sql语句:set...原创 2018-02-23 12:49:38 · 712 阅读 · 0 评论 -
windows下使用慢查询日志分析工具之mysqldumpslow
1.在 windows 下可以在mysql/bin目录下可以找到 mysqldumpslow.pl 文件,是一个 perl 格式的文件; 这种格式的文件在windows下是不能直接执行的,若要使用,得先安装 perl 支持,我们可以在 Perl 的官网下载对应平台的安装包:https://www.perl.org/get.html,为了使用方便,安装完成后最好配置环境变量。2.进入mysql...原创 2018-02-24 11:38:19 · 5641 阅读 · 0 评论 -
优化MYSQL数据库的方法
1.选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置成not null2.使用连接来代替子查询: a.删除没有任何订单客户:DELETE FROM customerinfo WHERE customerid NOT in(SELECT customerid FROM orderinfo) b.提取所有没有订单客户:SELECT FROM customerinfo WH...原创 2018-03-03 09:05:17 · 245 阅读 · 0 评论 -
sql注入产生的原因以及如何防止?
1.sql注入产生的原因: 程序开发过程中不注意书写规范,对sql语句和关键字未进行过滤,导致客户端可以通过全局变量get或者post提交sql语句到服务器端正常运行;2.防止过滤: 1).过滤掉一些常见的数据库关键字:select、insert、update、delete、and等;或者通过系统函数addslashes(需要过滤的内容)来进行过滤; 2).在PHP配置文...原创 2018-03-03 17:35:21 · 15445 阅读 · 0 评论 -
在window中安装pt-query-digest.pl文件
1.在我的 mysql/bin 文件夹下并没有 pt-query-digest.pl 文件,所以需要手动下载!首先安装perl支持后,接下来在 mysql/bin 文件夹下打开 git bash窗口,输入命令: curl -o pt-query-digest.pl https://www.percona.com/get/pt-query-digest进度变为100%后即为下载成功!...原创 2018-02-24 17:56:20 · 1446 阅读 · 0 评论 -
explain查询计划
1.explain:通过查询计划可以侧面的反映出sql语句的执行效率explain select max(payment_date) from payment \G;上述语句查询结果如下,可以看出搜索类型为全局搜索查询,如果表行数较多则会比较耗时: 2.通过创建索引的形式执行: create index idx_paydate on payment(payment_date);...原创 2018-02-24 18:38:31 · 383 阅读 · 0 评论 -
linux下memcache的安装和启动
安装memcache之前要记得先安装libevent类库,可以选择直接联网下载,使用wget命令即可: Linux的系统中,有时候需要wget下载一个文件,而下载地址中的文件名却非常长,导致下载失败,提示:Cannot write to和filename too long 解决这个问题只需要把下载的文件输出为一个固定的文件名。比如:sudo wget https://github.com原创 2018-01-27 17:42:23 · 11599 阅读 · 0 评论 -
memcache的增删改查及统计命令
1.增删改查的命令比较简单,但也有些地方需要注意: delete key删除某个键 get key获取某个键的值 add命令:不能给已经存在的key赋值 replace命令: 修改某个键的值 replace key flag expire value set命令:比较霸道,当对已经存在的key操作时执行修改;对不存在的key操作则执行添加2原创 2018-01-27 15:33:49 · 511 阅读 · 0 评论 -
memcached在windows下的安装和启动
1.下载memcached的二进制文件,放入指定目录下,本例子放在d盘下的memcached目录下2.使用cmd命令进入memcached目录,开启memcached的服务,使用命令如下:-m为所占用内存多少M,-p表示以什么端口启动,-vvv表示监听错误信息和读写过程memcached -m 48 -p 11211 -vvv3.确保windows开启telnet服务: 4.另外原创 2018-01-26 22:42:25 · 1479 阅读 · 0 评论 -
Mysql数据库操作入门语句
mysql创建流程: 1.先建立mysql服务器 2.再配置mysql客户端,连接服务器 3.建库 4.建表 5.操作表数据(以行列为单位)数据是无价的,所以安全和管理很重要!数据库操作分为三层:1.库操作 2.表操作 3.数据操作入门语句: 1.创建库:create database database_name 查原创 2018-01-13 21:34:51 · 240 阅读 · 0 评论 -
hash算法的原理和实现代码
1.memcache中作为查询用的服务器往往不止一台,需要多台协同处理查询!分布式应用时需要考虑多台服务器间压力的分摊,所以往往采用hash算法来实现; 2.hash算法的实现原理可以简单理解为在一个有序排列(整数)的圆盘中存在多个节点,节点按照由小到大的顺序排列,当有查询任务时,将查询的key名转换为整数之后与节点进行对比,如果小于等于某个特定节点,则将此次查询分摊到该节点对应的服务器原创 2018-01-30 22:02:33 · 908 阅读 · 0 评论 -
mysql 1366错误时的解决方案
1.在使用mysql插入数据时出现MySQL 1366的错误大致描述如下 : 2.首先检查mysql服务器端和客户端的字符集设置是否一致,经检查都为utf8;3.在检查数据库和数据表的字符集也是utf8,这下头大了,貌似找不出问题的原因了,纠结许久,既然还是有错那肯定不是计算机错了,查资料得出可能是数据表表字段的字符集设置有问题!4.检查当前数据表所有字段的属性: show原创 2018-01-16 13:27:12 · 7880 阅读 · 0 评论 -
数据库查询语句的应用例题查询思路剖析和查询知识点小结
题目:试查询下图数据表中2门及2门以上课程不及格同学的平均分 要求:只允许使用一次select查询1.数据表设计如下图: 2.试着将题目要求进行拆分处理:首先试着查询所有同学的平均分,使用group by进行人员的分类: 3.到这一步之后发现问题僵住了,因为要求是所有同学的平均分,而我们却还要判断该同学是否考试了2门以及挨个判断他们的成绩是否及格;此时可以将要求再细分,先查询该同原创 2018-01-16 20:38:46 · 390 阅读 · 0 评论 -
redis的安装方法和简单使用
1.redis是C语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要先安装gcc; 安装gcc环境的命令:yum install gcc-c++(联网下载安装)执行上面的命令后linux会自动下载安装 2. 使用filezilla上传redis压缩包到linux服务器,解压命令: tar -zxvf redis-3.2原创 2018-01-25 16:09:05 · 221 阅读 · 0 评论 -
连表查询join使用方法详解
1.数据查询时很多时候需要连表,查询出来的内容则包含2个表中的列内容,这个时候就需要用到连表,连表又分为左连接、右连接、内连接; 2.将上图中的article和category表连表查询,查询结果中包含cate_name列: 3.上图中使用左连接的方式可以完成功能,可惜美中不足的是art_id=20的那一行因为没有匹配的值则默认使用了NULL填充,这和左查询的机制有关! 注意:左原创 2018-01-17 22:53:45 · 9911 阅读 · 0 评论 -
redis的5种数据类型
1.redis的5种数据类型: string 字符串(可以为整形、浮点型和字符串,统称为元素) list 列表(实现队列,元素不唯一,先入先出原则) set 集合(各不相同的元素) hash hash散列值(hash的key必须是唯一的) sort set 有序集合2.string类型的常用命令: 自加:incr原创 2018-01-25 20:43:02 · 197580 阅读 · 12 评论 -
php redis扩展安装
1.首先从官网下载php redis扩展文件:下载地址:https://github.com/phpredis/phpredis/archive/develop.zip2.将下载下来的文件解压缩:unzip develop.zip3.进入解压后的文件,执行:phpize,生成configure工具 4.使用configure工具./configure -with-php-co原创 2018-01-25 22:10:48 · 2599 阅读 · 0 评论 -
使用php连接redis
1.推荐一个php操作redis的使用文档的地址:https://github.com/phpredis/phpredis/2.建立一个connect.php文件: 实例化类并连接: $redis = new Redis(); $redis->connect("127.0.0.1",6379)3.记得一定要先开启redis server服务,后台执行 redis目录原创 2018-01-26 11:44:19 · 4052 阅读 · 0 评论 -
mysql面试题:使用表连接的方式查询出指定的结果
1.数据表matchs和Teams设计如下: 题目描叙与要求:matchs表中的hostTeamID和guestTeamID都与Teams表中的teamID相关联; 要求查出2006-06-01到2006-07-01之间所举行的所有比赛,并且采用以下形式列出来: 拜仁 2:0 皇马 2006-06-01原创 2018-01-18 17:00:38 · 1593 阅读 · 0 评论 -
php简单的操作redis的5种数据类型
1.php操作string类型所使用的常用方法:set : 赋值get : 获取值decr: 减值incr: 增值 下图输出结果为: 2.php操作list类型所使用的常用方法:lpush:从左边插入rpush:从右边插入lpop:从左边弹出rpop:从右边弹出 运行结果为: 3.php操作set类型所使用的常用方法:sadd:添加scard:原创 2018-01-26 16:17:50 · 3921 阅读 · 0 评论 -
触发器的使用
1.触发器:trigger,是指事先为某张表绑定一段代码,当表中的某些内容发生改变(增、删、改)的时候,系统会自动触发代码并执行。2.触发器四要素 监视地点:orders(订单)表 监视事件:增/删/改 触发时间:after/before 触发事件:增/删/改3.建立2张表,orders表和goods表,内容如下: 订单表初始为空; 4.1.添加订单,库存减少 cre...原创 2018-06-21 13:07:50 · 295 阅读 · 0 评论