Semantic usage of Insert and Update is wrong
From a semantic standpoint:
Insert should only be used to insert data into any empty or partially empty record(s).
Update should only be use to update (change) existing data.
Taking a 5 column table as an example:
Either
Insert into table (Column1,Column2,Column3) values (value1,value2,value3)
Or
Insert into table values (value1, value2, value3, value4, value5)
In the first example, a partial insert, multiple columns remain unpopulated.
As I stated above, semantically speaking, it makes sense to use insert to populate columns for the first time.
If column1 is Email:
Insert into tableName (column4, column5) values (value4,value5) where column1 = "EmailAddress"
Then
Update table tableName set columnName = "newValue" where Column1 = "EmailAddress"
Semantically correct, but unfortunately, not how SQL was designed or implemented.