php - 用于数据库设置脚本的 SQL 或 sql/PHP

标签 php mysql sql

我不确定这是一个很好的“SO”风格问题,但不知道还能问哪里。

我正在开发一个小项目,并且正在使用一定量的预先确定的数据设置数据库。

这些数据需要一定量的“预处理”才能将数据放入数据库并使数据库处于合理的状态(试图达到第三范式)。

TLDR:我可以使用哪些参数将所有这些保留在纯 SQL 中,而不是使用 PHP 附带的附加功能。

完整信息:

有一件事困扰着我,我可以用直接 SQL 来完成这项工作(我们在本例中使用 MySQL),并且我开发了许多相当不错的小脚本来提取、排序和清理内容向上。这得到了同事们的高度认可。

我自己想知道,但是在某些方面我是否会更好地通过 php 运行一些清理工作,因为它会使代码不那么“冗长”~可以很容易地滑入例如在 php 中循环。

我可以想到为什么将设置保留在纯 SQL 中会更好的多种原因。例如,允许数据库移动到另一台机器并做好准备,而另一台机器不需要有 php 解释器,或者需要连接到有 php 解释器的系统。

但是我正在努力想出任何其他好的论据,我确信这个问题将会出现,并且希望在出现时准备好致命的论据。

感谢您的意见。

大卫

最佳答案

如果不知道项目的细节、以后可能会参与该项目的人以及他们的技能是什么,就很难说。需要记住的一件事是您将来可能会更改数据库。如果是这样,那么我会用 PHP 编写所有内容,并让框架处理将其转换为适合您数据库的 SQL。

如果编程语言更可能发生变化,那么就坚持使用 SQL 脚本。如果您要使用持续集成引擎运行脚本,那么 SQL 还是 PHP 哪个更容易实现?

如果您需要对 SQL 脚本进行某种版本控制,那么在 PHP 中可能比直接使用 SQL 更容易完成,但我从未尝试过后者。

关于php - 用于数据库设置脚本的 SQL 或 sql/PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33596823/

相关文章:

php - Laravel 中 morphs 列类型有什么用?

mysql - 用户 'root' @'%' 访问数据库 'information_schema' 被拒绝

sql查询需要包含银行假期

mysql - 如何从两个表中选择数据,其中一个表包含多个带有ID的列

javascript - 加载 JQuery 后网页内容不显示

php - 使用 PHP 动态更改 arduino yun 上的 httpd SSH 端口

php - PDO 没有连接到远程 mysql 数据库

SQL - OleDbCommand 不更改 Sql 参数

javascript - 如何在 JS 和 PHP API 之间设置 session token ?

php - 如何从 MySQL 表中删除重复项?