mysql从入门到精通
解决MySQL Got a packet bigger than 'max_allowed_packet' bytes
问题在一次性向mysql插入的数据过大,可在my.ini中修改max_allowed_packet的配置项
修改my.ini如下:
max_allowed_packet=16M
重启mysql:
电脑->右键管理->服务->mysql重启
mysql排序按照中文文字的首字母进行排序
例如:下面使用字段common_producer_herb_info_name按照首字母a-z进行排序
SELECT * FROM e_common_producer_product_grade_info ORDER BY CONVERT(common_producer_herb_info_name USING gbk ) COLLATE gbk_chinese_ci ASC
mysql索引
/** * 根据基地和时间段获取原料出库列表 * @param $common_producer_info_id * @param int $wms_check_begin_at * @param int $wms_check_end_at * @return array */ public static function getWmsMaterialOutSumList($common_producer_info_id, $wms_check_begin_at=0, $wms_check_end_at=0){ $wms_check_end_at = !empty($wms_check_end_at) ? $wms_check_end_at : time(); //注意,一个出库单可以出库多个入库单的部分药材,即出库单不记录入库单号,只有出库详情才记录入库单号 //分组时不应该使用入库单号,而应该使用出库单号,因为一个入库单可以分多次出库 $sql = "SELECT modet.wms_stock_detail_info_relation_good_in_sheet_number in_sheet_number, mo.common_producer_info_id producer_id, mo.common_producer_info_name producer_name, mo.common_producer_herb_info_id info_id, mo.common_producer_herb_info_name info_name, mo.common_producer_herb_grade_info_id grade_id, mo.common_producer_herb_grade_name grade_name, SUM( IFNULL( modet.wms_material_out_sheet_detail_out_number, 0 ) ) AS sum_out_package_number, SUM( IFNULL( modet.wms_material_out_sheet_detail_out_weight, 0 ) ) AS sum_out_weight, SUM( IFNULL( modet.wms_material_out_sheet_detail_storage_loss_weight, 0 ) ) AS sum_out_loss_weight from {{%wms_material_out_sheet_detail}} modet LEFT JOIN {{%wms_material_out_sheet}} mo ON mo.id = modet.wms_material_out_sheet_id WHERE modet.is_del = 0 AND mo.is_del = 0 AND mo.wms_material_out_sheet_status = 1 AND mo.common_producer_info_id = :common_producer_info_id AND mo.wms_material_out_sheet_outgoing_date >= :wms_check_begin_at AND mo.wms_material_out_sheet_outgoing_date <= :wms_check_end_at GROUP BY mo.common_producer_herb_info_id, mo.common_producer_herb_grade_info_id, modet.wms_material_out_sheet_number, modet.wms_stock_detail_info_relation_good_in_sheet_number"; $list = Yii::$app->db->createCommand($sql) ->bindValue(':common_producer_info_id', $common_producer_info_id) ->bindValue(':wms_check_begin_at', $wms_check_begin_at) ->bindValue(':wms_check_end_at', $wms_check_end_at)->queryAll(); return $list; }
/** * 获取成品出库相关信息 * @param $common_producer_info_id * @param int $wms_check_begin_at * @param int $wms_check_end_at * @return array */ public static function getWmsProductOutSumList($common_producer_info_id, $wms_check_begin_at=0, $wms_check_end_at=0){ $wms_check_end_at = !empty($wms_check_end_at) ? $wms_check_end_at : time(); //注意:成品出库详情没有成品出库ID的关联字段,只能使用成品出库单号关联 //分组时不应该使用入库单号,而应该使用出库单号,因为一个入库单可以分多次出库 $sql = "SELECT po.wms_product_in_sheet_number in_sheet_number, po.common_producer_info_id producer_id, po.common_producer_info_name producer_name, po.common_producer_herb_info_id_product info_id, po.common_producer_herb_info_name_product info_name, po.common_producer_herb_grade_info_id_product grade_id, po.common_producer_herb_grade_name_product grade_name, SUM( IFNULL( podet.wms_product_out_detail_info_out_number, 0 ) ) AS sum_out_package_number, SUM( IFNULL( podet.wms_product_out_detail_info_out_weight, 0 ) ) AS sum_out_weight, SUM( IFNULL( podet.wms_product_out_detail_info_storage_loss_weight, 0 ) ) AS sum_out_loss_weight FROM {{%wms_product_out_detail_info}} podet LEFT JOIN {{%wms_product_out_sheet}} po ON po.wms_product_out_sheet_number = podet.wms_product_out_sheet_number WHERE podet.is_del = 0 AND po.is_del = 0 AND po.wms_product_out_sheet_status = 1 AND po.common_producer_info_id = :common_producer_info_id AND po.wms_product_out_sheet_product_out_date >= :wms_check_begin_at AND po.wms_product_out_sheet_product_out_date <= :wms_check_end_at GROUP BY po.common_producer_herb_info_id_product, po.common_producer_herb_grade_info_id_product, po.wms_product_out_sheet_number, podet.wms_product_in_sheet_number"; $list = Yii::$app->db->createCommand($sql) ->bindValue(':common_producer_info_id', $common_producer_info_id) ->bindValue(':wms_check_begin_at', $wms_check_begin_at) ->bindValue(':wms_check_end_at', $wms_check_end_at)->queryAll(); return $list; }
SELECT vms.info_name AS info_name, vms.grade_name AS grade_name, ( vms.sum_in_weight - vms.sum_out_weight ) AS weight, ( vms.sum_in_price - vms.sum_out_price ) AS price FROM ( SELECT pi.common_producer_herb_info_name_product info_name, pi.common_producer_herb_grade_name_product grade_name, SUM( IFNULL( pi.wms_product_in_sheet_in_weight, 0 ) ) AS sum_in_weight, SUM( IFNULL( pi.wms_product_in_sheet_unit_price, 0 ) ) AS sum_in_price, SUM( IFNULL( po.wms_product_out_sheet_out_weight, 0 ) ) AS sum_out_weight, SUM( IFNULL( po.wms_product_out_sheet_total_price, 0 ) ) AS sum_out_price FROM e_wms_product_in_sheet AS pi LEFT JOIN e_wms_product_out_sheet AS po ON pi.common_producer_herb_info_id_product = po.common_producer_herb_info_id_product AND pi.common_producer_herb_grade_info_id_product = po.common_producer_herb_grade_info_id_product AND po.is_del = 0 WHERE pi.is_del = 0 GROUP BY pi.common_producer_herb_info_id_product, pi.common_producer_herb_grade_info_id_product ) vms
mysql 常用函数
, wms_product_in_sheet_in_weight, ORDER BY id ASC;
第十 mysql导出数据库
在d:/mysql/bin中运行上述脚本,即可导出mysql形成sql文件,sql文件需要删除一行DTID。则能使用navicate导入sql文件到数据库
mysql从入门到精通的更多相关文章
- Mysql从入门到精通整理
目录 mysql基础 mysql进阶 mysql高级 mysql优化 正文 数据库是信息化产业的最基础的软件之一,各种管理系统,网站,在线游戏,背后基本都会有数据库的支持. 回到顶部 mysql基础 ...
- 《mysql从入门到精通》提高
第一 游标的使用 delimiter $$ DROP PROCEDURE IF EXISTS product_in_sheet_handler; CREATE PROCEDURE product_in ...
- MySQL数据库应用 从入门到精通 学习笔记
以下内容是学习<MySQL数据库应用 从入门到精通>过程中总结的一些内容提要,供以后自己复现使用. 一:数据库查看所有数据库: SHOW DATABASES创建数据库: CREATE DA ...
- 《MySQL数据库从入门到精通》 高级运维人才的必备书籍
众所周知,每年就业市场都会迎来千万量级的高校毕业生,然而企业招工难和毕业生就业难的矛盾却一直没有得到很好地解决.究其原因,主要矛盾还是在于传统的学历教育与企业实际需求相脱节.为了杜绝高校毕业生求职时常 ...
- 【MySQL】从入门到精通8-SQL数据库编程
上期:[MySQL]从入门到精通7-设计多对多数据库 第零章:Mac用户看这里: mac终端写MySQL和windows基本相同,除了配置环境变量和启动有些许不同以外. 先配置环境变量,在终端输入vi ...
- 【MySQL】从入门到精通9-数据库的备份(完结)
上期:[MySQL]从入门到精通8-SQL数据库编程 第一章:数据的导出 回到我们的Workbench. 选择Data Export. 选择需要导出的数据库. 注意,如果选择"Export ...
- 【MySQL】从入门到精通7-设计多对多数据库
上期:[MySQL]从入门到精通6-MySQL数据类型与官方文档 第一章:理解 和一对多不一样,多对多意思是,一个数据可以被不同的数据关联. 如果是一对多,我们还可以用外键来达成. 但是现在我们是多对 ...
- 【MySQL】从入门到精通6-MySQL数据类型与官方文档
上期:[MySQL]从入门到精通5-一对多-外键 这个是官方文档链接,是世界上最全面的MySQL教学了,所有问题都可以在这里找到解决方法. https://dev.mysql.com/doc/ htt ...
- Hibernate从入门到精通(三)Hibernate配置文件
在上次的博文Hibernate从入门到精通(二)Hibernate实例演示我们已经通过一个实例的演示对Hibernate的基本使用有了一个简单的认识,这里我们在此简单回顾一下Hibernate框架的使 ...
随机推荐
- P1678 烦恼的高考志愿(二分)
emmmm,我感觉我在解题的过程中还是有点吃亏的,因为,我知道是二分,只是大概知道怎么分,没有管这道到底是需要怎样的二分.然后在题上卡了很久. 思路:要找到填报学校的录取线x和自己的分数y的绝对值最小 ...
- ORA-08104
https://blog.csdn.net/daiqiulong2 create index idx_p_merchant_detail_id on D_ORDER_DETAIL (merchant_ ...
- python3 生成器和生成器表达式
''' 生成器:函数中有yield就是生成器函数 生成器本质是一个迭代器 yield后面的值会作为返回值返回. ''' def func(): print("apple") pri ...
- python3 迭代器
''' 迭代:重复的过程,并且每次迭代的结果都是下次迭代的初始值 可迭代的 Iterable 迭代器 Iterator iter(数据) == 数据.__iter__() 将数据转换为迭代器 next ...
- [转]C#中基于GDI+(Graphics)图像处理系列之前言
直接给出原文链接吧: C#中基于GDI+(Graphics)图像处理系列之前言 链接:https://pan.baidu.com/s/1zm5TCOHqkqEfiLZuqO0UMA 提取码:qz0h
- linux内存源码分析 - 内存池
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 内存池是用于预先申请一些内存用于备用,当系统内存不足无法从伙伴系统和slab中获取内存时,会从内存池中获取预留的 ...
- 常用的一些markdown格式
现在工作中,大家都习惯使用markdown写文档.按照其语法来,直接出样式,确实很方便. mac上我使用了macdown工具,只要支持markdown的差不多都一样. 自己经常习惯用的几个语法规则,记 ...
- Java网络编程中异步编程的理解
目录 前言 一.异步,同步,阻塞和非阻塞的理解 二.异步编程从用户层面和框架层面不同角度的理解 用户角度的理解 框架角度的理解 三.为什么使用异步 四.理解这些能在实际中的应用 六.困惑 参考文章 前 ...
- 【原创】Innodb中mysql如何快速删除2T的大表
小漫画 来,先来看小漫画陶冶一下情操 OK,这里就说了.假设,你有一个表erp,如果你直接进行下面的命令 drop table erp 这个时候所有的mysql的相关进程都会停止,直到drop结束,m ...
- nginx负载均衡精简配置实例
[root@localhost ~]# vim nginx.conf user nginx; worker_processes ; error_log /var/log/nginx/error.log ...