【发布时间】:2012-09-10 20:26:27
【问题描述】:
我正在尝试查找有关 MySQL、PostgreSQL、SQLite 等开源数据库的正确 RDBMS SQL queries 的信息。他们是否有任何预先组装的列表,或者我只需要梳理每个数据库引擎的文档(在某些情况下猜测正确的实现?ALTER TABLE vs CREATE INDEX)
例如,到目前为止,我有这个 MySQL 的(部分)列表:
CREATE TABLE `%s` (...);
DROP TABLE IF EXISTS `%s` %s;
ALTER TABLE `%s` RENAME TO `%s`;
ALTER TABLE `%s` ADD COLUMN %s;
ALTER TABLE `%s` DROP COLUMN `%s` %s;
ALTER TABLE `%s` RENAME COLUMN `%s` to `%s`;
ALTER TABLE `%s` ADD CONSTRAINT `%s` FOREIGN KEY (`%s`) REFERENCES `%s` (`%s`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `%s` ADD CONSTRAINT `%s` UNIQUE (`%s`);
ALTER TABLE `%s` DROP CONSTRAINT `%s` %s;
CREATE INDEX `%s` USING BTREE ON `%s` (`%s`);
DROP INDEX IF EXISTS `%s` %s;
【问题讨论】:
-
“1992 年 7 月”,你确定吗?那是 20 年前的 SQL。
-
@FrankHeikens,ANSI-92 仍在广泛使用并涵盖了这个问题,但我不介意使用其他标准,如 ANSI-99 甚至更新的标准。
-
您是在寻找备忘单,还是在尝试实现 DDL 生成工具或其他?
-
我有兴趣尝试实现一个 DDL 生成工具
-
网上有一些不错的网站,总结了各种数据库系统之间的差异。该主题与this one 非常相似。我建议你看看那里。
标签: mysql postgresql relational-database database-schema ansi-92