mysql 按照月份自动创建表,以年和月为表明,动态生成。
需求: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 按照月份自动创建表,以年和月为表明,动态生成。的更多相关文章
- Hibernate连接mysql数据库并自动创建表
天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个 ...
- 支持MySql的数据库自动分表工具DBShardTools发布
支持MySql的数据库自动分表工具DBShardTools发布 前段时间参与了公司的一个项目,这个项目的特点是数据量.访问量都比较大,考虑使用数据库水平分表策略,Google了大半天,竟然没有找到分表 ...
- Hibernate 自动创建表bug问题解决
我在hibernate.cfg.xml配置文件中添加了自动创建表的的属性:(这样当数据库中没有此表是,hibernate就会自动帮我们创建一张表) <property name="hb ...
- Hibernate自动创建表
只要在hibernate.cfg.xml添加这句话,就可以自动生成数据表 <property name="hibernate.hbm2ddl.auto">update& ...
- Hibernate根据实体类自动创建表
Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 如何使用呢?很简单,只要在hibernate.cfg.xml里加上如下代码 Xml代码<propert ...
- hibernate自动创建表报表不存在
在hibernate.cfg.xml配置了<property name="hibernate.hbm2ddl.auto">update</property> ...
- sql自动创建表并复制数据
---------------自动创建表并复制数据sql,需要自己设置主键----------- select * into 新表 from 旧表
- SQL Server ->> 自动创建表并从文件加载数据
这个存储过程自动创建表并从文件加载数据. 有一点需要说明的是Excel 12.0驱动是兼容了Excel 97-2003和Excel 2007两者格式的Excel文件. CREATE PROCEDURE ...
- Hibrenate实现根据实体类自动创建表或添加字段
Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 实现: 在配置hibernate的配置文件中将hbm2ddl.auto设置为update,如:Xml代码&l ...
随机推荐
- 006.Ceph对象存储基础使用
一 Ceph文件系统 1.1 概述 Ceph 对象网关是一个构建在 librados 之上的对象存储接口,它为应用程序访问Ceph 存储集群提供了一个 RESTful 风格的网关 . Ceph 对象存 ...
- 附001.kubectl介绍及使用
一 kubectl介绍 1.1 kubectl概要 kubectl控制Kubernetes集群管理器,使用Kubernetes命令行工具kubectl在Kubernetes上部署和管理应用程序.使用k ...
- Hexo 搭建博客 本地运行 常见报错及解决办法
作为一名在hexo方面的新手,我在使用hexo编辑文档时遇到了很多问题,hexo generate编译的时候遇到了各种错误. 在此将这些错误及其解决方案记录下来,以便日后查证之用,同时,也可给各位在遇 ...
- C#调用WebApi
1.WebRequest方式 Post: private void button1_Click(object sender, EventArgs e) { string ss= HttpPost(&q ...
- Vue+elementUI开发中 Cannot read property 'resetFields' of undefined 问题解决以及原因分析
本人开发的系统中有个添加数据与编辑数据的功能.为了减少代码量,两者使用了同一个dialog,通过不同按钮点击使用对应的方案进行显示. 对了方便,本人在添加数据的按钮的click事件中直接写入了rese ...
- HTML5:在移动端禁用长按选中文本功能
很多时候,我们在写的手机页面需要用户进行长按然后响应一个事件.但是在微信中用户的长按操作被默认为谈出来一个复制的选项.那么这个时候如何去禁止这个东西呢? 其实很简单,方法看下面: 只需要在你需要禁止的 ...
- URL结构
一.概念 URL:统一资源定位符 (Uniform Resource Locator, URL). 完整的URL由这几个部分构成:scheme://host:port/path?query#hash: ...
- MyBatis 命名空间与命名解析
命名空间 使用完全限定名来进一步区分语句. 命名解析 为了减少输入量,MyBatis 对所有的命名配置元素(包括语句,结果映射,缓存等)使用如下的命名解析规则: 完全限定名(比如“com.mypack ...
- SSD固态硬盘测试工具收集(持续更新)
https://www.crsky.com/zhuanti/gutaiyingpanceshi.html https://www.crsky.com/zhuanti/ssdjiance.html ht ...
- Deepin 15.4 个性化设置
2017.10.03,开始使用 Deepin 15.4.1 桌面系统 Chrome 版本 60.0.3112.78(正式版本) (64 位) 1.开启 ls 别名: vim .bashrc 去掉以下代 ...