需求:mysql5.5 数据库,想要根据月份自动创建表,每个月创建一张表,需要数据库自动创建,并根据当前年和月动态生成表名称。

解决办法:1 连接数据库工具为Navicat

      2  首先创建存储过程,然后通过创建定时事件执行存储过程。

3  先查看事件是否开启          show variables like '%scheduler%';

     4  如果未开启则需要开启       set global event_scheduler = 1;

 

创建存储过程:

  点击查询--》新建查询--> 输入以下代码,然后在函数中就可以查看到建立的存储过程。

2   我这里利用循环一次建立了12张表,以年和月开头为表明。

3     PARTITION BY HASH(GTID)        PARTITIONS 100   利用哈希表的形式把每个表分为100个区,提高检索效率

BEGIN
declare i int;
set i=;
while i< do
set @sql_create_table_gpstrail = concat(
'CREATE TABLE IF NOT EXISTS xj_dt_gpstrail', date_format(date_add(curdate(), interval i month),'%Y%m'),
"(
`GTID` int() NOT NULL AUTO_INCREMENT,
`DeviceId` varchar() DEFAULT NULL COMMENT '设备ID',
`Longitude` decimal(,) DEFAULT NULL COMMENT '经度',
`Latitude` decimal(,) DEFAULT NULL COMMENT '纬度',
`Speed` int() DEFAULT NULL COMMENT '速度',
`LocationTime` datetime DEFAULT NULL COMMENT '定位时间',
`ReciveTime` datetime DEFAULT NULL COMMENT '接收时间',
`loginid` int() DEFAULT NULL COMMENT '登陆人账号',
`BdLon` decimal(,) DEFAULT NULL COMMENT '百度经度',
`BdLat` decimal(,) DEFAULT NULL COMMENT '百度纬度',
PRIMARY KEY (`GTID`)
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=utf8 COMMENT='GPS轨迹'
PARTITION BY HASH(GTID)
PARTITIONS
"); PREPARE sql_create_table_gpstrail FROM @sql_create_table_gpstrail;
EXECUTE sql_create_table_gpstrail;
set i=i+;
end while;
END

创建执行存储过程的事件:

1   打开创建的数据库,点击事件按钮,点击新建事件。

  2  在 定义 栏里面输入 CALL sql_create_table_gpstrail(),下面的状态选择ENABLE

3   在计划栏里面配置如图:表示每一年执行一次,开始时间是 2017-02-01 01:00:00

4  保存计划就建立完毕,效果如图:建立了12张gpstrail表 根据年和月份。

创建事件也可不按照上面操作,执行sql语句即可:查询中--》新建查询--》执行

CREATE  EVENT EVENT_pro_sql_create_table_gpstrail
ON SCHEDULE EVERY QUARTER STARTS DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())- DAY), INTERVAL MONTH),INTERVAL HOUR)
ON COMPLETION PRESERVE ENABLE DO
CALL sql_create_table_gpstrail(); ;

mysql 按照月份自动创建表,以年和月为表明,动态生成。的更多相关文章

  1. Hibernate连接mysql数据库并自动创建表

    天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个 ...

  2. 支持MySql的数据库自动分表工具DBShardTools发布

    支持MySql的数据库自动分表工具DBShardTools发布 前段时间参与了公司的一个项目,这个项目的特点是数据量.访问量都比较大,考虑使用数据库水平分表策略,Google了大半天,竟然没有找到分表 ...

  3. Hibernate 自动创建表bug问题解决

    我在hibernate.cfg.xml配置文件中添加了自动创建表的的属性:(这样当数据库中没有此表是,hibernate就会自动帮我们创建一张表) <property name="hb ...

  4. Hibernate自动创建表

    只要在hibernate.cfg.xml添加这句话,就可以自动生成数据表 <property name="hibernate.hbm2ddl.auto">update& ...

  5. Hibernate根据实体类自动创建表

    Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 如何使用呢?很简单,只要在hibernate.cfg.xml里加上如下代码 Xml代码<propert ...

  6. hibernate自动创建表报表不存在

    在hibernate.cfg.xml配置了<property name="hibernate.hbm2ddl.auto">update</property> ...

  7. sql自动创建表并复制数据

    ---------------自动创建表并复制数据sql,需要自己设置主键----------- select * into 新表 from 旧表

  8. SQL Server ->> 自动创建表并从文件加载数据

    这个存储过程自动创建表并从文件加载数据. 有一点需要说明的是Excel 12.0驱动是兼容了Excel 97-2003和Excel 2007两者格式的Excel文件. CREATE PROCEDURE ...

  9. Hibrenate实现根据实体类自动创建表或添加字段

    Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 实现: 在配置hibernate的配置文件中将hbm2ddl.auto设置为update,如:Xml代码&l ...

随机推荐

  1. VMware5.5-VMware补丁程序VUM

    VUM 官方文档 https://docs.vmware.com/cn/VMware-vSphere/5.5/com.vmware.vsphere.update_manager.doc/GUID-F7 ...

  2. Yahoo Programming Contest 2019.E.Odd Subrectangles(思路 线性基)

    题目链接 \(Description\) 给定一个\(n\times m\)的\(01\)矩阵.求任意选出\(r\)行.\(c\)列(共\(2^{n+m}\)种方案),使得这\(r\)行\(c\)列的 ...

  3. Codeforces.1082E.Increasing Frequency(思路)

    题目链接 \(Description\) 给定\(n\)个数.你可以选择一段区间将它们都加上或减去任意一个数.求最终序列中最多能有多少个数等于给定的\(C\). \(n\leq5\times10^5\ ...

  4. 潭州课堂25班:Ph201805201 django 项目 第三十二课 后台站点管理(课堂笔记)

    一.后台站点模版抽取 1.获取静态站点模版 可以使用git clone到本地 git clone https://github.com/almasaeed2010/AdminLTE.git 也可以在g ...

  5. [BZOJ1814]Formula 1

    Description: 一个 m * n 的棋盘,有的格子存在障碍,求经过所有非障碍格子的哈密顿回路个数 Hint: \(n,m<=12\) Solution: 插头dp模板题,注意要讨论多种 ...

  6. System.out.println()和System.err.println()

    在一次笔试中遇到了一个System.err.println()的输出,之前没有见过,回来查一查,自己还是见识太短,来补充一下. 首先看一看jdk中 来一个简单的实验 第一次显示 第二次显示 1. 发现 ...

  7. 2017.08.05【NOIP提高组】模拟赛B组

    Summary 这次比赛打得非常差,第一题我以为是个难题,于是推了一下就没再去想了,然而考场上一堆人AC.第二题状态设错了,导致结果有后效性.结束后pascal卡常卡了36次.第三题别人n²就过了,我 ...

  8. ae:org.apache.shiro.authc.AuthenticationException: Authentication token of type [class org.apache.shiro.authc.UsernamePasswordToken] could not be authenticated by any configured realms. Please ensure

    看问题是说要保证有一个realm正确,但是之前运行就一直成功,后来就不行了.有可能是:以为自己输入了正确的用户名和密码,结果是因为用户名前面添加了空格导致了这个错误发生. 实质问题是:你输入的用户名和 ...

  9. web中icon 图标问题

    每个页面都会引入 icon 小图标,下面说下它的用法 一.icon使用 icon的引入方式,与css外部引入方式类似,需要在头部引入, 即: <link rel="shortcut i ...

  10. ./configure && make && make install 编译安装和卸载 (Linux)

    ./configure && make && make install 编译安装和卸载 (Linux) 正常的编译安装/卸载:   源码的安装一般由3个步骤组成:配置( ...