随笔分类 -  MySQL

摘要:使用pdo的预处理方式可以避免sql注入。 在php手册中'PDO--预处理语句与存储过程'下的说明: 下边分别说明一下上述两点好处: 1.首先说说mysql的存储过程,mysql5中引入了存储过程特性,存储过程创建的时候,数据库已经对其进行了一次解析和优化。其次,存储过程一旦执行,在内存中就会保留 阅读全文
posted @ 2016-03-16 10:32 leezhxing 阅读(12975) 评论(2) 推荐(0) 编辑
摘要:场景: 一个商品有库存,下单时先检查库存,如果>0,把库存-1然后下单,如果<=0,则不能下单,事务包含两条sql语句: select quantity from products WHERE id=3; update products set quantity = ($quantity-1) WH 阅读全文
posted @ 2015-04-12 22:41 leezhxing 阅读(4546) 评论(5) 推荐(0) 编辑
摘要:一、对分组的记录取前N条记录:例子:取前 2条最大(小)的记录 如果取每组的最大(小)一条记录我常用: 二.实例:取每组最大的前 N条 取每组gid 最大的前N条记录:使用自连接或则半连接: *N=1时: 自连接:降序排好后group by取每组最大的一条。 半连接方式:找不到比最大值还大的。 *N 阅读全文
posted @ 2015-04-04 15:20 leezhxing 阅读(1844) 评论(0) 推荐(0) 编辑
摘要:1.load data:***实际应用:把日志生成的xls文件load到MySQL中:mysql_cmd = "iconv -c -f utf-8 -t gbk ./data/al_ver_" + yesterday_time + ".xls -o ./data/GBK_al_ver_" + yes... 阅读全文
posted @ 2014-11-24 16:23 leezhxing 阅读(2109) 评论(0) 推荐(0) 编辑
摘要:原文地址:http://www.im286.com/thread-7091552-1-1.html转来备份研究一些随机的因素,主要是讲究效率问题。语句一:select * from users order by rand() LIMIT 1 MYSQL手册里面针对RAND()的提示大概意思就是,在 ... 阅读全文
posted @ 2014-09-02 16:48 leezhxing 阅读(65497) 评论(3) 推荐(1) 编辑
摘要:1.mysql varchar类型变化:mysql 5.0.3 之前:0--255字节 varchar(20)中的20表示字节数,如果存放urf8编码的话只能放6个汉字。MySQL 5.0.3 之后: 0--65535字节 varchar(20)表示字符数,不管什么编码,既汉字也能放20个。但最多占... 阅读全文
posted @ 2014-08-29 11:48 leezhxing 阅读(2684) 评论(0) 推荐(0) 编辑
摘要:mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败。查看目前配置show VARIABLES like '%max_allowed_packet%';显示的结果为:+-----------------... 阅读全文
posted @ 2014-08-20 19:07 leezhxing 阅读(2079) 评论(0) 推荐(0) 编辑
摘要:授权命令: 1.全部权限:grant all on *.* to user@192.168.10.2 identified by "pass";2.部分权限:grantselect,insert intoon *.* to user@192.168.10.2 identified by "pass"查看用户授权表: select user,host,password from mysql.user; mysql下默认存在mysql数据库,里边的user表存储着用户和授权信息。=======================================遇 阅读全文
posted @ 2013-09-30 17:40 leezhxing 阅读(312) 评论(0) 推荐(0) 编辑
摘要:mysqlbinlog恢复数据BINLOG就是一个记录SQL语句的过程,和普通的LOG一样。只是它是二进制存储,普通的是十进制存储。==============================================================================1.启动二进... 阅读全文
posted @ 2013-09-30 17:20 leezhxing 阅读(2036) 评论(0) 推荐(0) 编辑
摘要:1.触发器:触发器的好处:做数据回收站或者做数据关联删除触发器的坏处:给数据库增加压力,增删改变慢,不利与mysql移到其他数据库会出问题。触发器建立:只能增删改,查不能建立。例子1:创建一个名字为cfq的触发器,当向t1表插入数据时也向t2表插入。1234567 mysql> \d// //修改delimiter为//mysql> create trigger cfq before insert on t1foreach row创建cfq触发器 在向t1表插入数据之前>begin>insert into t2(id) values(new.id);>end//m 阅读全文
posted @ 2013-09-03 11:45 leezhxing 阅读(853) 评论(0) 推荐(0) 编辑