MariaDB: учебник для начинающих

You are viewing an old version of this article. View the current version here.

Данный учебник создан для изучения основ работы с базой данных MariaDB с помощью программы mysql работающей в коммандной строке. Это не полное руководство и оно не будет касаться сложных тем. Данный документ - это быстрый старт для использования MariaDB.

Вход в MariaDB

Для входа на сервер MariaDB из коммандной строки используйте комманду:

mysql -u //user_name// -p -h //ip_address// //db_name//

Измените user_name на ваше имя в базе данных. Измените ip_address на настоящий адрес или имя вашего сервера. Если вы работаете на компьютере, на котором установлена база данных то не вводите -h и ip_address. Измените db_name на имя вашей базы данных к которой вы хотите получить доступ (например test, которая уже создана для тестирования).

Далее вам необходимо будет ввести пароль к базе, если пароль введен верно, вы должны увидеть следующее:

MariaDB [test]> 

В данной строке вы будете вводить операторы SQL. Подробнее о них позже, а пока давайте рассмотрим само приглашение: "MariaDB" - означает что вы подключены к серверу базы данных MariaDB, в скобках указано имя базы данных с которой вы работаете, в данном примере "test".

Основы базы данных

Чтобы внести изменения в базу данных или получить данные, вам нужно будет ввести оператор SQL. SQL расшифровывается как Язык Структурированных Запросов. Оператор SQL, который запрашивает данные, называется запросом. Базы данных хранят информацию в таблицах. Они похожи на электронные таблицы, но гораздо более эффективны в управлении данными.

Обратите внимание, что база данных test может не содержать данных. Если вы хотите следовать в точности по учебнику, введите следующие комманды в программу mysql. Это создаст таблицы, которые мы будем использовать, и добавим к ним данные. Не беспокойтесь, что пока вы не понимаете эти комманды, мы разберем их позже.

CREATE DATABASE IF NOT EXISTS test;

USE test;

CREATE TABLE IF NOT EXISTS books (
  BookID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, 
  Title VARCHAR(100) NOT NULL, 
  SeriesID INT, AuthorID INT);

CREATE TABLE IF NOT EXISTS authors 
(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT);

CREATE TABLE IF NOT EXISTS series 
(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT);

INSERT INTO books (Title,SeriesID,AuthorID) 
VALUES('The Fellowship of the Ring',1,1), 
      ('The Two Towers',1,1), ('The Return of the King',1,1),  
      ('The Sum of All Men',2,2), ('Brotherhood of the Wolf',2,2), 
      ('Wizardborn',2,2), ('The Hobbbit',0,1);

Обратите внимание на точку с запятой, которые используются в коммандах выше. Клиент mysql позволяет вводить очень сложные операторы SQL в несколько строк, но они не будут отправлены в базу данных, пока вы не введете точку с запятой и не нажмете [Enter].

Давайте посмотрим, что сделали предыдущие комманды, введите следующее:

SHOW TABLES;

+----------------+
| Tables_in_test |
+----------------+
| authors        |
| books          |
| series         |
+----------------+
3 rows in set (0.00 sec)

Вы должны увидеть список таблиц в базе данных. Если вы не ошиблись в предыдущих коммандах, ваши результаты должны выглядеть также. Давайте теперь введем следующее, чтобы получить информацию об одной из таблиц:

DESCRIBE books;

+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| BookID   | int(11)      | NO   | PRI | NULL    | auto_increment |
| Title    | varchar(100) | NO   |     | NULL    |                |
| SeriesID | int(11)      | YES  |     | NULL    |                |
| AuthorID | int(11)      | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

Основной интересующей нас информацией является столбец Field. Другие столбцы представляют полезную информацию о структуре и типе данных в базе данных, но столбец Field дает нам имена, необходимые для извлечения данных из таблицы.

Давайте запросим данные из таблицы books. Мы сделаем это, выполнив оператор SELECT следующим образом:

SELECT * FROM books;

+--------+----------------------------+----------+----------+
| BookID | Title                      | SeriesID | AuthorID |
+--------+----------------------------+----------+----------+
|      1 | The Fellowship of the Ring |        1 |        1 |
|      2 | The Two Towers             |        1 |        1 |
|      3 | The Return of the King     |        1 |        1 |
|      4 | The Sum of All Men         |        2 |        2 |
|      5 | Brotherhood of the Wolf    |        2 |        2 |
|      6 | Wizardborn                 |        2 |        2 |
|      7 | The Hobbbit                |        0 |        1 |
+--------+----------------------------+----------+----------+
7 rows in set (0.00 sec)

Этот оператор SQL или запрос, попросит базу данных показать нам все данные в таблице books. Символ звездочки ('*') указывает на выбор всех столбцов.

Добавление данных

Suppose now that we want to add another book to this table. We'll add the book, Lair of Bones. To insert data into a table, you would use the INSERT statement. To insert information on a book, we would enter something like this:

INSERT INTO books (Title, SeriesID, AuthorID)
VALUES ("Lair of Bones", 2, 2);

Query OK, 1 row affected (0.00 sec)

Notice that we put a list of columns in parentheses after the name of the table, then we enter the keyword VALUES followed by a list of values in parentheses--in the same order as the columns were listed. We could put the columns in a different order, as long as the values are in the same order as we list the columns. Notice the message that was returned indicates that the execution of the SQL statement went fine and one row was entered.

Execute the following SQL statement again and see what results are returned:

SELECT * FROM books;

You should see the data you just entered on the last row of the results. In looking at the data for the other books, suppose we notice that the title of the seventh book is spelled wrong. It should be spelled The Hobbit, not The Hobbbit. We will need to update the data for that row.

Modifying Data

To change data in a table, you will use the UPDATE statement. Let's change the spelling of the book mentioned above. To do this, enter the following:

UPDATE books 
SET Title = "The Hobbit" 
WHERE BookID = 7;

Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

Notice the syntax of this SQL statement. The SET clause is where you list the columns and the values to set them. The WHERE clause says that you want to update only rows in which the BookID column has a value of 7, of which there are only one. You can see from the message it returned that one row matched the WHERE clause and one row was changed. There are no warnings because everything went fine. Execute the SELECT from earlier to see that the data changed.

As you can see, using MariaDB isn't very difficult. You just have to understand the syntax of SQL since it doesn't allow for typing mistakes or things in the wrong order or other deviations.

See Also

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.