摘要 腾兴网为您分享:mysql数据库动态创建表的实例分享,易视云3,完美root,刷机大师,手游宝等软件知识,以及清仓兔,找明星,爱普生1500w,txt完结小说全本软件,windows自带画图软件,pdf目录生成,痛经的图片,就旅行,幼资源,爱漫网,加水印app,感恩贺卡简单又漂亮,背单词游戏,运营商logo,壹元等软件it资讯,欢迎关注腾兴网。本节内容: mysql数据库动态创建表 所谓动态创建表: 即表的字段名和字段数均不固定,根据需求来创建。 第一步.创建相关表 复制代码 代码示例: /*---建立所有指标信息的临时表---*/...

本节内容:

mysql数据库动态创建表

所谓动态创建表:

即表的字段名和字段数均不固定,根据需求来创建。

第一步.创建相关表

复制代码 代码示例:

/*---建立所有指标信息的临时表---*/

drop table if exists INTERBANKBONDQUOTE_SClass;

create table INTERBANKBONDQUOTE_SClass (

Name varchar(50) not null,

id int Primary key,

Parent int,

Value varchar(50)

);

insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('最新成交', 0,'');

insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('买入信息', 1,'');

insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('买卖价差', 2,'');

insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('卖出信息', 3,'');

insert into INTERBANKBONDQUOTE_SClass(Name,id,Parent,Value)values('中债最新估值', 4, -1,'');

insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('含权债行权指标', 5,'');

insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('基础指标', 6,'');

insert into INTERBANKBONDQUOTE_SClass(Name,id,Value)values('双边报价笔数', 7,'');

insert into INTERBANKBONDQUOTE_SClass(Name,id,Parent,Value)values('报价方', 8, 1, 'col4');

insert into INTERBANKBONDQUOTE_SClass(Name,id,Parent,Value)values('报价方会员号', 9, 1, 'col5');

insert into INTERBANKBONDQUOTE_SClass(Name,id,Parent,Value)values('报价时间', 10, 1, 'col6');

insert into INTERBANKBONDQUOTE_SClass(Name,id,Parent,Value)values('匿名', 11, 1, 'col7');

第二步:

复制代码 代码示例:

/*---建立显示数据表格标题的表---*/

drop table if exists INTERBANKBONDQUOTE_T;

create table INTERBANKBONDQUOTE_T as select concat('\'',a.Name,',',b.Name,'\' __TITLE__',b.Value);

第三步:

因为在mysql中,这时的变量长度受到了限制 ,本来应该longtext足够长的,可实际只返回了限制长度的。

如果字段太多了,就要用第二种方法。

存储过程A: 这里变量返回值长度受限,字段不多时可以。

复制代码 代码示例:

DELIMITER $$

DROP PROCEDURE IF EXISTS `dzhappdb_bond`.`INTERBANKBONDQUOTE_TSP`$$

CREATE PROCEDURE INTERBANKBONDQUOTE_TSP ()

BEGIN

DECLARE objs1 TEXT;

DECLARE objs TEXT;

SELECT GROUP_CONCAT(col1) INTO objs1 FROM T;

SET objs  =CONCAT('CREATE TABLE Title AS SELECT ',objs1);

SET @sql_txt = objs;

PREPARE stmt FROM @sql_txt;

EXECUTE stmt;

DEALLOCATE PREPARE stmt;

END$$

call INTERBANKBONDQUOTE_TSP;

存储过程B:这样不管字段多少,只要数据库支持就可以创建成功。但不如第一个方法简洁。

复制代码 代码示例:

DROP PROCEDURE IF EXISTS INTERBANKBONDQUOTE_TSP_Title;

drop table if EXISTS Title;

CREATE PROCEDURE INTERBANKBONDQUOTE_TSP_Title()

proc:begin

DECLARE add_sql LONGTEXT;

DECLARE insert_sql LONGTEXT;

DECLARE nhh_sql varchar(200);

DECLARE column_name varchar(100);

DECLARE column_value varchar(100);

DECLARE mycount int;

DECLARE len int;

DECLARE strlen int;

DECLARE cursor_Title CURSOR for select col1 from INTERBANKBONDQUOTE_T;

create table Title(mid int);

insert into Title values (100);

select count(col1) into @mycount from INTERBANKBONDQUOTE_T;

OPEN cursor_Title;

REPEAT

FETCH cursor_Title INTO nhh_sql;

begin

set @mycount=@mycount-1;

set @strlen=CHARACTER_LENGTH(nhh_sql);

set @len=INSTR(nhh_sql,' ');

set @column_name=RIGHT(nhh_sql,@strlen-@len);

set @column_value=LEFT(nhh_sql,@len);

set @add_sql=CONCAT('ALTER table Title add COLUMN ',@column_name,' varchar(100)');

set @insert_sql=CONCAT('update Title set ',@column_name,'=',@column_value,' where mid=100');

PREPARE stmt1 FROM @add_sql;

EXECUTE stmt1;

PREPARE stmt2 FROM @insert_sql;

EXECUTE stmt2;

DEALLOCATE PREPARE stmt1;

DEALLOCATE PREPARE stmt2;

end;

until @mycount<=0

END REPEAT;

CLOSE cursor_Title;

ALTER table Title drop column mid;

end proc;

