MySQL 批量建表是指在数据库中一次性创建多个表的操作。这种操作通常用于需要快速部署大量结构相似的表的场景,例如数据仓库的构建、日志系统的搭建等。
MySQL 批量建表可以通过以下几种方式实现:
以下是一个使用 SQL 脚本批量建表的示例:
-- 创建表的模板
SET @create_table_sql = 'CREATE TABLE IF NOT EXISTS `{table_name}` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;';
-- 定义表名列表
SET @table_names = 'table1,table2,table3';
-- 分割表名列表并循环创建表
SET @pos = 0;
SET @next_pos = 0;
SET @table_name = '';
WHILE @pos < LENGTH(@table_names) DO
SET @next_pos = LOCATE(',', @table_names, @pos + 1);
IF @next_pos = 0 THEN
SET @next_pos = LENGTH(@table_names) + 1;
END IF;
SET @table_name = SUBSTRING(@table_names, @pos + 1, @next_pos - @pos - 1);
SET @create_table_sql = REPLACE(@create_table_sql, '{table_name}', @table_name);
PREPARE stmt FROM @create_table_sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @pos = @next_pos;
END WHILE;
希望以上信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云