Mysql 存储过程批量建表】的更多相关文章

CREATE DEFINER=`root`@`%` PROCEDURE `createTables`() begin declare i int; declare suffix varchar(20); declare createsql varchar(2048); set i = 0; while i < 100 do set suffix = hex(i); if length(suffix)<=1 then set suffix = concat('0',hex(i)); end if…
业务需要,往某个表中批量插入数据,使用存储过程插入 首先,要建立一张mysql表,表明为phone_number, 三个字段,id 自增,number 就是要插入的表格,is_used 表示十分已经使用,默认值为0,未使用 CREATE TABLE `phone_number` ( `id` ) NOT NULL AUTO_INCREMENT, `) NOT NULL, `is_used` ) ' COMMENT '是否已经使用 1 已经使用,0 未使用', PRIMARY KEY (`id`)…
由于业务需求,需要按天分表,因此写了个存储过程,根据时间生成表. 根据createTime 的时间,以及 while循环的变量设置范围,生成该指定日期及之后的多张表. BEGIN ); ); ; '; do set @createSql = CONCAT('CREATE TABLE IF NOT EXISTS open_msg_',`@createTime`, '(`id` int(16) NOT NULL AUTO_INCREMENT, `msgType` varchar(2) DEFAULT…
最近项目中用到了使用存储过程批量建表的功能,记录下来: USE db_test_3; drop procedure if EXISTS `createTablesWithIndex`; create procedure createTablesWithIndex() BEGIN ); ); ); ); ); ; DO -- `M_ID` bigint AUTO_INCREMENT PRIMARY KEY NOT NULL, -- 创建表 SET @createSql = CONCAT('CREA…
这里以sqlyong为软件示例: --创建存储过程DELIMITER $$ CREATE PROCEDURE `createTablesWithIndex`() BEGIN DECLARE `@i` INT(11); DECLARE `@createSql` VARCHAR(2560); DECLARE `@createIndexSql1` VARCHAR(2560); DECLARE `@createIndexSql2` VARCHAR(2560); DECLARE `@createIndex…
下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:MySQL数据库 (建表规约.索引规约.SQL语句.ORM映射) 本文难度系数为三星(★★★) 本文为第四篇 第一篇 点评阿里JAVA手册之编程规约(命名风格.常量定义.代码风格.控制语句.注释规约) 第二篇 点评阿里JAVA手册之编程规约(OOP 规约 .集合处理 .并发处理 .其他) 第三篇 点评阿里JAVA手册之异常日志(异常处理 日志规约 ) 第四篇…
批量建表dev_3970000000014到dev_3970000000035 declare @i bigint declare @j int ) ) ) ) set @sql = '' set @sqlsource_delete = 'drop table [dbo].[dev_{SN}]' set @sqlsource_create = 'CREATE TABLE [dbo].[dev_{SN}] ( [TasTimeStamp] [bigint] PRIMARY KEY , [DevTi…
动态sql,顾名思义就是动态执行的sql,也就是说在没执行之前是动态的拼接的. 任务 传入参数:新建的表名hd+当前的年和月,例如hd_201105表结构是:字段1:id ,类型是number,可以自动增加 字段2:name 类型是varcha2,长度20 字段3:city 类型是varchar2,长度20 建立序列: create sequence t_id increment start nomaxvalue cache ; 建立自动建表过程: create or replace proce…
1.权限问题 alter routine 编辑或删除存储过程 create routine 建立存储过程 execute 创建存储过程 2.存储过程相关的一些命令 show procedure status\G  查看数据库中有哪些存储过程 show procedure status where db = 'db_name'\G 查看指定数据库(db_name)中有哪些存储过程 select name from mysql.proc where db = 'db_name';  查看指定数据库(…
-- 存储过程创建库  分为两条语句删除和创建DELIMITER $$USE myplan $$DROP PROCEDURE IF EXISTS createDBN $$CREATE PROCEDURE createDBN(IN n INT,IN dbName VARCHAR(100),IN dropSql VARCHAR(255),IN createSql VARCHAR(255))BEGIN  DECLARE i INT DEFAULT 0;  WHILE i<n DO    SET @te…
表结构: LOAD DATA INFILE '/usr/local/phone_imsi_12' replace INTO TABLE tbl_imsi2number_new FIELDS TERMINATED BY '\t' ENCLOSED BY '' (number,imsi); 先用SQL语句来进行去重操作: delete from tbl_imsi2number_new where imsi in (select imsi from (select imsi from tbl_imsi…
最近看旧书,李刚那本<轻量级J2EE>在讲解hibernate的时候遇到一个问题,就是与mysql连接后,明明配置了自动建表,却老是建不了表,上网查了发现是方言的原因,到底什么是方言?这里要记录一下. 原来问题是这样的: <?xml version="1.0" encoding="utf-8"?> <!-- 指定Hiberante3映射文件的DTD信息 --> <!DOCTYPE hibernate-configuratio…
1.创建表 在操作数据表之前,应该使用"USE 数据库名"指定操作是在哪个数据库中进行 主键约束(唯一标识) ****非空*** ****唯一*** ****被引用****(学习外键时) 约束是添加在列上的,用来约束列的! 主键约束,用于唯一标识对应的记录.在MySQL中,为了快速查找表中的某条信息,可以通过设置主键来实现,就好比身份证可以用来标识人的身份一样. 每个数据表中最多只能有一个主键约束. 在Navicat中按键F6也可以进入命令行 2. 主键自增长 * 因为主键列的特性是:…
功能:实现将表result_good_city_dzl中的字段lat更新为表 result_good_city_lh中的lat,条件是两个表中的id一样 即: update result_good_city_dzl a set a.lat=(select lat from result_good_city_lh b where a.id=b.id and b.lat!=0) DELIMITER $$DROP PROCEDURE IF EXISTS update_result_good_city_…
1. 创建存储过程batchDeleteField:删除所有名称为"MyDB_"开头的数据库中的指定字段 -- ---------------------------- -- Procedure structure for batchDeleteField -- ---------------------------- DROP PROCEDURE IF EXISTS `batchDeleteField`; DELIMITER ;; ),)) BEGIN #数据库名称 ); #声明结束…
1 创建存储过程 batchAddField:给所有"MyDB_"开头的数据库添加新字段 -- ---------------------------- -- Procedure structure for batchAddField -- ---------------------------- DROP PROCEDURE IF EXISTS `batchAddField`; DELIMITER ;; ),),),)) BEGIN #数据库名称 ); #声明结束标识 ; #声明游标…
django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西 import pymysql pymysql.install_as_MySQLdb() 找到settIngs里面的database设置如下 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 's22', 'HOST':"127.0.0.1", 'PORT':3306, 'USER':…
mysql需要导入某前缀例如12345为前缀的,后缀扩展2位 即00-99. 利用存储过程插入数据. DROP PROCEDURE IF EXISTS insert_popsms_code;DELIMITER // ) ) BEGIN ; DECLARE channelId int; ); do ) then ',i); else set codeNum = CONCAT(prefix,i); end if; ' ) then ; ELSEIF(prefix ') then ; else ; e…
  转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog)  近期游戏開始第二次内測,開始处理操作日志.最開始把日志放到同一个表里面,发现一天时间,平均100玩家在线.操作记录就超过13万条,决定拆表.依照日期来保存日志.每天的日志存到一个表里面,然后定期把老的数据导出来备份后删掉. 详细思路是写日志的时候,依据当前的时间决定插入到当天的表里面.如表不存在则创建一个新的表.表名里面带上当天的日期.这就涉及到须要在存储过程里面动态创建一个跟日期相关的表.mys…
