The INSERT Statement adds one or more rows to a table. It has two formats:
INSERT INTO table-1 [(column-list)] VALUES (value-list)
and,
INSERT INTO table-1 [(column-list)] (query-specification)
The first form inserts a single row into
table-1 and explicitly specifies the column values for the row. The second form uses the result of
query-specification to insert one or more rows into
table-1. The result rows from the query are the rows added to the insert table. Note: the query cannot reference
table-1.
Both forms have an optional column-list specification. Only the columns listed will be assigned values. Unlisted columns are set to null, so unlisted columns must allow nulls. The values from the VALUES Clause (first form) or the columns from the query-specification rows (second form) are assigned to the corresponding column in column-list in order.
If the optional column-list is missing, the default column list is substituted. The default column list contains all columns in table-1 in the order they were declared in CREATE TABLE, or CREATE VIEW.
The VALUES Clause in the INSERT Statement provides a set of values to place in the columns of a new row. It has the following general format:
VALUES ( value-1 [, value-2] ... )
value-1 and
value-2 are Literal Values or Scalar Expressions involving literals. They can also specify NULL.
The values list in the VALUES clause must match the explicit or implicit column list for INSERT in degree (number of items). They must also match the data type of corresponding column or be convertible to that data type.
INSERT Examples
INSERT INTO p (pno, color) VALUES ('P4', 'Brown')
Before |
| After |
pno | descr | color | P1 | Widget | Blue | P2 | Widget | Red | P3 | Dongle | Green | | => | pno | descr | color | P1 | Widget | Blue | P2 | Widget | Red | P3 | Dongle | Green | P4 | NULL | Brown | |
INSERT INTO sp
SELECT s.sno, p.pno, 500
FROM s, p
WHERE p.color='Green' AND s.city='London'
Before |
| After |
sno | pno | qty | S1 | P1 | NULL | S2 | P1 | 200 | S3 | P1 | 1000 | S3 | P2 | 200 | | => | sno | pno | qty | S1 | P1 | NULL | S2 | P1 | 200 | S3 | P1 | 1000 | S3 | P2 | 200 | S2 | P3 | 500 | |
The UPDATE statement modifies columns in selected table rows. It has the following general format:
UPDATE table-1 SET set-list [WHERE predicate]
The optional WHERE Clause has the same format as in the SELECT Statement. See
WHERE Clause. The WHERE clause chooses which table rows to update. If it is missing, all rows are in
table-1 are updated.
The set-list contains assignments of new values for selected columns. See SET Clause.
The SET Clause expressions and WHERE Clause predicate can contain subqueries, but the subqueries cannot reference table-1. This prevents situations where results are dependent on the order of processing.
The SET Clause in the UPDATE Statement updates (assigns new value to) columns in the selected table rows. It has the following general format:
SET column-1 = value-1 [, column-2 = value-2] ...
column-1 and
column-2 are columns in the
Update table.
value-1 and
value-2 are expressions that can reference columns from the
update table. They also can be the keyword --
NULL, to set the column to
null.
Since the assignment expressions can reference columns from the current row, the expressions are evaluated first. After the values of all Set expressions have been computed, they are then assigned to the referenced columns. This avoids results dependent on the order of processing.
UPDATE Examples
UPDATE sp SET qty = qty + 20
Before |
| After |
sno | pno | qty | S1 | P1 | NULL | S2 | P1 | 200 | S3 | P1 | 1000 | S3 | P2 | 200 | | => | sno | pno | qty | S1 | P1 | NULL | S2 | P1 | 220 | S3 | P1 | 1020 | S3 | P2 | 220 | |
UPDATE s
SET name = 'Tony', city = 'Milan'
WHERE sno = 'S3'
Before |
| After |
sno | name | city | S1 | Pierre | Paris | S2 | John | London | S3 | Mario | Rome | | => | sno | name | city | S1 | Pierre | Paris | S2 | John | London | S3 | Tony | Milan | |
The DELETE Statement removes selected rows from a table. It has the following general format:
DELETE FROM table-1 [WHERE predicate]
The optional WHERE Clause has the same format as in the SELECT Statement.
The WHERE clause chooses which table rows to delete. If it is missing, all rows are in
table-1 are removed.
The WHERE Clause predicate can contain subqueries, but the subqueries cannot reference table-1. This prevents situations where results are dependent on the order of processing.
DELETE Examples
DELETE FROM sp WHERE pno = 'P1'
Before |
| After |
sno | pno | qty | S1 | P1 | NULL | S2 | P1 | 200 | S3 | P1 | 1000 | S3 | P2 | 200 | | => | |
DELETE FROM p WHERE pno NOT IN (SELECT pno FROM sp)
Before |
| After |
pno | descr | color | P1 | Widget | Blue | P2 | Widget | Red | P3 | Dongle | Green | | => | pno | descr | color | P1 | Widget | Blue | P2 | Widget | Red | |
fuente: http://www.firstsql.com/
No hay comentarios.:
Publicar un comentario