Mysql 批量建表存储过程
最近项目中用到了使用存储过程批量建表的功能,记录下来:
USE db_test_3;
drop procedure if EXISTS `createTablesWithIndex`;
create procedure createTablesWithIndex()
BEGIN
DECLARE `@i` int(11);
DECLARE `@createSql` VARCHAR(2560);
DECLARE `@createIndexSql1` VARCHAR(2560);
DECLARE `@createIndexSql2` VARCHAR(2560);
DECLARE `@createIndexSql3` VARCHAR(2560); set `@i`=0;
WHILE `@i`< 64 DO -- `M_ID` bigint AUTO_INCREMENT PRIMARY KEY NOT NULL,
-- 创建表
SET @createSql = CONCAT('CREATE TABLE IF NOT EXISTS test_',`@i`,'(
`t_ID` bigint AUTO_INCREMENT PRIMARY KEY NOT NULL,
`t_CODE` varchar(30) DEFAULT NULL,
)'
);
prepare stmt from @createSql;
execute stmt; -- 创建索引
set @createIndexSql1 = CONCAT('create index `t_code` on test_',`@i`,'(`t_code`);');
prepare stmt from @createIndexSql1;
execute stmt;
SET `@i`= `@i`+1;
END WHILE;
END
Mysql 批量建表存储过程的更多相关文章
- mysql创建存储过程,批量建表分表00到99
		这里以sqlyong为软件示例: --创建存储过程DELIMITER $$ CREATE PROCEDURE `createTablesWithIndex`() BEGIN DECLARE `@i` ... 
- sql2000分享  批量建表dev_编号
		批量建表dev_3970000000014到dev_3970000000035 declare @i bigint declare @j int ) ) ) ) set @sql = '' set @ ... 
- mysql workbench 建表时 PK,NN,UQ,BIN,UN,ZF,AI解释
		mysql workbench 建表时 - PK: primary key (column is part of a pk) 主键 - NN: not null (column is nullable ... 
- MYSQL批量创建表的存储过程
		因为业务需要,创建了100个表,但是这些表的结构都是一样的,作为程序员,就是要解决这种重复劳动.然而这种事情还要单独写个php脚本的话太麻烦了吧,所以就干脆学了一下直接用Mysql存储过程怎么实现: ... 
- Mysql的建表规范与注意事项
		一. 表设计规范 库名.表名.字段名必须使用小写字母,“_”分割. 库名.表名.字段名必须不超过12个字符. 库名.表名.字段名见名知意,建议使用名词而不是动词. 建议使用InnoDB存储引擎. 存储 ... 
- MYSQL批量修改表前缀与表名sql语句
		修改表名 ALTER TABLE 原表名 RENAME TO 新表名; 一句SQL语句只能修改一张表 show tables; 1. SELECT CONCAT( 'ALTER TABLE ', ta ... 
- mysql怎样建表及mysql优化
		1.符合数据库三范式 2.字段选择合适的数据类型 3.注意表之间的联系,一对多,多对多,一对一 4.拆分表,把不常用的字段单独成表. 5.建立索引,哪些字段建立索引?建立索引的原则?最左前缀原则,wh ... 
- MySQL常见建表选项以约束
		一.CREATE TABLE 选项 1.在定义列的时候,指定列选项 1)DEFAULT <literal>:定义列的默认值 当插入一个新行到表中并且没有给该列明确赋值时,如果定义了列的默认 ... 
- mysql数据库建表的基本规范
		1.创建表的时候必须指定主键,并且主键建立后最好不要再有数据修改的需求 mysql从5.5版本开始默认使用innodb引擎,innodb表是聚簇索引表,也就是说数据通过主键聚集( 主键下存储该行的数据 ... 
随机推荐
- 冒泡排序小实例 php
			源代码如下,仅用于参考: <?php$a = array(10,2,36,14,10,25,23,85,99,45); for($j=0;$j<9;$j++){ for($i=0;$i&l ... 
- 【转载】Spark SQL之External DataSource外部数据源
			http://blog.csdn.net/oopsoom/article/details/42061077 一.Spark SQL External DataSource简介 随着Spark1.2的发 ... 
- 比较Activiti中三种不同的表单及其应用
			http://www.kafeitu.me/activiti/2012/08/05/diff-activiti-workflow-forms.html 开篇语 这个恐怕是初次接触工作流最多的话题之一了 ... 
- excel知识
			excel中导出文本中的制表符去除方法: 
- Spring切面处理
			切面类DictionaryAOP 里面有一个全局变量systemTestDomain <bean id="dictionaryAOP" class="test.Di ... 
- 杂技之sharpdevelop调试aps.net
			背景: 本人笔记本电脑不给力,vs打开实在太慢,因此考虑使用sharpdevelop,但sharpdevelop有点麻烦事,就是不支持asp.net的调试,为解决此问题,本人在此杂技一把了 方案一: ... 
- Jsp页面里引入一个javascript文件,在jsp的onclick里怎么添加脚本文件里的方法
			举个简单例子:首先新建use.js文件内容:function show(){ alert("aa");} 建html文件跟use.js放同目录下: <html>< ... 
- Linux Terminal命令
			Linux Terminal命令 1.Ctrl + a 回到命令行の「行首/head」. 2.Ctrl + e 回到命令行の「行尾/tail」, ctrl + end. 3.Ctrl + w 後向/b ... 
- 使用CHttpFile从服务器端正确的读取数据
			前段时间在给软件做升级提示模块的时候发现一个问题,就是使用CHttpFile对象无法从服务器端获取到正确的响应数据长度,无论是使用CHttpFile:: QueryInfo方法,还是使用CHttpFi ... 
- mysql  数据库还原出错ERROR:Unknown command '\' mysql中断
			其实造成这个问题的原因还是由于编码的问题,网站数据库设置的是gbk 的,mysql默认是gbk:但是在导出数据的时候导出了utf8的sql文件,不管我如何重新导入,在连接数据库后使用set names ... 
