码迷,mamicode.com
首页 > 数据库 > 详细

MySql存储过程动态创建表并插入数据

时间:2015-07-31 22:01:32      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:mysql   存储   数据   动态 表   

MySql存储过程动态创建表并插入数据

         最近做的一个项目,数据库用的是MySql,对于MySql不是很熟练,只是会简单的应用,毕竟简单的sql语句还是相通的,但是随着项目的深入复杂的sql语句开始慢慢多起来,其中一个小难点就是要根据当天的日期动态创建表,并且向其中插入数据。

         具体逻辑可以理解为,先去数据库查询有没有当天的记录表,如果没有则创建表,然后执行当天的日志写入。

         Mysql的可视化工具我们用的是navicat,相对来说还是比较好用,当然没有sqlserver 那么人性化(很多快捷键不支持,操作累赘)。下面我就来说一说用navicat如何动态创建数据库表并且插入数据。

         一:创建存储过程

技术分享

         二:用concat函数拼接动态创建表的语句并执行

技术分享

         三:同样用concat函数拼接向动态创建的表写入数据的语句并执行

技术分享

                   因为数据库表都是固定前缀加当前日期的形式,所以无论创建表还是写入数据其实都是根据动态表来的,所以不能向原来那种固定表一样来写简单的insert 语句,另外,传给存储过程的参数id,并不能直接传给存储的insert语句,会报sql语句错误,所以需要引入局部参数,可能并不是最好的办法,但是目前作者还没找到更好的写法,如果大家有什么更好的或者觉得哪里可以改进的希望多多交流。

        

         对于mysql,我们不可忽视其强大,mysql还有很多需要学习的,接下来既然每天都动态生成记录表了,那么肯定需要一个job,来按照一定的时间规律来清除或者备份数据库表,接下来就要研究mysql的job,慢慢来,要学的还很多。

        

         

版权声明:本文为博主原创文章,未经博主允许不得转载。

MySql存储过程动态创建表并插入数据

标签:mysql   存储   数据   动态 表   

原文地址:http://blog.csdn.net/linxi1209163com/article/details/47175279

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!