ddl是什么意思(ddl和dml的区别)

说实话,刚接手系统维护的时候,我对DDL和DML的概念很困惑。
你总结得很好,但我还是用我自己的话来说吧,这样可能更切合实际。

以我之前负责的一个电商后台系统为例。
有一次,老板临时要求增加一个产品评价字段,这个工作就不得不使用DDL。
当时我直接输入ALTER TABLE products ADD COLUMN review TEXT; SQL中,点击一下,表结构中多了一个字段。
What’s interesting is that I have done this operation in front-end and back-end development, but I know clearly that if there is a typo, such as adding DELETE COLUMN, the entire table may collapse. 这就是DDL,它处理数据库的骨架,任何改变都可能是破坏性的。

再看看DML。
比如我们月底结算的时候,需要统计某个品类的销售额。
这时候我们就不得不使用DML了。
我通常会写 SELECT SUM(price) FROMordersWHEREcate=' electronics'; 。
查到的数字会改变,但表结构不会改变。
当时有个实习生把DELETE写成了SELECT,结果只看到数据少了,这让他震惊了。
He asked me why the data changed, and I told him: "Think about it, DML is dealing with the meat in the database. How you operate the meat will change it, but the pot is still there."
In the end, DDL is to build the framework, and DML is to fill in things. 如果你考虑建造一座房子,DDL意味着拉动钢筋并建造墙壁,而DML意味着在房间里放置沙发并购买家具。
如果你把沙发移开,墙还在; 但如果把墙拆了,沙发肯定会受到影响。

我记得数据在X左右,但我建议你验证一下。
无论如何,在过去的十年里我运行过各种各样的项目。
DDL和DML的分水岭可以记为“修改骨架”和“动肉身”。

SQL语句有哪几种类型,各类型的主要作用是什么?

哦,我对这方面了解很多。
你是对的。
This is how I understood it when I first encountered databases.
私が最初に会社に入社したとき、おそらく 2 01 5 年だったと记忆していますが、当社のデータベーsuは SQL Server でした。
young man who had just learned SQL.彼は、INSERT suteートメントが実行されるとデータベース内のデータが失われる场合がある理由を理解できませんでした。
他当时很困惑,过来问我。
我对他说:“看,你写的 SQL 是 DELETE 语句,而不是 INSERT。
”他一拍头,意识到自己犯了一个错误。
As you know, INSERT adds data and DELETE removes data.这是清晰可见的。

また、おそらく 2 01 8 年に、データベースをアップグレードするプロジェクトがあり、古いテーブルを削除して新しいテーブルに置き换える必要がありました。
负责人也没有经验,直接写了DROP TABLE语句,跑过去,点击发送.なんと、データベース内のすべてのデータが失われ、プロジェクト全体がシャャダウンされてしまいました。
说完,我赶紧恢复了 it using BACKUP, and it turned out to be a prickly scene.应谨慎使用 DROP 命令。
这不是玩笑。

关于你指出的DDL,CREATE、ALTER、DROP也经常被使用。
例如,如果要创建新表,则必须使用 CREATE TABLE。
这些操作必须在 ALTER 语句中明确说明,不得有任何歧义。

我对DCL了解不多,就不讲了废话。
とにかく、主に谁に権限を与え、谁の権限を取り消すかなど、権限を制御するために使用されることがわかりました。
这些操作需要使用 GRANT 和 REVOKE 等命令。

关于 SQL Server 的功能,您也说了同样的话。
当时私たちは SQL Server を使用していましたが、その最大の利点は Windows shisutemuとよく统合されており、insutoruto构成が简単であることだと感じました。
さらに、そのグラfiィカル这可能会导致您陷入困境。

しかし、SQL Serverについてどう思うかと问われれば、それは良いことだと思いますが、落とし穴でもあると思います。
如果使用得当的话,是有效率的。
如果使用不正确,很容易出现问题。
因此,你需要学好并运用好它。