使用php而不使用Regex查找sql语句的类型


find type of sql statement using php and no Regex

我想知道如果我们能知道。。php脚本中执行的查询类型。DMLDDL语句可以知道。。使用php。。没有Regex

下面是我执行的查询

$queryOne = "SELECT * FROM employees";
// using php script
$queryOne is DML

$queryTwo = "DROP table employees";
//using php script
$queryTwo is DDL

传统上,DML语句是:

SELECT
INSERT
DELETE
UPDATE
MERGE (newcomer on the block)

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

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

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

或者使用regex。