例如我要创建1000个表。表结构都一样。只是表名不一样。例如 tb11 tb12 tb13... tb99

解决方案 »

  1.   

    dELIMITER $$USE `aa1`$$DROP PROCEDURE IF EXISTS `aa`$$CREATE PROCEDURE `aa`()
    BEGIN
    DECLARE f INT DEFAULT 1;
    WHILE f<=100 DO
    SET @a=CONCAT('create table t',f,' (id int,bh varchar(10))');
    PREPARE stml FROM @a;
    EXECUTE stml;
    SET f=f+1;
    END WHILE;
    END$$DELIMITER ;
      

  2.   

    SQL语句无法实现循环,只能通过程序或者存储过程来实现。如果只是一次性工作,则建议直接用EXCEL的公式手批量生成SQL语句 然后一次性贴到MYSQL的命令行工具中执行即可。S1 : 创建一个模板表  create table t (id int, col1 int , col2 varchar(10));
    S2 : EXCEL中在A1输入 ="create table t"&ROW()&" like t;"
    S3: 下拉填充这个A1至A1000
    create table t1 like t;
    create table t2 like t;
    create table t3 like t;
    create table t4 like t;
    create table t5 like t;
    create table t6 like t;
    create table t7 like t;
    create table t8 like t;
    create table t9 like t;
    create table t10 like t;S4: 复制到MYSQL命令行工具一次行执行。
      

  3.   

    [root@localhost ~]# for i in `seq 1 10`; do echo "create table tb$i(a int);"; done
    然后拿语句占到sql客户端里