UPDATE
The UPDATE statement will allow a database developer to update the records held in a table.
Usually, the UPDATE statement is used with a WHERE clause.
The WHERE clause identifies the specific records that are to be updated. If the WHERE clause is not used, all values in a column will be updated.
At the start of a new academic year, the merit points are to be reset to zero. The following SQL code could be used to perform this update.
UPDATE PupilSET Merit Points = 0;This would return:
| PupilID | First Name | Surname | Class | Pastoral Care Teacher | Merit Points |
| 0001 | Nisa | Singh | 1T1 | Mr Harley | 0 |
| 0002 | Davie | Boland | 1I2 | Mrs Aitken | 0 |
| 0003 | Amy | Jones | 1M1 | Miss Armstrong | 0 |
| 0004 | James | McNamee | 1T1 | Mr Harley | 0 |
| 0005 | Pawel | McTavish | 1I1 | Mrs Aitken | 0 |
| 0006 | Antonia | Gallagher | 1M2 | Miss Armstrong | 0 |
| 0007 | Amy | McNamee | 1T1 | Mr Harley | 0 |
| 0008 | Tabiso | Matazinadze | 1T1 | Mr Harley | 0 |
| 0009 | Beatrice | Panner | 1T2 | Mr Harley | 0 |
| 0010 | Tom | Glacney | 1M1 | Miss Armstrong | 0 |
| 0011 | Frankie | Al-Robeye | 1M2 | Miss Armstrong | 0 |
| PupilID | 0001 |
|---|---|
| First Name | Nisa |
| Surname | Singh |
| Class | 1T1 |
| Pastoral Care Teacher | Mr Harley |
| Merit Points | 0 |
| PupilID | 0002 |
|---|---|
| First Name | Davie |
| Surname | Boland |
| Class | 1I2 |
| Pastoral Care Teacher | Mrs Aitken |
| Merit Points | 0 |
| PupilID | 0003 |
|---|---|
| First Name | Amy |
| Surname | Jones |
| Class | 1M1 |
| Pastoral Care Teacher | Miss Armstrong |
| Merit Points | 0 |
| PupilID | 0004 |
|---|---|
| First Name | James |
| Surname | McNamee |
| Class | 1T1 |
| Pastoral Care Teacher | Mr Harley |
| Merit Points | 0 |
| PupilID | 0005 |
|---|---|
| First Name | Pawel |
| Surname | McTavish |
| Class | 1I1 |
| Pastoral Care Teacher | Mrs Aitken |
| Merit Points | 0 |
| PupilID | 0006 |
|---|---|
| First Name | Antonia |
| Surname | Gallagher |
| Class | 1M2 |
| Pastoral Care Teacher | Miss Armstrong |
| Merit Points | 0 |
| PupilID | 0007 |
|---|---|
| First Name | Amy |
| Surname | McNamee |
| Class | 1T1 |
| Pastoral Care Teacher | Mr Harley |
| Merit Points | 0 |
| PupilID | 0008 |
|---|---|
| First Name | Tabiso |
| Surname | Matazinadze |
| Class | 1T1 |
| Pastoral Care Teacher | Mr Harley |
| Merit Points | 0 |
| PupilID | 0009 |
|---|---|
| First Name | Beatrice |
| Surname | Panner |
| Class | 1T2 |
| Pastoral Care Teacher | Mr Harley |
| Merit Points | 0 |
| PupilID | 0010 |
|---|---|
| First Name | Tom |
| Surname | Glacney |
| Class | 1M1 |
| Pastoral Care Teacher | Miss Armstrong |
| Merit Points | 0 |
| PupilID | 0011 |
|---|---|
| First Name | Frankie |
| Surname | Al-Robeye |
| Class | 1M2 |
| Pastoral Care Teacher | Miss Armstrong |
| Merit Points | 0 |
While it is useful to be able to apply an update to all records, it is more common to apply updates to only some of the records held in the table.
If Miss Armstrong moved to another school and a new teacher, Mr Gilchrist took over her role as Pastoral Care Teacher, the table could be updated using the following SQL.
UPDATE PupilSET Pastrol Care Teacher = ‘Mr Gilchrist’WHERE Pastoral Care Teacher = ‘Miss Armstrong’;This would return (presuming that the previous updates also still apply):
| PupilID | First Name | Surname | Class | Pastoral Care Teacher | Merit Points |
| 0001 | Nisa | Singh | 1T1 | Mr Harley | 0 |
| 0002 | Davie | Boland | 1I2 | Mrs Aitken | 0 |
| 0003 | Amy | Jones | 1M1 | Mr Gilchrist | 0 |
| 0004 | James | McNamee | 1T1 | Mr Harley | 0 |
| 0005 | Pawel | McTavish | 1I1 | Mrs Aitken | 0 |
| 0006 | Antonia | Gallagher | 1M2 | Mr Gilchrist | 0 |
| 0007 | Amy | McNamee | 1T1 | Mr Harley | 0 |
| 0008 | Tabiso | Matazinadze | 1T1 | Mr Harley | 0 |
| 0009 | Beatrice | Panner | 1T2 | Mr Harley | 0 |
| 0010 | Tom | Glacney | 1M1 | Mr Gilchrist | 0 |
| 0011 | Frankie | Al-Robeye | 1M2 | Mr Gilchrist | 0 |
| PupilID | 0001 |
|---|---|
| First Name | Nisa |
| Surname | Singh |
| Class | 1T1 |
| Pastoral Care Teacher | Mr Harley |
| Merit Points | 0 |
| PupilID | 0002 |
|---|---|
| First Name | Davie |
| Surname | Boland |
| Class | 1I2 |
| Pastoral Care Teacher | Mrs Aitken |
| Merit Points | 0 |
| PupilID | 0003 |
|---|---|
| First Name | Amy |
| Surname | Jones |
| Class | 1M1 |
| Pastoral Care Teacher | Mr Gilchrist |
| Merit Points | 0 |
| PupilID | 0004 |
|---|---|
| First Name | James |
| Surname | McNamee |
| Class | 1T1 |
| Pastoral Care Teacher | Mr Harley |
| Merit Points | 0 |
| PupilID | 0005 |
|---|---|
| First Name | Pawel |
| Surname | McTavish |
| Class | 1I1 |
| Pastoral Care Teacher | Mrs Aitken |
| Merit Points | 0 |
| PupilID | 0006 |
|---|---|
| First Name | Antonia |
| Surname | Gallagher |
| Class | 1M2 |
| Pastoral Care Teacher | Mr Gilchrist |
| Merit Points | 0 |
| PupilID | 0007 |
|---|---|
| First Name | Amy |
| Surname | McNamee |
| Class | 1T1 |
| Pastoral Care Teacher | Mr Harley |
| Merit Points | 0 |
| PupilID | 0008 |
|---|---|
| First Name | Tabiso |
| Surname | Matazinadze |
| Class | 1T1 |
| Pastoral Care Teacher | Mr Harley |
| Merit Points | 0 |
| PupilID | 0009 |
|---|---|
| First Name | Beatrice |
| Surname | Panner |
| Class | 1T2 |
| Pastoral Care Teacher | Mr Harley |
| Merit Points | 0 |
| PupilID | 0010 |
|---|---|
| First Name | Tom |
| Surname | Glacney |
| Class | 1M1 |
| Pastoral Care Teacher | Mr Gilchrist |
| Merit Points | 0 |
| PupilID | 0011 |
|---|---|
| First Name | Frankie |
| Surname | Al-Robeye |
| Class | 1M2 |
| Pastoral Care Teacher | Mr Gilchrist |
| Merit Points | 0 |