//调用存储过程

call INTERBANKBONDQUOTE_TSP_Title;

相关推荐

mysql 动态 建表,mysql数据库动态创建表的实例分享相关推荐

  1. pdman 创建表同步数据库_pdman 创建表同步数据库_使用PDMan来设计数据库系列1-PDMan软件的简介与安装...

    前言 最近除了做好手上的工作外,也需要开始设计一套数据库用来存储实验室的全套数据,可能会涉及多个表的交叉引用,为了更加高效和准确的进行设计,需要用到数据库模型建模工具.这里选择的是开源的PDMan. ...

  2. MySQL笔记(一)创建数据库、创建表、修改表、删除表,以及建立约束

    这是我在学习Mysql之路上做的笔记,今天将它粘出来.这一篇比较基础主要是创建数据库.创建表.修改表.删除表,以及建立约束:非空约束.主键约束.外键约束.唯一值约束.有错误的欢迎大家指出... -- ...

  3. mysql数据库初识 使用数据库,创建表,表中数据增删改 自用笔记

    #指定数据库 表在数据库中创建用来存储数据 USE kj13test; #创建表 /** 狗信息 dogId dogName dogType dogAge 1001  小白    二哈    2 10 ...

  4. mysql下备份所有的数据库和数据表

    shell脚本实现 mysql下备份所有的数据库和数据表 要求:(1)mysql下的数据库的表要以table_name.sql备份保存 (2)保存在当前目录下,并以当天时间命名 #!/bin/bash ...

  5. mysql查询添加数据库表_MySQL数据库篇之表的增删改查

    主要内容: 一.表介绍 二.创建表 三.查看表结构 四.修改表结构 五.复制表 六.删除表 1️⃣ 表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称 ...

  6. java中创建数据表,Java如何在数据库中创建表?

    在此示例中,您可以看到如何在MySQL数据库中创建表.我们创建了一个称为表books具有以下字段,isbn,title,published_year和price.我们首先创建与数据库的连接,然后执行创 ...

  7. 手把手教你使用C#操作SQLite数据库,新建数据库,创建表,插入,查询,删除,运算符,like...

    目录: 一.新建项目,添加引用 二.创建数据库 三.创建表 四.插入数据  五.查询数据  六.删除数据  七.运算符 八.like语句 我的环境配置:windows 64,VS,SQLite(点击下 ...

  8. 手把手教你使用C#操作SQLite数据库,新建数据库,创建表,插入,查询,删除,运算符,like(持续更新)...

     有问题欢迎留言!!!  目录: 一.新建项目,添加引用 二.创建数据库 三.创建表 四.插入数据  五.查询数据  六.删除数据  七.运算符 八.like语句 我的环境配置:windows 64, ...

  9. rac建oracle表空间,Oracle Rac创建表空间及用户

    1. 创建表空间: BEGIN DECLARE cnt integer := 0; BEGIN SELECT 1 INTO cnt FROM dual WHERE exists(SELECT * FR ...

  10. 执行HBase建表操作,每次创建表HRegionServer都会挂掉,而 HMaster还在!RetriesExhaustedException: Can't get the locations

    在IDE  执行HBase建表操作,每次创建表HRegionServer都会挂掉,而 HMaster还在! 报错如下: Exception in thread "main" org ...

最新文章

  1. Web Socket/Stomp——整合Spring Session【Header Token模式】解决方案
  2. jquery div拖动效果示例代码
  3. CPLEX教程 | Cplex介绍,CPLEX教育版和安装Cplex
  4. H5 video 播放器demo代码
  5. QQ空间自动删除说说的js脚本(亲测有效)
  6. 中文版的优动漫PAINT与日版CSP有什么不同?
  7. 微信公众号服务器配置及接入验证
  8. MOSFET的基本知识
  9. SWR:最具潜力的 React Hooks 数据请求库
  10. 星起航:现在做抖音小店晚不晚?
  11. Win7+Win8双系统安装教程!零风险超简单2
  12. 【vue-cli】使用es6的可选链?.操作符报错Module parse failed解决记录
  13. 字符串匹配——KMP算法
  14. 搭建云平台 1 Day 虚拟机安装(超详细)
  15. sqlserver打开或创建mdf失败
  16. 超融合基础架构HCI新特性
  17. Unity2017.4.26 修改AndroidSdkVersions 增加 AndroidApiLevel29 AndroidApiLevel30 AndroidApiLevel31
  18. 科目一考试,93分拿下!
  19. 《PostgreSQL开发指南》电子版PDF免费下载
  20. 【C/C++时间系列】字符串通过strptime函数转换成struct tm

热门文章

  1. 网络工程师招聘笔试题汇总一
  2. 简单解释不可重复读和幻读
  3. ---文件上传与下载
  4. 笔记-新版医用电气设备电磁兼容标准 YY9706.102 解读(2021-03-04 网络培训)
  5. 利用Java8新特征,重构传统设计模式,你学会了吗?
  6. 用王者荣耀来理解java设计模式之责任链模式
  7. 吴昊品游戏核心算法 Round 16 ——吴昊教你玩口袋妖怪 第三弹 地洞谜题
  8. Thinking in Android — Java入门 (1)
  9. 几款常见的HTML可视化编辑器
  10. [Game Framework之StarForce解读]01.StarForce下载运行