《Mysql必读mysql数据库动态创建表的实例分享》要点:
本文介绍了Mysql必读mysql数据库动态创建表的实例分享,希望对您有用。如果有疑问,可以联系我们。
			           
MYSQL入门本节内容:
mysql数据库动态创立表
MYSQL入门所谓动态创立表:
即表的字段名和字段数均不固定,根据需求来创立.
MYSQL入门第一步.创立相关表 
 
MYSQL入门第二步:
 
MYSQL入门第三步:
MYSQL入门因为在mysql中,这时的变量长度受到了限制 ,本来应该longtext足够长的,可实际只返回了限制长度的.
如果字段太多了,就要用第二种办法.
MYSQL入门存储过程A: 这里变量返回值长度受限,字段不多时可以. 
 
MYSQL入门存储过程B:这样不管字段多少,只要数据库支持就可以创建成功.但不如第一个办法简洁. 
 
MYSQL入门DROP PROCEDURE IF EXISTS INTERBANKBONDQUOTE_TSP_Title; 
drop table if EXISTS Title;
MYSQL入门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;
MYSQL入门create table Title(mid int); 
insert into Title values (100); 
select count(col1) into @mycount from INTERBANKBONDQUOTE_T;
MYSQL入门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,' ');
MYSQL入门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');
MYSQL入门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;
MYSQL入门//挪用存储过程
call INTERBANKBONDQUOTE_TSP_Title;
欢迎参与《Mysql必读mysql数据库动态创建表的实例分享》讨论,分享您的想法,维易PHP学院为您提供专业教程。