Query db — различия между версиями

Материал из pNp Wiki
Перейти к: навигация, поиск
(Новая страница: «== Работа с данными в MariaDB == ==== Предварительные требования ==== * Виртуальная машина с двумя…»)
 
 
Строка 10: Строка 10:
 
Как правило, эти четыре команды являются основными для работы с данными, хранящимися в базах.  
 
Как правило, эти четыре команды являются основными для работы с данными, хранящимися в базах.  
  
 +
==== INSERT ====
 +
Вставим данные в нашу таблицу <code>people</code>:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 +
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]>
 +
</syntaxhighlight>
 +
При вводе данных в поля с типом <code>varchar</code> кавычки надо указывать обязательно, так как они указывают на то,
 +
что мы вводим текстовые данные!
 +
==== SELECT ====
 +
В отличие от проверочного запроса, который выбирал все данные из таблицы, произведем выборку нужных данных из таблицы <code>people</code>:
 +
<syntaxhighlight lang="bash">
 +
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]>
 +
</syntaxhighlight>
 +
 +
==== UPDATE ====
 +
Изменим запись с идентификатором <code>1</code>:
 +
<syntaxhighlight lang="bash">
 +
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]>
 +
</syntaxhighlight>
 +
При использовании запроса <code>UPDATE</code>, условие (в нашем случае <code>where id=1</code>) должно быть указано обязательно!
 +
В противном случае, будут изменена колонка <code>SecondName</code> у всех записей в таблице!
 +
 +
==== DELETE ====
 +
Удалим запись с идентификатором <code>1</code>:
 +
<syntaxhighlight lang="bash">
 +
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]>
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
Как и в предыдущем примере, условие (<code>where id=1</code>) должно быть обязательно, иначе все данные из таблицы
 +
<code>people</code> будут удалены!
  
 
== Ссылки ==
 
== Ссылки ==

Текущая версия на 12:00, 13 марта 2018

Работа с данными в 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