
在SQL数据库中删除记录一般使用Delete语句,下面就将为您介绍SQL中用于删除记录的DELETE语句的语法,供您参考,希望对您能够有所帮助。
Delete语句是用来从表中删除记录或者行,其语句格式为:
delete from “tablename”
where “columnname” OPERATOR “value” [and|or “column” OPERATOR “value”];
[ ] = optional
下面还是举个例子:
delete from employee;
这条语句没有where语句,所以它将删除所有的记录,因此如果没有使用where的时候,要千万小心。
如果你只要删除其中一行或者几行,可以参考以下的语句:
delete from employee
where lastname = ‘May’;
这条语句是从emplyee表中删除lastname为’May’的行。
delete from employee
where firstname = ‘Mike’ or firstname = ‘Eric’;
这条语句是从emplyee表中删除firstname为’Mike’或者’Eric’的行。
为了从表中删除一个完整的记录或者行,就直接在”delete from”后面加上表的名字,并且利用where指明符合什么条件的行要删除即可。如果你没有使用where子句,那么表中的所有记录或者行将被删除。
【编辑推荐】
教您如何彻底删除SQL Server注册表
SQL中游标的语法及应用
自动生成INSERT语句的SQL存储过程
SQL语句中的SELECT DISTINCT
SQL Insert语句生成器简介
如何使用一条sql语句删除多张表中的数据
delete t三 where t三.B列 in ( select B列 from t二 inner join t一 on t二.A列=t一.A列 ); delete t二 where t二.A列 in ( select A列 from t一 ) 说明两sql语句间加号执行点击sql server 菜单新建查询弹新窗口运行述语句普通sql语句删除两表做与sql server 内机制
用SQL语句删除一行或一列
一行:DELETE FROM 表名 WHERE 条件一列:属于修改表结构了,一般在编程中比较忌讳这个,具体方法如下:ALTER TABLE 表名 DROP 新列名
关于SQL删除语句TRUNCATE和DELETE
truncate操作同没有where条件的delete操作十分相似。 1、无论truncate大表还是小表速度都非常快。 delete要产生回滚信息来满足回滚需求,而truncate是不产生的。 2、truncate是DDL语句进行隐式提交,不能进行回滚操作。 3、truncate重新设定表和索引的HWM(高水标记),由于全表扫描和索引快速扫描都要读取所有的数据块知道HWM为止。 所以全表扫描的性能不会因为delete而提高,但是经过truncate操作后速度会很快。 4、truncate不触发任何delete触发器。 5、不能赋给某个用户truncate其它用户表的权限。 如果需要trucate其它用户表的权限必须对该用户赋DROP ANY TABLE权限。 6、当表被truncate后,这个表和索引所占用的空间会恢复到初始大小,而delete操作不会减少表或索引所占用的空间。 7、不能truncate一个带有外键的表,如果要删除首先要取消外键,然后再删除。 TRUNCATE和DELETE有以下几点区别
1、TRUNCATE在各种表上无论是大的还是小的都非常快。 如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。
2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。
3、TRUNCATE将重新设置高水平线和所有的索引。 在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。
4、TRUNCATE不能触发任何DELETE触发器。
5、不能授予任何人清空他人的表的权限。
6、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。
7、不能清空父表。 TRUNCATE TABLE (schema)table_name DROP(REUSE) STORAGE 在默认是 DROP STORAGE 当使用DROP STORAGE时将缩短表和表索引,将表收缩到最小范围,并重新设置NEXT参数。 REUSE STORAGE不会缩短表或者调整NEXT参数在特殊情况下使用 REUSE STDELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的的删除操作作为事务记录在日志中保存以便进行进行回滚操作。 TRUNCATE TABLE 则一次性地从表中删除所有的数据页并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。 并且在删除的过程中不会激活与表有关的删除触发器。 执行速度快。
baidu上已经很详细了,不明白你要知道更多什么?在什么情况下使用?
发表评论