Select 是 DML 还是 DDL?

Is Select a DML or DDL?

我正在查看 DML SQL 语句。 Select 正如他们所说,是一个 SQL 数据语句,这些也称为 DML。

大多数文章都在下面解释它,例如: 如果 select 如下使用,则它被归类为 DML

Select COl1, COl2 
into Table2 #this -- part will create a table named
                  -- as table2 with column col1 and col2
from Table1;      -- 3 columns will be copied from table1 to table2

1) 有人可以解释查询中到底发生了什么吗

Select COL1, Col2
into TABLE2
from TABLE1;

2) 这是一个 DML 语句吗?

3) SQL 数据语句和 DML 之间有什么区别还是两者相同? http://www.firstsql.com/tutor1.htm

  1. 正在插入从 TABLE1 到 TABLE2
  2. 中选择的数据
  3. 数据操作
  4. 从外观上看它们是一样的

编辑: 同样要回答问题标题,SELECT 不是 DDL(数据定义语言)。 DDL 语句修改数据库布局,如 CREATE TABLE。 DML语句是查询数据,如SELECT;或修改数据,如 INSERT.

另一个编辑: mysql 似乎不完全支持 SELECT INTO。即使答案对一般 SQL 仍然有效。对我来说,SELECT INTO 的 table 创作方面是副作用。因此它仍然是一个 DML。

我认为您可以正确地将其视为完成数据操作(选择和插入)和定义(table 创建)的混合体。我认为您不会在标准语言中找到 SELECT...INTO,这是您可能无法在此处严格区分 DML 和 DDL 的原因之一。