我希望在一个查询结果中所有创建MySql表的语句。
例如,INFORMATION_SCHEMA包含所有表名、注释等,但是创建语句存储在MySql中的位置呢?可以在一个查询中检索所有表吗?
目前,我正在检索一个表的表 ddl,如下所示。我有100张桌子,所以每次都可以重复同样的步骤,也就是占用时间的过程。
show create table row_format;发布于 2013-08-05 05:16:16
mysqldump -h localhost -u root -p --no-data --compact some_db
mysqldump -d --compact --compatible=mysql323 ${dbname}|egrep -v "(^SET|^/\*\!)"发布于 2021-02-12 22:33:58
我今天需要这样做,回答生成了一个我无法导入的.sql文件:它声明了完整的CREATE TABLE语句,外键指向它尚未声明的表。
相反,我使用了液基
liquibase.properties文件并按如下方式编辑:outputDefaultSchema=true
includeSchema=true
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/replace_with_your_db
username=replace with your MySQL user
password=replace with your MySQL password
classpath=full path of the MySQL connector, for instance C:\mysql-connector-java-8.0.21.jarliquibase --changeLogFile=schema.mysql.sql generateChangeLog这将为您的架构生成SQL命令,这些命令的顺序都是正确的。
例如:
CREATE TABLE address (id BIGINT AUTO_INCREMENT NOT NULL, line VARCHAR(128) NULL, owner_id BIGINT NOT NULL);
CREATE TABLE person (id BIGINT AUTO_INCREMENT NOT NULL, name VARCHAR(64) NOT NULL);
ALTER TABLE address ADD CONSTRAINT fk_address_person FOREIGN KEY (owner_id) REFERENCES person (id) ON UPDATE RESTRICT ON DELETE RESTRICT;发布于 2020-06-15 17:30:56
有人刚刚给我展示了一个更简单的方法。
https://stackoverflow.com/questions/18050857
复制相似问题