Changing Table Information
Our
working knowledge of the SELECT command comes into
play with other commands as well. For instance, the
INSERT command we saw earlier
can also take a SELECT clause. This allows us to
insert query information into an existing table. If our software
department were to merge with IT, we could add their machines to the
itmachines table:
USE sysadm INSERT itmachines SELECT name,ipaddr FROM hosts WHERE dept = 'Software'
If we want to change any of the rows in our table, we can use the
UPDATE command. For example, if all of the
departments in the company moved into a single facility called
Central, we can change the name of the building in
all rows like so:
USE sysadm UPDATE hosts SET bldg = 'Central'
It’s more likely that we’ll need to change only certain
rows in a table. For that task, we use the handy
WHERE clause we saw when discussing the
SELECT operator:
USE sysadm UPDATE hosts SET dept = 'Development' WHERE dept = 'Software'
That changed the name of the Software department to Development. This moves the machine called bendir to our Main building:
USE sysadm UPDATE hosts SET bldg = 'Main' WHERE name = 'bendir'
If we wanted to remove a row or set of rows from a table instead of
updating them, we can use the DELETE command:
USE sysadm DELETE hosts WHERE bldg = 'East'
There’s no way to undo a straight DELETE
operation, so be careful.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access