Query db

Материал из pNp Wiki
Перейти к: навигация, поиск

Работа с данными в MariaDB

Предварительные требования

  • Виртуальная машина с двумя сетевыми интерфейсами
  • Установленные пакеты: bash-completion, mariadb-server, mariadb

Общая информация

Основы работа с данными, которые храняться в таблицах, называются CRUD, что расшифровывается как CREATE, READ, UPDATE, DELETE. В SQL запросах этим четырем основным командам соответствуют INSERT, SELECT, UPDATE, DELETE. Как правило, эти четыре команды являются основными для работы с данными, хранящимися в базах.

INSERT

Вставим данные в нашу таблицу people:

MariaDB [andy_test_db]> insert into people (id, FirstName, SecondName, City) values (1, 'Andrew', 'Clark', 'Moscow');
Query OK, 1 row affected (0.03 sec)

MariaDB [andy_test_db]> insert into people (id, FirstName, SecondName, City) values (2, 'Ivan', 'Ivanov', 'Tver');
Query OK, 1 row affected (0.03 sec)

MariaDB [andy_test_db]> insert into people (id, FirstName, SecondName, City) values (3, 'Petr', 'Petrov', 'Omsk');
Query OK, 1 row affected (0.02 sec)

MariaDB [andy_test_db]> insert into people (id, FirstName, SecondName, City) values (4, 'Nikolay', 'Nikolaev', 'Yaroslavl');
Query OK, 1 row affected (0.02 sec)

MariaDB [andy_test_db]> select * from people;
+------+-----------+------------+-----------+
| id   | FirstName | SecondName | City      |
+------+-----------+------------+-----------+
|    1 | Andrew    | Clark      | Moscow    |
|    2 | Ivan      | Ivanov     | Tver      |
|    3 | Petr      | Petrov     | Omsk      |
|    4 | Nikolay   | Nikolaev   | Yaroslavl |
+------+-----------+------------+-----------+
4 rows in set (0.00 sec)

MariaDB [andy_test_db]>

При вводе данных в поля с типом varchar кавычки надо указывать обязательно, так как они указывают на то, что мы вводим текстовые данные!

SELECT

В отличие от проверочного запроса, который выбирал все данные из таблицы, произведем выборку нужных данных из таблицы people:

MariaDB [andy_test_db]> select id, FirstName, City from people;
+------+-----------+-----------+
| id   | FirstName | City      |
+------+-----------+-----------+
|    1 | Andrew    | Moscow    |
|    2 | Ivan      | Tver      |
|    3 | Petr      | Omsk      |
|    4 | Nikolay   | Yaroslavl |
+------+-----------+-----------+
4 rows in set (0.00 sec)

MariaDB [andy_test_db]>

UPDATE

Изменим запись с идентификатором 1:

MariaDB [andy_test_db]> update people set secondname='Andreev' where id=1;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [andy_test_db]> select * from people where id=1;
+------+-----------+------------+--------+
| id   | FirstName | SecondName | City   |
+------+-----------+------------+--------+
|    1 | Andrew    | Andreev    | Moscow |
+------+-----------+------------+--------+
1 row in set (0.00 sec)

MariaDB [andy_test_db]>

При использовании запроса UPDATE, условие (в нашем случае where id=1) должно быть указано обязательно! В противном случае, будут изменена колонка SecondName у всех записей в таблице!

DELETE

Удалим запись с идентификатором 1:

MariaDB [andy_test_db]> delete from people where id=1;
Query OK, 1 row affected (0.03 sec)

MariaDB [andy_test_db]> select * from people;
+------+-----------+------------+-----------+
| id   | FirstName | SecondName | City      |
+------+-----------+------------+-----------+
|    2 | Ivan      | Ivanov     | Tver      |
|    3 | Petr      | Petrov     | Omsk      |
|    4 | Nikolay   | Nikolaev   | Yaroslavl |
+------+-----------+------------+-----------+
3 rows in set (0.00 sec)

MariaDB [andy_test_db]>

Как и в предыдущем примере, условие (where id=1) должно быть обязательно, иначе все данные из таблицы people будут удалены!

Ссылки

Insert
Select
Update
Delete