举例说明在SQL中,DELETE语句与DROP TABLE的区别
区别一、语法不同:
1、DROP TABLE语法
DROP TABLE table_name
2、DELETE语法
DELETE FROM 表名称 WHERE 列名称 = 值
区别二、参数不同
1、table_name;是要删除的表名。
2、DELETE ;用于删除表中的行。
区别三、注释不同
1、DROP TABLE不能用于除去由FOREIGN KEY约束引用的表。必须先除去引用的FOREIGN KEY约束或引用的表。
表所有者可以除去任何数据库内的表。除去表时,表上的规则或默认值将解除绑定,任何与表关联的约束或触发器将自动除去。如果重新创建表,必须重新绑定适当的规则和默认值,重新创建任何触发器并添加必要的约束。
在系统表上不能使用DROP TABLE语句。
如果删除表内的所有行(DELETE tablename)或使用TRUNCATE TABLE语句,则表将一直存在到被除去。
2、DELETE删除所有行;可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:
DELETE FROM table_name或者:DELETE * FROM table_name。
区别四、使用用法不同
1、drop主要用于删除结构
例如删除数据库:dropdatabaseXX,删除表droptableXX。字段也是结构的一种,也可以使用drop了;对的,但是改变了表结构要先alter方法。例如,要删除student表上的age字段的信息,可以这样写:altertablestudentdropage
2、delete主要用于删除数据
举个例子,要删除student表上名字为‘张三’的所有信息:delete*fromstudentwherename=‘张三’。这种情况下用delete,由此可见delete常用于删除数据。
2024-11-19 广告
一、语法上的差异:
1.DROPTABLE语法:删除表table_name。
DELETE语法:删除语法,从表名中删除列名=值。
二、参数的不同
1、table_name:要删除的表的名称。
2、DELETE:删除用于从表中删除行。
三、注释不同
1.删除表不能用于删除外键约束引用的表。必须首先删除引用的外键约束或引用的表。
表所有者可以从任何数据库中删除表。当删除表时,表上的规则或默认值将被解除绑定,与表相关的任何约束或触发器将被自动删除。如果重新创建表,则必须重新绑定适当的规则和默认值,重新创建任何触发器,并添加必要的约束。
删除表语句不能用于系统表。
如果删除表中的所有行(删除tablename)或使用TRUNCATETABLE语句,那么该表将一直存在,直到删除为止。
2.DELETE删除所有行;您可以删除所有行而不删除表。这意味着表的结构、属性和索引是完整的:
从table_name中删除或:从table_name中删除*。
四、使用用途不同
1.table_name主要用于删除结构
例如,删除数据库:dropdatabaseXX,删除表droptableXX。字段也是一种结构,也可以用drop;是的,但是在更改表结构之前必须更改方法。例如,要删除student表上关于年龄字段的信息,可以编写altertablestudentdropage
2.Delete主要用于删除数据
例如,删除student表中名为'zhangSAN'的所有信息:delete*fromstudentwherename='zhangSAN'。在这种情况下使用Delete,所以Delete通常用于删除数据。
同样,还有一个TRUNCATE TABLE TABLENAME语句,是全表不提交删除,也是删除数据,表仍然存在。
DROP TABLE,是从数据库中删除表。删除后,表结构不在存在,无法再对该表进行任何操作。
举个通俗的例子,比如你有一个水桶,桶里装着水。
而DELETE或者TRUNCATE,只是相当于把水倒掉,而桶仍然存在。
而DROP TABLE,则相当于把桶都扔掉了。
例如:delete from 表1
执行后,表1的记录全部被删除,你执行select * from 表1 看到的是一个空表
而drop table 表1
执行后,表1就不存在了 ,你执行select * from 表1 提示是:对象名 '表1' 无效。