【问题标题】:Is it possible to create tables in MySQL Workbench using a SQL statement?是否可以使用 SQL 语句在 MySQL Workbench 中创建表?
【发布时间】:2019-05-31 23:42:58
【问题描述】:

我正在使用 MySQL Workbench 来设计一个新架构,并且我有一个用于新表的现有 create 语句。是否可以使用create语句来创建表,而不是手动写出所有的列和类型?

例如,这是我的 SQL:

CREATE TABLE IF NOT EXISTS `mydb`.`user` (
 `user_id` INT UNSIGNED NOT NULL,
 `last_updated` DATETIME NOT NULL DEFAULT now(),
 `user_stamp` INT UNSIGNED NOT NULL DEFAULT 1,
 `user_name` VARCHAR(15) NOT NULL,
 `company_code` INT UNSIGNED NOT NULL,
 `email` VARCHAR(50) NULL DEFAULT '',
 `active` CHAR(1) NULL DEFAULT 'Y',
 `first_name` VARCHAR(20) NULL,
 `last_name` VARCHAR(20) NULL,
 PRIMARY KEY (`user_id`),
 INDEX `fk__user__company_idx` (`company_code` ASC),
 CONSTRAINT `fk__user__company`
 FOREIGN KEY (`company_code`)
 REFERENCES `mydb`.`company` (`company_code`)
 ON DELETE CASCADE
 ON UPDATE NO ACTION 
);

我希望能够在 MySQL Workbench 中的某处运行此语句,以便将表添加到我的架构中,然后在我的图表中使用它。

【问题讨论】:

    标签: mysql mysql-workbench


    【解决方案1】:

    您可以将CREATE TABLE 语句保存到文件中,然后在Mysql Workbench (v. 8.0) 中选择File > Import > Reverse Engineer MySQL Create Script...。如果你有表之间的关系,Mysql Workbench 应该能猜到。

    【讨论】:

      【解决方案2】:

      是的,是的。只需将您拥有的创建语句粘贴到查询窗口中并执行即可。

      【讨论】:

      • 您是否必须有一个活动连接才能做到这一点?现在我实际上并没有连接到数据库,因为我正在尝试在更新我的数据库之前设计架构。
      • 只需创建另一个“虚拟”数据库,用于您的测试和 schmera 更改。
      • 好的,这是一个不同的问题——你原来的问题是问是否可以“创建表”——显然,如果你想在该数据库中创建一个表,你必须连接到数据库.所以你想要的是一种解析 create 语句并将其转换为本地模式描述的方法......我不知道有一种方法可以做到这一点,尽管它可能是可能的。
      • 基本上我只是在寻找一种更简单的方法来在我的模型中创建表格,而不是输入每一列
      猜你喜欢
      • 1970-01-01
      • 2017-03-13
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      • 2016-03-16
      相关资源
      最近更新 更多