ImplementationINSERT INTO

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

INSERT INTO

The INSERT INTO statement is used to add a record to a table.

The original table called 'Pupil' contains the following records:

PupilIDFirst NameSurnameClassPastoral Care TeacherMerit Points
0001NisaSingh1T1Mr Harley74
0002DavieBoland1I2Mrs Aitken12
0003AmyJones1M1Miss Armstrong55
0004JamesMcNamee1T1Mr Harley88
0005PawelMcTavish1I1Mrs Aitken19
0006AntoniaGallagher1M2Miss Armstrong21
0007AmyMcNamee1T1Mr Harley63
0008TabisoMatazinadze1T1Mr Harley45
0009BeatricePanner1T2Mr Harley77
0010TomGlacney1M1Miss Armstrong91
PupilID0001
First NameNisa
SurnameSingh
Class1T1
Pastoral Care TeacherMr Harley
Merit Points74
PupilID0002
First NameDavie
SurnameBoland
Class1I2
Pastoral Care TeacherMrs Aitken
Merit Points12
PupilID0003
First NameAmy
SurnameJones
Class1M1
Pastoral Care TeacherMiss Armstrong
Merit Points55
PupilID0004
First NameJames
SurnameMcNamee
Class1T1
Pastoral Care TeacherMr Harley
Merit Points88
PupilID0005
First NamePawel
SurnameMcTavish
Class1I1
Pastoral Care TeacherMrs Aitken
Merit Points19
PupilID0006
First NameAntonia
SurnameGallagher
Class1M2
Pastoral Care TeacherMiss Armstrong
Merit Points21
PupilID0007
First NameAmy
SurnameMcNamee
Class1T1
Pastoral Care TeacherMr Harley
Merit Points63
PupilID0008
First NameTabiso
SurnameMatazinadze
Class1T1
Pastoral Care TeacherMr Harley
Merit Points45
PupilID0009
First NameBeatrice
SurnamePanner
Class1T2
Pastoral Care TeacherMr Harley
Merit Points77
PupilID0010
First NameTom
SurnameGlacney
Class1M1
Pastoral Care TeacherMiss Armstrong
Merit Points91

To add a new record, the following SQL code could be used:

INSERT INTO Pupil
VALUES (0011, Frankie, Al-Robeye, 1M2, Miss Armstrong, 71)

This would return:

PupilIDFirst NameSurnameClassPastoral Care TeacherMerit Points
0001NisaSingh1T1Mr Harley74
0002DavieBoland1I2Mrs Aitken12
0003AmyJones1M1Miss Armstrong55
0004JamesMcNamee1T1Mr Harley88
0005PawelMcTavish1I1Mrs Aitken19
0006AntoniaGallagher1M2Miss Armstrong21
0007AmyMcNamee1T1Mr Harley63
0008TabisoMatazinadze1T1Mr Harley45
0009BeatricePanner1T2Mr Harley77
0010TomGlacney1M1Miss Armstrong91
0011FrankieAl-Robeye1M2Miss Armstrong71
PupilID0001
First NameNisa
SurnameSingh
Class1T1
Pastoral Care TeacherMr Harley
Merit Points74
PupilID0002
First NameDavie
SurnameBoland
Class1I2
Pastoral Care TeacherMrs Aitken
Merit Points12
PupilID0003
First NameAmy
SurnameJones
Class1M1
Pastoral Care TeacherMiss Armstrong
Merit Points55
PupilID0004
First NameJames
SurnameMcNamee
Class1T1
Pastoral Care TeacherMr Harley
Merit Points88
PupilID0005
First NamePawel
SurnameMcTavish
Class1I1
Pastoral Care TeacherMrs Aitken
Merit Points19
PupilID0006
First NameAntonia
SurnameGallagher
Class1M2
Pastoral Care TeacherMiss Armstrong
Merit Points21
PupilID0007
First NameAmy
SurnameMcNamee
Class1T1
Pastoral Care TeacherMr Harley
Merit Points63
PupilID0008
First NameTabiso
SurnameMatazinadze
Class1T1
Pastoral Care TeacherMr Harley
Merit Points45
PupilID0009
First NameBeatrice
SurnamePanner
Class1T2
Pastoral Care TeacherMr Harley
Merit Points77
PupilID0010
First NameTom
SurnameGlacney
Class1M1
Pastoral Care TeacherMiss Armstrong
Merit Points91
PupilID0011
First NameFrankie
SurnameAl-Robeye
Class1M2
Pastoral Care TeacherMiss Armstrong
Merit Points71

Be careful!

If you are only adding data to specific columns/fields, you must specify the column name.

For example, if you were only adding the Pastoral Care Teacher and Merit Points, the SQL would be:

INSERT INTO Pupil (Pastoral Care Teacher, Merit Points)
VALUES (Miss Armstrong, 71);

Some database packages generate values automatically.

In this example the pupilID column may be an ‘autonumber’ field. If this is the case, you do not need to specify a value for the PupilID column.