必须会的SQL语句(四) 数据删除和更新

1. SQL数据删除

在实际的应用中,有时候我们需要删除表中的某些数据。SQL提供的DELETE语句可以帮助我们实现这个目的。

1.1 DELETE语句的基本用法

DELETE语句用于从表中删除数据。其基本语法如下:

DELETE FROM table_name WHERE condition;

其中,table_name为要删除数据的表名,condition则为删除数据的条件。

例如,我们有一个学生表student,其中包含以下数据:

| id  | name | age |

| --- | ---- | --- |

| 1 | Tom | 18 |

| 2 | Jack | 20 |

| 3 | Lucy | 19 |

如果我们要删除名字为Jack的学生记录,可以使用以下DELETE语句:

DELETE FROM student WHERE name = 'Jack';

执行后,表中的数据如下:

| id  | name | age |

| --- | ---- | --- |

| 1 | Tom | 18 |

| 3 | Lucy | 19 |

1.2 不带WHERE子句的DELETE语句

如果我们执行一个不带WHERE子句的DELETE语句,它会删除表中所有的记录。因此,在使用DELETE语句时一定要谨慎,确认要删除哪些数据。

2. SQL数据更新

除了删除数据外,我们有时候需要更新表中的数据。SQL提供了UPDATE语句来实现这个目的。

2.1 UPDATE语句的基本用法

UPDATE语句用于更新表中的数据。其基本语法如下:

UPDATE table_name SET column_name = new_value WHERE condition;

其中,table_name为要更新数据的表名,column_name为要更新的列名,new_value为新的值,condition为更新数据的条件。

例如,我们有一个学生成绩表score,其中包含以下数据:

| id  | name | math | english |

| --- | ---- | ---- | ------- |

| 1 | Tom | 80 | 90 |

| 2 | Jack | 70 | 80 |

| 3 | Lucy | 85 | 95 |

如果我们要把Tom的英语成绩改为85分,可以使用以下UPDATE语句:

UPDATE score SET english = 85 WHERE name = 'Tom';

执行后,表中的数据如下:

| id  | name | math | english |

| --- | ---- | ---- | ------- |

| 1 | Tom | 80 | 85 |

| 2 | Jack | 70 | 80 |

| 3 | Lucy | 85 | 95 |

2.2 更新多个列

如果我们需要更新多个列,可以在UPDATE语句中使用多个SET子句。例如,如果我们要把Tom的数学成绩改为90分,英语成绩改为85分,可以使用以下UPDATE语句:

UPDATE score SET math = 90, english = 85 WHERE name = 'Tom';

执行后,表中的数据如下:

| id  | name | math | english |

| --- | ---- | ---- | ------- |

| 1 | Tom | 90 | 85 |

| 2 | Jack | 70 | 80 |

| 3 | Lucy | 85 | 95 |

2.3 更新所有记录

如果我们想将表中所有的记录都更新,可以使用以下UPDATE语句:

UPDATE table_name SET column_name = new_value;

其中,table_name为要更新数据的表名,column_name为要更新的列名,new_value为新的值。

需要注意的是,在执行此更新语句时,一定要确认更新的数据是否正确。

数据库标签