ImplementationUPDATE

Structured Query Language is used to allow database developers to generate queries and interrogate the data held in a database. SELECT, FROM, WHERE, AND and OR are key areas of SQL.

Part ofComputing ScienceDatabase design and development

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 Pupil
SET Merit Points = 0;

This would return:

PupilIDFirst NameSurnameClassPastoral Care TeacherMerit Points
0001NisaSingh1T1Mr Harley0
0002DavieBoland1I2Mrs Aitken0
0003AmyJones1M1Miss Armstrong0
0004JamesMcNamee1T1Mr Harley0
0005PawelMcTavish1I1Mrs Aitken0
0006AntoniaGallagher1M2Miss Armstrong0
0007AmyMcNamee1T1Mr Harley0
0008TabisoMatazinadze1T1Mr Harley0
0009BeatricePanner1T2Mr Harley0
0010TomGlacney1M1Miss Armstrong0
0011FrankieAl-Robeye1M2Miss Armstrong0
PupilID0001
First NameNisa
SurnameSingh
Class1T1
Pastoral Care TeacherMr Harley
Merit Points0
PupilID0002
First NameDavie
SurnameBoland
Class1I2
Pastoral Care TeacherMrs Aitken
Merit Points0
PupilID0003
First NameAmy
SurnameJones
Class1M1
Pastoral Care TeacherMiss Armstrong
Merit Points0
PupilID0004
First NameJames
SurnameMcNamee
Class1T1
Pastoral Care TeacherMr Harley
Merit Points0
PupilID0005
First NamePawel
SurnameMcTavish
Class1I1
Pastoral Care TeacherMrs Aitken
Merit Points0
PupilID0006
First NameAntonia
SurnameGallagher
Class1M2
Pastoral Care TeacherMiss Armstrong
Merit Points0
PupilID0007
First NameAmy
SurnameMcNamee
Class1T1
Pastoral Care TeacherMr Harley
Merit Points0
PupilID0008
First NameTabiso
SurnameMatazinadze
Class1T1
Pastoral Care TeacherMr Harley
Merit Points0
PupilID0009
First NameBeatrice
SurnamePanner
Class1T2
Pastoral Care TeacherMr Harley
Merit Points0
PupilID0010
First NameTom
SurnameGlacney
Class1M1
Pastoral Care TeacherMiss Armstrong
Merit Points0
PupilID0011
First NameFrankie
SurnameAl-Robeye
Class1M2
Pastoral Care TeacherMiss Armstrong
Merit Points0

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 Pupil
SET Pastrol Care Teacher = ‘Mr Gilchrist’
WHERE Pastoral Care Teacher = ‘Miss Armstrong’;

This would return (presuming that the previous updates also still apply):

PupilIDFirst NameSurnameClassPastoral Care TeacherMerit Points
0001NisaSingh1T1Mr Harley0
0002DavieBoland1I2Mrs Aitken0
0003AmyJones1M1Mr Gilchrist0
0004JamesMcNamee1T1Mr Harley0
0005PawelMcTavish1I1Mrs Aitken0
0006AntoniaGallagher1M2Mr Gilchrist0
0007AmyMcNamee1T1Mr Harley0
0008TabisoMatazinadze1T1Mr Harley0
0009BeatricePanner1T2Mr Harley0
0010TomGlacney1M1Mr Gilchrist0
0011FrankieAl-Robeye1M2Mr Gilchrist0
PupilID0001
First NameNisa
SurnameSingh
Class1T1
Pastoral Care TeacherMr Harley
Merit Points0
PupilID0002
First NameDavie
SurnameBoland
Class1I2
Pastoral Care TeacherMrs Aitken
Merit Points0
PupilID0003
First NameAmy
SurnameJones
Class1M1
Pastoral Care TeacherMr Gilchrist
Merit Points0
PupilID0004
First NameJames
SurnameMcNamee
Class1T1
Pastoral Care TeacherMr Harley
Merit Points0
PupilID0005
First NamePawel
SurnameMcTavish
Class1I1
Pastoral Care TeacherMrs Aitken
Merit Points0
PupilID0006
First NameAntonia
SurnameGallagher
Class1M2
Pastoral Care TeacherMr Gilchrist
Merit Points0
PupilID0007
First NameAmy
SurnameMcNamee
Class1T1
Pastoral Care TeacherMr Harley
Merit Points0
PupilID0008
First NameTabiso
SurnameMatazinadze
Class1T1
Pastoral Care TeacherMr Harley
Merit Points0
PupilID0009
First NameBeatrice
SurnamePanner
Class1T2
Pastoral Care TeacherMr Harley
Merit Points0
PupilID0010
First NameTom
SurnameGlacney
Class1M1
Pastoral Care TeacherMr Gilchrist
Merit Points0
PupilID0011
First NameFrankie
SurnameAl-Robeye
Class1M2
Pastoral Care TeacherMr Gilchrist
Merit Points0