批量建立MySQL表

今天遇到MySQL的分表问题,可以采用脚本方式循环建立新的表,也可以使用sql建立。下面以建立player_0到player_9的语句为例。

delimiter //

CREATE procedure create_table()

BEGIN

DECLARE `@i` int(11);

DECLARE `@sqlstr` varchar(2560);

SET `@i`=0;

WHILE `@i` < 10 DO

SET @sqlstr = CONCAT(

"CREATE TABLE player_",

`@i`,

"(

`player_id` int(11) NOT NULL AUTO_INCREMENT,

`account_id` int(11) NOT NULL COMMENT ‘用户ID‘,

`personaname` varchar(50) NOT NULL COMMENT ‘昵称‘,

PRIMARY KEY (`player_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘用户表‘ AUTO_INCREMENT=1 "

);

prepare stmt from @sqlstr;

execute stmt;

SET `@i` = `@i` + 1;

END WHILE;

END;

call create_table();

drop procedure create_table;

批量建立MySQL表

时间: 2024-10-06 15:30:13

批量建立MySQL表的相关文章

如何批量修改mysql表的引擎

工作需要,要将所有的mysql表的引擎改为innodb 执行如下SQL SET @DATABASE_NAME = 'name_of_your_db';SELECT  CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statementsFROM    information_schema.tables AS tbWHERE   table_schema = @DATABASE_NAMEAND     `ENGINE` =

批量修改mysql表、表、数据库的字符校对规则

记录一个在工作中遇到的问题,也不算是问题,为的是找一种简便的方法批量修改数据表字段的排序规则,在MySQL中叫collation,常常和编码CHARACTER一起出现的.collation有三种级别,分辨是数据库级别,数据表级别和字段级别. 1.The database level 2.The table level 3.The column level https://confluence.atlassian.com/display/CONFKB/How+to+Fix+the+Collatio

批量更新mysql表数据

1.批量更新表中某个字段,如果表比较大,每条记录都执行一条update,1s执行10条数据,10万条数据就要1W秒,3个多小时. 2.可以用case when 来实现,模板如下 UPDATE categories SET display_order = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4 WHEN 3 THEN 5 END WHERE id IN (1,2,3); ID 是条件字段,WHEN 相当于where,THEN 表示要更新的字段设置成的值. 如果有多个

mysql表名等大小写敏感问题、字段类型timestamp、批量修改表名、oracle查询历史操作记录等

mysql表名等大小写敏感问题:http://blog.csdn.net/postnull/article/details/72455768: 1 MySQL在Linux下数据库名.表名.列名.别名大小写规则是这样的: 2 1.数据库名与表名是严格区分大小写的: 3 2.表的别名是严格区分大小写的: 4 3.列名与列的别名在所有的情况下均是忽略大小写的: 5 4.字段内容默认情况下是大小写不敏感的. ================================================

批量修改mysql数据库表前缀。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

批量删除mysql一个库所有数据表方法

批量删除mysql一个库所有数据表方法 删除表的命令 drop table 表名; 如果有100张表,手工执行100次,想想就崩溃. 下面提供一个使用information_schema库的方案来批量删除数据表:SELECT CONCAT('drop table ',table_name,';') FROM information_schema.`TABLES` WHERE table_schema='数据库名'; 如通过这条命令来得到drop table 表名;这样的语句,然后批量执行.mys

MYSQL数据库之如何在已经建立好表之后重构数据表

表一:mysql> select * from employee;+----+--------+---------+| id | name | manager |+----+--------+---------+| 1 | 张三 | 李红 || 2 | 张三 | 李红 || 3 | 王五 | 刘倩 || 4 | 马六 | 马芳 || 5 | 孙杨 | 明德 || 6 | 郭德纲 | 华北 |+----+--------+---------+ 表二:表二的数据填充有所不同,如下:sql:inser

基于CentOS的MySQL学习补充三--使用Shell批量创建数据库表

本文出处:http://blog.csdn.net/u012377333/article/details/47006087 接上篇介绍<基于CentOS的Mysql学习补充二--使用Shell创建数据库>,本文继续探索关于Shell和MySQL的结合使用,我不知道当一个数据库设计完成之后如何快速的创建设计好的数据库表和添加相应基本数据,我目前知道的就是使用Shell和SQL脚本来达到我的目的--快速的.多次的.可重复利用的创建数据库表. 创建一个数据库表的SQL脚本: /***********

查询mysql表是否被损坏和修复、优化

查询mysql表是否被损坏命令,如下: # CHECK TABLE 表名 mysql的长期使用,肯定会出现一些问题,一般情况下mysql表无法访问,就可以修复表了,优化时减少磁盘占用空间.方便备份. 表修复和优化命令,如下: #REPAIR TABLE `table_name` 修复表 #OPTIMIZE TABLE `table_name` 优化表 REPAIR TABLE 用于修复被破坏的表. OPTIMIZE TABLE 用于回收闲置的数据库空间,当表上的数据行被删除时,所占据的磁盘空间并