在工业监控里面, 需要对每天的数据, 进行记录, 时间长了之后, 数据库很容易撑爆. 这时候, 如果允许, 可以对之前的数据进行一次清除, 只记录几个月内的数据. delimiter $ DROP PROCEDURE if exists p_clearOldData; /* g_date_limit 时间限制, 如 2019_08 , 则删除 该时间之前的表 g_date_length 时间格式的长度, 如 后缀时间是 2019_08, 则此处应该传 7 */ ) , in g_date_len…
DROP TABLE IF EXISTS TeachersInfo; CREATE TABLE TeachersInfo ( id INT NOT NULL AUTO_INCREMENT, teacherCode VARCHAR(20) NULL, teacherName VARCHAR(30) NULL, roleID VARCHAR(20) NULL, SUBJECT INT NULL, CONSTRAINT PK_TEACHERSINFO PRIMARY KEY clustered (id…
导出建表语句和数据 server—–>data export—–>选中表  注意,export to dump project folder,这种方式是每个表对应一个sql文件.  导出建表语句和数据到一个文件 注意,export to self-contained file,这种方式是所有表导出到一个表.  只导出建表语句&高级选项 也许,你已经注意到了,在右下角有个下拉菜单可以选择导出数据和结构.导出数据.导出结构,导出过程同上.  在右上角有个advanced options,可…
一.使用ALTER TABLE语句创建索引 语法如下: alter table table_name add index index_name (column_list) ; alter table table_name add unique (column_list) ; alter table table_name add primary key (column_list) ; 其中包括普通索引.UNIQUE索引和PRIMARY KEY索引3种创建索引的格式,table_name是要增加索引…
Django操作Mysql数据库: 1.1 在settings中,配置数据库相关参数,所以无需修改,这里我们看一下: DATABASES = { 'default': { # 这里可以指定使用的数据库类型,例如mysql 'ENGINE': 'django.db.backends.mysql', 'NAME': 'djangomysql', 'USER':'root', 'PASSWORD':'******', 'HOST':'localhost', ', 'OPTIONS': {'isolat…
service层业务 package com.zx.common.service.impl; import com.zx.common.entity.SysUser; import com.zx.common.mapper.SysUserMapper; import com.zx.common.service.SysUserService; import com.zx.common.util.DateUtil; import org.springframework.beans.factory.a…
http://www.jb51.net/article/50878.htm 这里要使用到mysql的触发器…
public JsonResult CreateTable() { db = new RZBDbContext(); var query = (from c in db.Clients select new { pre = c.Prefix }).ToList(); foreach (var d in query) { //遍历循环client 生成表 //创建数据表 var file = Server.MapPath("~/App_Data/create_log.sql"); var…
hibernate的列名使用了mysql的关键字.…
命令如下: SHOW CREATE TABLE tbl_name 例子: mysql> show create table m_zhbess_vehicle_report\G *************************** 1. row *************************** Table: m_zhbess_vehicle_report Create Table: CREATE TABLE `m_zhbess_vehicle_report` ( `report_id` i…
多张表之间的三种关系:一对一,一对多,多对多 创建表 一对一 xx = models.OneToOneField(to='表明',to_field='字段名',on_delete=models.CASCADE) #删除时的一些级联效果,to_field可以不写,默认是关联到另一张表的主键,on_delete在1.x版本的django中不用写,默认是级联删除,2.x版本的django要写 一对多 xx = models.Freignkey(to='表名',to_field='字段名',on_del…