Mysql必读mysql数据库动态创建表的实例分享
《Mysql必读mysql数据库动态创建表的实例分享》要点: MYSQL入门本节内容: 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,Value)values('买入信息',?1,Value)values('买卖价差',?2,Value)values('卖出信息',?3,Parent,Value)values('中债最新估值',?4,?-1,Value)values('含权债行权指标',?5,Value)values('基础指标',?6,Value)values('双边报价笔数',?7,Value)values('报价方',?8,?'col4'); insert into INTERBANKBONDQUOTE_SClass(Name,Value)values('报价方会员号',?9,?'col5'); insert into INTERBANKBONDQUOTE_SClass(Name,Value)values('报价时间',?10,?'col6'); insert into INTERBANKBONDQUOTE_SClass(Name,Value)values('匿名',?11,?'col7'); MYSQL入门第二步: drop table if exists INTERBANKBONDQUOTE_T; create table INTERBANKBONDQUOTE_T as select concat(''',a.Name,',b.Name,'' __TITLE__',b.Value); MYSQL入门第三步: MYSQL入门因为在mysql中,这时的变量长度受到了限制,本来应该longtext足够长的,可实际只返回了限制长度的. MYSQL入门存储过程A: 这里变量返回值长度受限,字段不多时可以. 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; MYSQL入门存储过程B:这样不管字段多少,只要数据库支持就可以创建成功.但不如第一个办法简洁. MYSQL入门DROP PROCEDURE IF EXISTS INTERBANKBONDQUOTE_TSP_Title; MYSQL入门CREATE PROCEDURE INTERBANKBONDQUOTE_TSP_Title() MYSQL入门create table Title(mid int); MYSQL入门OPEN cursor_Title; MYSQL入门set @column_name=RIGHT(nhh_sql,@strlen-@len); MYSQL入门PREPARE stmt1 FROM @add_sql; MYSQL入门//挪用存储过程 欢迎参与《Mysql必读mysql数据库动态创建表的实例分享》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |