Dodawanie rekordów do tabeli za pomocą polecenia INSERT INTO

Stronę tą wyświetlono już: 210 razy

Na poprzedniej stronie utworzona została baza danych library a w niej tabelka o nazwie books. Ta baza danych i tabela zostaną wykorzystane do przetestowania zapytania z użyciem polecenia INSERT INTO, dzięki któremu możliwe jest wczytanie nowych rekordów do bazy danych. Oto przykładowe zapytanie:

Listing 1
  1. INSERT INTO library.books (title, author) values
  2. ('Tytuł 1', 'Autor 1'),
  3. ('Tytuł 2', 'Autor 2'),
  4. ('Tytuł 3', 'Autor 3');

Jak widać zaraz po INSERT INTO jest library.books, czyli nazwa bazy danych (kropka) nazwa tabeli. Można to zapytanie zapisać krócej:

Listing 2
  1. USE library;
  2. INSERT INTO books (title, author) values
  3. ('Tytuł 1', 'Autor 1'),
  4. ('Tytuł 2', 'Autor 2'),
  5. ('Tytuł 3', 'Autor 3');

Jak widać, aby tego dokonać trzeba wybrać bazę danych, z której tabela pochodzi i wtedy wystarczy podać samą nazwę tabeli.

Czas przetestować w konsoli systemowej to zapytanie:

mysql -u root -p
Enter password: **************
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 30
Server version: 5.6.23 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> INSERT INTO library.books (title, author) values
    -> ('Tytuł 1', 'Autor 1'),
    -> ('Tytuł 2', 'Autor 2'),
    -> ('Tytuł 3', 'Autor 3');
Query OK, 3 rows affected (0.06 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM library.books;
+----+---------+---------+
| id | title   | author  |
+----+---------+---------+
|  1 | Tytuł 1 | Autor 1 |
|  2 | Tytuł 2 | Autor 2 |
|  3 | Tytuł 3 | Autor 3 |
+----+---------+---------+
3 rows in set (0.00 sec)

mysql>

Jak widać, tabela books składa się z trzech pól: id, title i author a w zapytaniu zostały wymienione tylko: title i author, dlaczego? A no dlatego, że pierwsze pole ma opcję AUTO_INCREMENT i to pole będzie automatycznie wypełniane.

W powyższej serii zapytań pojawiło się polecenie SELECT, które umożliwia wyświetlenie zawartości tabeli na ekranie. Szerzej o tym zapytaniu będzie na kolejnej stronie tego działu.

Komentarze