]> begriffs open source - ai-pg/blob - full-docs/src/sgml/html/tutorial-populate.html
WIP: toc builder
[ai-pg] / full-docs / src / sgml / html / tutorial-populate.html
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>2.4. Populating a Table With Rows</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="prev" href="tutorial-table.html" title="2.3. Creating a New Table" /><link rel="next" href="tutorial-select.html" title="2.5. Querying a Table" /></head><body id="docContent" class="container-fluid col-10"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">2.4. Populating a Table With Rows</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="tutorial-table.html" title="2.3. Creating a New Table">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="tutorial-sql.html" title="Chapter 2. The SQL Language">Up</a></td><th width="60%" align="center">Chapter 2. The <acronym class="acronym">SQL</acronym> Language</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 18.0 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="tutorial-select.html" title="2.5. Querying a Table">Next</a></td></tr></table><hr /></div><div class="sect1" id="TUTORIAL-POPULATE"><div class="titlepage"><div><div><h2 class="title" style="clear: both">2.4. Populating a Table With Rows <a href="#TUTORIAL-POPULATE" class="id_link">#</a></h2></div></div></div><a id="id-1.4.4.5.2" class="indexterm"></a><p>
3     The <code class="command">INSERT</code> statement is used to populate a table  with
4     rows:
5
6 </p><pre class="programlisting">
7 INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');
8 </pre><p>
9
10     Note that all data types use rather obvious input formats.
11     Constants that are not simple numeric values usually must be
12     surrounded by single quotes (<code class="literal">'</code>), as in the example.
13     The
14     <code class="type">date</code> type is actually quite flexible in what it
15     accepts, but for this tutorial we will stick to the unambiguous
16     format shown here.
17    </p><p>
18     The <code class="type">point</code> type requires a coordinate pair as input,
19     as shown here:
20 </p><pre class="programlisting">
21 INSERT INTO cities VALUES ('San Francisco', '(-194.0, 53.0)');
22 </pre><p>
23    </p><p>
24     The syntax used so far requires you to remember the order of the
25     columns.  An alternative syntax allows you to list the columns
26     explicitly:
27 </p><pre class="programlisting">
28 INSERT INTO weather (city, temp_lo, temp_hi, prcp, date)
29     VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');
30 </pre><p>
31     You can list the columns in a different order if you wish or
32     even omit some columns, e.g., if the precipitation is unknown:
33 </p><pre class="programlisting">
34 INSERT INTO weather (date, city, temp_hi, temp_lo)
35     VALUES ('1994-11-29', 'Hayward', 54, 37);
36 </pre><p>
37     Many developers consider explicitly listing the columns better
38     style than relying on the order implicitly.
39    </p><p>
40     Please enter all the commands shown above so you have some data to
41     work with in the following sections.
42    </p><p>
43     <a id="id-1.4.4.5.7.1" class="indexterm"></a>
44
45     You could also have used <code class="command">COPY</code> to load large
46     amounts of data from flat-text files.  This is usually faster
47     because the <code class="command">COPY</code> command is optimized for this
48     application while allowing less flexibility than
49     <code class="command">INSERT</code>.  An example would be:
50
51 </p><pre class="programlisting">
52 COPY weather FROM '/home/user/weather.txt';
53 </pre><p>
54
55     where the file name for the source file must be available on the
56     machine running the backend process, not the client, since the backend process
57     reads the file directly.  The data inserted above into the weather table
58     could also be inserted from a file containing (values are separated by a
59     tab character):
60
61 </p><pre class="programlisting">
62 San Francisco    46    50    0.25    1994-11-27
63 San Francisco    43    57    0.0    1994-11-29
64 Hayward    37    54    \N    1994-11-29
65 </pre><p>
66
67     You can read more about the <code class="command">COPY</code> command in
68     <a class="xref" href="sql-copy.html" title="COPY"><span class="refentrytitle">COPY</span></a>.
69    </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="tutorial-table.html" title="2.3. Creating a New Table">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="tutorial-sql.html" title="Chapter 2. The SQL Language">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="tutorial-select.html" title="2.5. Querying a Table">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. Creating a New Table </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 18.0 Documentation">Home</a></td><td width="40%" align="right" valign="top"> 2.5. Querying a Table</td></tr></table></div></body></html>