MySQL:用一个查询创建多个表

cod*_*gle 3 mysql syntax

你能在一个 MySQLCREATE TABLE查询中列出多个表名吗?

CREATE TABLE table1, table2, table3 LIKE table_template;
Run Code Online (Sandbox Code Playgroud)

如果是这样,你能用IF NOT EXISTS子句来做吗?

CREATE TABLE IF NOT EXISTS table1, table2, table3 LIKE table_template;
Run Code Online (Sandbox Code Playgroud)

我知道你可以这样做DROP TABLE

DROP TABLE IF EXISTS table1, table2, table3;
Run Code Online (Sandbox Code Playgroud)

文档DROP TABLE明确表明您输入名称的字符串:

DROP [TEMPORARY] TABLE [IF EXISTS]
    tbl_name [, tbl_name] ...
    [RESTRICT | CASCADE]
Run Code Online (Sandbox Code Playgroud)

文档CREATE TABLE不显示表名字符串:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...)
    [table_options]
    [partition_options]

More Syntax Variations ...
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出我明确指出可以或不能使用一个查询创建多个表的参考吗?

我在CREATE TABLE Syntax 文档中搜索了“string”、“tbl_name”和“names”,但没有运气。

小智 7

查看文档,您似乎无法使用一个创建多个表 CREATE. 你可以一起使用IF NOT EXISTSLIKE,像这样:

CREATE TABLE IF NOT EXISTS table1 LIKE table_template;
CREATE TABLE IF NOT EXISTS table2 LIKE table_template;
CREATE TABLE IF NOT EXISTS table3 LIKE table_template;
Run Code Online (Sandbox Code Playgroud)

这是 MySQL 文档中的页面: CREATE TABLE