2

我想知道我们是否可以知道.. 在 php 脚本中执行什么类型的查询。 DMLDDL声明可以知道.. 使用 php.. 没有 Regex

下面是我执行的查询

$queryOne = "SELECT * FROM employees";

// using php script
$queryOne is DML


$queryTwo = "DROP table employees";

//using php script
$queryTwo is DDL
4

1 回答 1

2

传统上,DML 语句是:

SELECT
INSERT
DELETE
UPDATE
MERGE (newcomer on the block)

根据某些定义集,其他任何东西都是 DDL。

一些“其他语句”更像是“会话控制”语句;不是真正的 DML,也不是真正的 DDL。

如果您希望检测这些语句,您可以准备(和描述)语句并查看返回的信息以诊断它是否是上面列出的 DML 语句之一,或者您可以扫描这些关键字作为第一个非注释声明中的话。这涵盖了绝大多数实际案例。如果您有一个包含多个语句(可能是不同类型)的单个字符串,那么您必须自己做出决定。无论如何,并非所有 DBMS 都允许这样做。

或使用正则表达式。

于 2013-07-17T07:35:58.143 回答