The INSERT statement is used to populate a table with
rows:
INSERT INTO emp VALUES (7369,'SMITH','CLERK',7902,'17-DEC-80',800,NULL,20);
Note that all data types use rather obvious input formats.
Constants that are not simple numeric values usually must be
surrounded by single quotes ('), as in the example.
The
DATE type is actually quite flexible in what it
accepts, but for this tutorial we will stick to the unambiguous
format shown here.
A sample insert into the dept table would look like:
INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
The syntax used so far requires you to remember the order of the
columns. An alternative syntax allows you to list the columns
explicitly:
INSERT INTO emp(empno,ename,job,mgr,hiredate,sal,comm,deptno)
VALUES (7499,'ALLEN','SALESMAN',7698,'20-FEB-81',1600,300,30)
You can list the columns in a different order if you wish or even omit some columns,
e.g., if the commission is unknown:
INSERT INTO emp(empno,ename,job,mgr,hiredate,sal,deptno)
VALUES (7369,'SMITH','CLERK',7902,'17-DEC-80',800,20);
Many developers consider explicitly listing the columns better
style than relying on the order implicitly.
Please enter all the commands shown above so you have some data to
work with in the following sections.
You could also have used COPY to load large
amounts of data from flat-text files. This is usually faster
because the COPY command is optimized for this
application while allowing less flexibility than
INSERT. An example would be:
COPY emp FROM '/home/user/emp.txt';
where the file name for the source file must be available to the
backend server machine, not the client, since the backend server
reads the file directly. You can read more about the
COPY command in COPY.