|=--------------------------------------------------=|
     _________________  .____     ___________________
    /   _____/\_____  \ |    |    \_   _____/\______ \
    \_____  \  /  / \  \|    |     |    __)_  |    |  \
    /        \/   \_/.  \    |___  |        \ |    `   \
   /_______  /\_____\ \_/_______ \/_______  //_______  /
           \/        \__>       \/        \/         \/


   |=--------------------------------------------------=|
   . |03.03 - Rows inserting                            .
   |=--------------------------------------------------=|

     In last chapter we created table. It has 3 columns:
   user_key, user_name  and user_password. Let's  say we
   would like to populate the table with some data.

     To add rows into the table we would use clause:
   INSERT INTO ...

     We  have  3 users.  All  the  users have  the  same
   password. So we would use 3 commands to do so:

     insert into users (user_name, user_password)
       values ('user1','pass');

     insert into users (user_name, user_password)
       values ('user2','pass');

     insert into users (user_name, user_password)
       values ('user3','pass');

     In some cases  we know what rows we  want to insert
   and  we  don't want  to  waste  computer and  network
   resources to run multiple commands. In that case it's
   possible to insert  all the known rows  at once. This
   can be achieved by:

     insert into users (user_name, user_password) values
       ('user1','pass'),
       ('user2','pass'),
       ('user3','pass')
     ;

     In  either case  table users  now contains  3 rows.
   It  has  to  be  said  that the  table  users  had  3
   columns. But we specified only 2 columns for the data
   inserting.

     The  reason  is  we   have  user_key  specified  as
   autoincrement and if it's not specified in the insert
   clause it  does auto populate itself  when the column
   is ommited while inserting data into the table.

     Inserting  data  is  a Data  Manipulation  Language
   (DML).  Normally  if  the  database  is  not  in  the
   autocommit mode we would have to issue COMMIT command
   after each DML statement.  Previous chapter was given
   to  data creating.  CREATE TABLE  is Data  Definition
   Language. When using DDL  statements there is no need
   to COMMIT  data. It changes the  structure of current
   database and no COMMIT is needed.

     If we  would like  to add 4th  row and  provide the
   INSERT statement without the columns specification we
   would have to explicitly name  all the 3 columns like
   this:

     insert into users values (4,'user4','pass');

     In next chapter we will try to query prepared data.

   |=--------------------------------------------------=|
   |=--------------------------------------------------=|