Oracle SQL Developer中如何找回历史CREATE TABLE建表语句?
找回建表语句的实用方法
- 从现有表反向生成:这是最直接的方案,无需依赖历史记录,针对不同数据库执行对应命令即可:
- MySQL:执行
SHOW CREATE TABLE 你的表名;,会返回包含自增/序列字段定义的完整建表语句 - PostgreSQL:命令行执行
pg_dump -s -t 你的表名 数据库名,或在客户端执行SELECT pg_get_create_table('你的表名');;若有独立序列,可额外执行SELECT pg_get_serial_sequence('你的表名', '序列字段名');获取序列信息 - Oracle:执行
SELECT DBMS_METADATA.GET_DDL('TABLE', '你的表名') FROM DUAL;,若关联了独立序列,再执行SELECT DBMS_METADATA.GET_DDL('SEQUENCE', '序列名') FROM DUAL;
- MySQL:执行
- 检查GUI工具本地缓存:如果用的是Navicat、DataGrip这类客户端,除了SQL History,还可以查看工具的本地日志文件,或是自动保存的查询草稿(比如DataGrip的Local History功能)
- 联系公司DBA:如果以上方法都走不通,直接找公司DBA索要对应表的DDL脚本,他们通常会定期备份或维护所有生产环境表的结构定义
内容的提问来源于stack exchange,提问作者VSM
相关产品推荐
相关产品推荐

