sql create语句,包括主键、外键和索引



我从phpmyadmin导出了一个数据库,sql格式如下

CREATE TABLE 'table_1'(
'id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'name' TEXT NOT NULL
);
ALTER TABLE
'table_1' ADD PRIMARY KEY 'table_1_id_primary'('id');
CREATE TABLE 'table_2'(
'id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'table_1' INT NOT NULL,
'name' TEXT NOT NULL
);
ALTER TABLE
'table_2' ADD PRIMARY KEY 'table_2_id_primary'('id');
ALTER TABLE
'table_2' ADD INDEX 'table_2_table_1_index'('table_1');
ALTER TABLE
'table_2' ADD CONSTRAINT 'table_2_table_1_foreign' FOREIGN KEY('table_1') REFERENCES 'table_1'('id');

我想将此数据库导入drawsql。我发现drawsql只能解析Create语句(它忽略ALTER语句(。因此,我需要转换此脚本,以便在create语句中包含主键、外键(关系(和索引。所以之前的脚本是

CREATE TABLE `table_1`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` TEXT NOT NULL
);
CREATE TABLE `table_2`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`table_1` INT NOT NULL,
`name` TEXT NOT NULL,
FOREIGN KEY (table_1) REFERENCES table_1(id)
);

有没有一个在线工具可以实现这种转变?

TIA-

我从命令行找到了一种使用mysqldump的方法。我执行了mysqldump -u <user_name> --no-data --skip-add-drop-table <database_name>。然后将输出保存到一个文件中,并将其导入drawsql。

最新更新