代码改变世界

随笔分类 -  mysql

sql语句的安全性考虑

2017-02-16 15:54 by ZengGW, 1608 阅读, 收藏, 编辑
摘要: sql语句的应该考虑哪些安全性呢? 1.防止sql注入,对特殊字符进行转义(addslashes),或者使用已经编译好的sql语句进行变量的绑定; 2.当sql运行出现错误的时候,不要把数据库返回的错误信息全部显示给客户,以防止泄漏服务器和数据库的相关信息; 3.最小权限原则,特别不要使用root用 阅读全文

MySQL数据库中tinyint类型字段读取数据为true和false

2016-11-30 10:43 by ZengGW, 15711 阅读, 收藏, 编辑
摘要: 今天遇到这么一个问题,公司最近在做一个活动,然后数据库需要建表,其中有个字段是关于奖励发放的状态的字段,结果读取出来的值为true 一、解决读取数据为true/false的问题 场景: 字段:status (值为1,2,3) 类型:tinyint 长度:1(有符号的) 结果:查询出来的数据列表,状态 阅读全文

mysql安装配置问题(linux下)

2016-10-14 14:29 by ZengGW, 368 阅读, 收藏, 编辑
摘要: 1.安装后使用:mysql -u root -p 无法登录mysql 错误提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方法:修改mysql的密码 (1).# /etc 阅读全文

mysql:查询排名

2016-05-30 09:56 by ZengGW, 44575 阅读, 收藏, 编辑
摘要: sql语句查询排名 思路:有点类似循环里面的自增一样,设置一个变量并赋予初始值,循环一次自增加1,从而实现排序; mysql里则是需要先将数据查询出来并先行按照需要排序的字段做好降序desc,或则升序asc,设置好排序的变量(初始值为0): a>.将已经排序好的数据从第一条依次取出来,取一条就自增加 阅读全文

mysql:on duplicate key update与replace into

2016-05-06 18:42 by ZengGW, 3384 阅读, 收藏, 编辑
摘要: 在往表里面插入数据的时候,经常需要:a.先判断数据是否存在于库里面;b.不存在则插入;c.存在则更新 一、replace into 前提:数据库里面必须有主键或唯一索引,不然replace into 会直接插入新数据,导致数据表里面有重复数据 执行时先尝试插入数据: a.当数据表里面存在(通过主键或 阅读全文

mysql:批量更新

2016-05-06 16:12 by ZengGW, 791 阅读, 收藏, 编辑
摘要: (优化前)一般使用的批量更新的方法: foreach ($display_order as $id => $ordinal) { $sql = "UPDATE categories SET display_order = $ordinal WHERE id = $id"; mysql_query($ 阅读全文

mysql:innodb monitor(show engine innodb status)探秘

2016-04-01 09:58 by ZengGW, 785 阅读, 收藏, 编辑
摘要: 在旧的版本里面是show innodb status命令,新版本后改动了一些:show engine innodb status; 我们最熟悉的,应当就是show innodb status命令,可以直接在客户端输出很多的信息。其实InnoDB monitor一共有四种模式,show innodb 阅读全文

mysql:键缓存

2016-03-31 16:27 by ZengGW, 984 阅读, 收藏, 编辑
摘要: myisam的主要优化参数: key_buffer_size - 这对MyISAM表来说非常重要,是用来设置整个MySQL中常规Key Cache的大小。一般来说,如果MySQL运行在32位平台,此值建议不超过2GB,如果是64位平台上则不用考虑此限制,但也最好不要超过4GB。 合理的值取决于索引大 阅读全文

mysql之innodb_buffer_pool

2016-03-31 14:51 by ZengGW, 3433 阅读, 收藏, 编辑
摘要: 1>.mysqld重启之后,innodb_buffer_pool几乎是空的,没有任何的缓存数据。随着sql语句的执行,table中的数据以及index 逐渐被填充到buffer pool里面,之后的查询语句只需要在内存中操作(理想状态下),大幅度提升了mysql的性能。 这个逐渐填充的过程可能需要1 阅读全文

mysql:sql行列转换

2016-03-29 16:22 by ZengGW, 795 阅读, 收藏, 编辑
摘要: 今天一个同学遇到一个问题问我了,由于本人平时学习的mysql比较基础,确实没解决,后来google了一下,才知道是sql的一种技法【行列转换】,话不多说先上图: 想得到下面的结果: + + + + + +| 年份 | 1月 | 2月 | 11月 | 12月 |+ + + + + +| 2014 | 阅读全文