Seth Woolley's Man Viewer

insert(7) - INSERT - create new rows in a table - man 7 insert

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

INSERT(7)                        SQL Commands                        INSERT(7)

       INSERT - create new rows in(1,8) a table

       INSERT INTO table [ ( column [, ...] ) ]
           { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) | query }

       INSERT  allows  one  to  insert new rows into a table. One can insert a
       single row at a time(1,2,n) or several rows as a result of a query.

       The columns in(1,8) the target list may be listed in(1,8) any order.  Each column
       not  present in(1,8) the target list will be inserted using a default value,
       either its declared default value or null.

       If the expression for each column is not  of  the  correct  data  type,
       automatic type conversion will be attempted.

       You  must  have INSERT privilege to a table in(1,8) order to insert into it.
       If you use the query clause to insert rows from a query, you also  need
       to have SELECT privilege on any table used in(1,8) the query.

       table  The name (optionally schema-qualified) of an existing table.

       column The name of a column in(1,8) table.

              All columns will be filled with their default values.

              An expression or value to assign to column.

              This column will be filled with its default value.

       query  A  query  (SELECT  statement)  that  supplies  the  rows  to  be
              inserted. Refer to the SELECT statement for a description of the

       On  successful  completion,  an INSERT command returns a command tag of
       the form

       INSERT oid count

       The count is the number of rows inserted. If count is exactly one,  and
       the target table has OIDs, then oid is the OID assigned to the inserted
       row. Otherwise oid is zero.

       Insert a single row into table films:

           ('UA502', 'Bananas', 105, '1971-07-13', 'Comedy', '82 minutes');

       In this second example, the last column len is omitted and therefore it
       will have the default value of null:

       INSERT INTO films (code, title, did, date_prod, kind)
           VALUES ('T_601', 'Yojimbo', 106, '1961-06-16', 'Drama');

       The  third  example uses the DEFAULT clause for the date columns rather
       than specifying a value:

           ('UA502', 'Bananas', 105, DEFAULT, 'Comedy', '82 minutes');
       INSERT INTO films (code, title, did, date_prod, kind)
           VALUES ('T_601', 'Yojimbo', 106, DEFAULT, 'Drama');

       This examples inserts several rows into table films from table tmp:

       INSERT INTO films SELECT * FROM tmp;

       This example inserts into array columns:

       -- Create an empty 3x3 gameboard for noughts-and-crosses
       -- (all of these commands create the same board)
       INSERT INTO tictactoe (game, board[1:3][1:3])
           VALUES (1,'{{"","",""},{},{"",""}}');
       INSERT INTO tictactoe (game, board[3][3])
           VALUES (2,'{}');
       INSERT INTO tictactoe (game, board)
           VALUES (3,'{{,,},{,,},{,,}}');

       INSERT conforms fully to the SQL standard.  Possible limitations of the
       query clause are documented under SELECT [select(2,7,2 select_tut)(7)].

SQL - Language Statements         2003-11-02                         INSERT(7)

References for this manual (incoming links)