2

PHPスクリプトで実行されるクエリの種類を知ることができるかどうか疑問に思っています。 DMLまたはDDLステートメントそれを知ることができます..phpを使用して..正規表現なし

以下は私が実行したクエリです

$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 ステートメントの 1 つであるかどうかを診断するか、これらのキーワードを最初の非コメントとしてスキャンすることができます。声明中の言葉。これにより、実際のケースの大部分がカバーされます。単一の文字列に複数のステートメント (おそらく異なるタイプ) が含まれている場合は、自分で決定する必要があります。とにかく、すべての DBMS がそれを許可しているわけではありません。

または正規表現を使用します。

于 2013-07-17T07:35:58.143 に答える