在SQL中,删除数据通常使用`DELETE`语句,它用于从表中删除满足特定条件的行。以下是`DELETE`语句的基本语法和用法:
单表删除
```sql
DELETE FROM 表名 WHERE 列名 = 值;
```
例如,删除`student`表中姓名为`张三丰`的学生信息:
```sql
DELETE FROM student WHERE name = '张三丰';
```
多表删除
SQL92语法
```sql
DELETE 表1别名, 表2别名
FROM 表1 别名
INNER JOIN 表2 别名 ON 连接条件
WHERE 筛选条件;
```
SQL99语法
```sql
DELETE 表1的别名, 表2的别名
FROM 表1 别名
INNER | LEFT | RIGHT JOIN 表2 别名 ON 连接条件
WHERE 筛选条件;
```
清空表中的数据
```sql
TRUNCATE TABLE 表名;
```
此操作会删除表中的所有数据,但保留表的结构。
注意事项
如果使用表别名,在`DELETE`关键字后需要加上表的别名,否则会报错。
`DELETE`语句执行删除的过程是每次从表中删除一行,并将该行的删除操作记录在事务日志中。
`TRUNCATE`操作比`DELETE`更快,因为它不记录每行的删除操作在事务日志中。
`DROP`语句会删除整个表及其定义,释放空间,之后无法再向表中添加数据,除非重新创建表。
请根据您的具体需求选择合适的删除方法。