MySQL批量建表是指在数据库中一次性创建多个表的操作。这种操作通常用于快速部署多个相关联的表,或者在数据迁移、系统初始化等场景中。
CREATE TABLE语句。以下是一个使用Python和MySQL Connector库进行批量建表的示例:
import mysql.connector
# 连接数据库
db = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
cursor = db.cursor()
# 定义要创建的表结构
tables = [
{
"name": "table1",
"columns": [
("id", "INT AUTO_INCREMENT PRIMARY KEY"),
("name", "VARCHAR(255) NOT NULL")
]
},
{
"name": "table2",
"columns": [
("id", "INT AUTO_INCREMENT PRIMARY KEY"),
("description", "TEXT")
]
}
]
# 执行批量建表
for table in tables:
columns_str = ", ".join(f"{col[0]} {col[1]}" for col in table["columns"])
create_table_sql = f"CREATE TABLE {table['name']} ({columns_str})"
cursor.execute(create_table_sql)
# 提交事务
db.commit()
# 关闭连接
cursor.close()
db.close()SELECT COUNT(*) INTO @exists FROM information_schema.tables WHERE table_name = 'table1';
IF @exists = 0 THEN
CREATE TABLE table1 (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL);
END IF;CREATE TABLE table1 (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;通过以上方法,可以有效地进行MySQL批量建表操作,并解决常见的相关问题。