批量创建100张表

#在工作中,经常会有以时间或者数字命名,创建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)
========================================
时间: 2024-11-05 13:37:05

批量创建100张表的相关文章

OrmLite动态创建表,一个实体类创建多张表的的偏招

在做一个Android的项目,因为使用数据库频繁,实体字段也比较多,于是打算采用ORM框架,发现OrmLite还不错,于是下了下来,打算使用. 没想到还没正式开工,就遇到问题了.我现在的一个需求如下, 我有一个实体类如下,代表聊天消息,现在要做的是针对每一个当前用户(userId)对应一个朋友(friendId)都要创建一个表.需求比较蛋疼,我本来想的是直接在加两个字段就搞定的,但是我们老大说要分表.没办法只能分表. public class ChatMessage{ public ChatMe

Oracle两张表关联批量更新其中一张表的数据

Oracle两张表关联批量更新其中一张表的数据 方法一(推荐): UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXISTS (SELECT 1 FROM 表1 WHERE 表1.A = 表2.A); 尤其注意最后的外层where条件尤为重要,是锁定其批量更新数据的范围. 方法二: MERGE INTO 表2 USING 表1 ON (表2.A = 表1.A) -- 条件是 A 相同 WHEN MATCHED TH

(二)mysql:在w3schools文档上学习sql语法(使用数据库创建一张表)

1.选中要使用的数据库(选中上篇创建的test数据库) 现有的数据库 mysql>use test; 则选中test数据库: 2.创建一张表 2.1column代表每一列的名称,datatype代表每一列的数据类型(可用数据类型:https://www.w3schools.com/sql/sql_datatypes.asp) 2.2创建表 mysql> create table Persons( -> PersonID int, -> LastName varchar(255),

手动创建一张表

有时候为了需求我们可能会手动创建一张表,里面的数据由我们自己添加. 代码如下: DataTable dt = new DataTable("0"); //GetType里面的类型参数大小写需要注意 dt.Columns.Add("ID",Type.GetType("System.Int32")); dt.Columns.Add("Name",Type.GetType("System.String")); d

批量创建100个用户

#!/bin/bash #描述:批量创建100个用户 #随机6位密码: `date | md5sum | cut -b 1-6` #随机6位密码: `cat /dev/urandom |head -1|md5sum | cut -b 1-6` i=1 pass=888888 while [ $i -le 100 ] do #判断所需添加用户是否存在 id $user 1>/dev/null 2&1 if [ $? -eq 1 ] then echo "用户不存在,允许添加"

创建一张表

create TABLE date( id int primary key, sname VARCHAR(20), ssex varchar(4), sage int, birth date, snative VARCHAR(20) ) 创建一张表如上,格式如下: create table 表名( 字段名  类型   条件约束, 字段名  类型 , 字段名  类型 , 字段名  类型 , 字段名  类型    //最后这一个字段后面不能添加 逗号 ) 原文地址:https://www.cnblo

mysqldump批量导出(多张表)表结构及表数据

Mysql 批量导出表结构(数据) 仅导出结构,不导出数据: 1.导出數據库為dbname的表结构    mysqldump  -h主机地址 -u用户名 -p密码 -d dbname >db.sql; 2.导出數據库為dbname某张表(test)结构    mysqldump  -h主机地址 -u用户名 -p密码 -d dbname test>db.sql; 导出结构+数据:    3.导出數據库為dbname所有表结构及表數據(不加-d)    mysqldump  -h主机地址 -u用户

MYSQL创建多张表,相同表结构,不同表名

#!/bin/bashfor i in {0..63}domysql -u$1 -p$2 -h127.0.0.1 <<EOFuse yoon;create table ivc_pre_detail_$i(id bigint not null,refId bigint,detailType smallint,wid int comment '商品编号',wname varchar(150) comment '商品名称',num int comment '商品数量',price decimal(1

db2数据库创建一张表,并为该表加上主键递增的性能和中间表的创建的sql语句

创建角色表 CREATE TABLE NBCTXP.TBL_NBC_NONBANKROLE (    ID BIGINT NOT NULL,    ROLENAME VARCHAR(50),    CREATETIME TIMESTAMP,    UPDATETIME TIMESTAMP,    CONSTRAINT P_ID PRIMARY KEY (ID)); CREATE INDEX SQL150130091455900 ON NBCTXP.TBL_NBC_NONBANKROLE (ID)