码迷,mamicode.com
首页 > 其他好文 > 详细

批量创建100张表

时间:2016-08-02 17:28:00      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:shell   批量   创建表   

#在工作中,经常会有以时间或者数字命名,创建n张表的需求。
#下面给出4种常用的批量创建100张表的小脚本。

#结果
mysql> show tables;
+-----------------+
| Tables_in_tsdb  |
+-----------------+
| Total_Winner_01 |
| Total_Winner_02 |
| Total_Winner_03 |
| Total_Winner_04 |
| Total_Winner_05 |
| Total_Winner_06 |
| Total_Winner_07 |
| Total_Winner_08 |
| Total_Winner_09 |
| Total_Winner_10 |
| Total_Winner_11 |
| Total_Winner_12 |
| Total_Winner_13 |
| Total_Winner_14 |
| Total_Winner_15 |
+-----------------+
15 rows in set (0.00 sec)

#第一种:
##create 100 tables
#!/bin/sh
#
db_name=‘USE RenmaiInfluenceDB‘
for i in {0 99};
do 
    len=`expr length $i`
    if [ $len -eq 2 ];then
    num=$i
else
    num="0${i}"
fi
    echo ‘‘‘
CREATE TABLE `Total_Winner_‘‘‘$num‘‘‘` (
  `Id` INT (10),
  `UserId` INT (10),
  PRIMARY KEY (`Id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 ;
    ‘‘‘
echo 
done
========================================================================================================
#第二种:
#!/bin/sh
#creat tables
for i in `seq 1 15`
do
    var=`printf "%02d\n" $i`
   
    echo ‘‘‘
CREATE TABLE `Total_Winner_‘‘‘$var‘‘‘` (
  `Id` INT (10),
  `UserId` INT (10),
  PRIMARY KEY (`Id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 ;
‘‘‘ 
  
    echo
done
============================================================================
#第三种:
#!/bin/sh 
# 需要将 SQL 中的" ` " 符号删除
for i in `seq 0 1 99`
do
    STEP=`printf %02d ${i}`
    create_tab_sql="
CREATE TABLE Total_Winner_${STEP} (
  Id INT (10),
  UserId INT (10),
  PRIMARY KEY (Id)
) ENGINE = INNODB DEFAULT CHARSET = utf8 ;"
    echo -e ${create_tab_sql}
    
    echo
done
===================================================================================
#第四种:Python脚本
#!/usr/bin/python
import string
for i in range(7,13):
    sql = "CREATE TABLE `Content_2015%02d` LIKE `Content_201503`;" % i
    print(sql)
for i in range(15,20):
    sql = "CREATE TABLE `Content_2016%02d` LIKE `Content_201503`;" % i
    print(sql)
========================================

本文出自 “醉清风” 博客,请务必保留此出处http://11805203.blog.51cto.com/11795203/1833412

批量创建100张表

标签:shell   批量   创建表   

原文地址:http://11805203.blog.51cto.com/11795203/1833412

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!