Поиск по сайту:

Базовые команды администрирования базы данных MySQL. Часть I


База данных – это структурированный набор данных, хранящихся в электронном виде. Понятие базы данных было известно нашим предкам еще тогда, когда не было компьютеров, однако создание и поддержание такой базы данных было очень утомительной работой. Если в ручной базе данных, скажем, объемом 100 страниц, вам придется искать всех сотрудников, чья зарплата была меньше 10 тыс., просто подумайте, насколько это было бы сложно, тогда .

В современном мире вы просто не можете избежать Базы данных. В настоящее время миллионы баз данных работают по всему миру для хранения и извлечения данных любого рода, будь то стратегические данные, записи сотрудников или веб-технологии.

Базу данных часто называют внутренним процессом, поскольку она не видна конечному пользователю и Конечный пользователь не взаимодействует напрямую с базой данных. Они работают над внешними процессами, а именно: PHP, VB, ASP.NET и т. д., и просят внешний интерфейс работать с базой данных. в бэкэнде.

Доступно несколько серверов и клиентов баз данных, таких как Oracle, MySQL, MySQLi, MariaDB, MongoDB и т. д. Синтаксис всех них более или менее менее то же самое. Освоение одного из них означает получение контроля над большинством из них, а изучение запросов к базе данных очень легко и увлекательно.

Начнем с простых запросов к базе данных. Мы будем использовать MySQL, который по умолчанию входит в состав большинства дистрибутивов Linux. Вы можете установить его вручную из репозитория, если в вашем случае он не установлен по умолчанию.

Ну, запрос к базе данных — это простой фрагмент кода, который отправляется в базу данных для получения индивидуального и уточненного результата по мере необходимости.

Установить базу данных MySQL

Используйте менеджер пакетов «yum» или «apt» для установки базы данных MySQL.

yum install mysql mysql-client mysql-server  (on Yum based Systems)

apt-get install mysql mysql-client mysql-server (on Apt based Systems)
Запустить MySQL

Запустите службу базы данных MySQL как:

service mysqld start
or
service mysql start

Установка базы данных MySQL приведет вас к конфигурации, где вас попросят установить пароль admin и т. д. После завершения установки и запуска сервера перейдите в свой MySQL. подсказка.

mysql -u root -p

Замените root на настроенное имя пользователя и введите пароль при появлении запроса. Если учетные данные для входа верны, вы окажетесь на своем MySQL< подскажите в мгновение ока.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 195 

Server version: 5.5.31-0+wheezy1 (Debian) 

Copyright (c) 2000, 2013, 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>

Теперь выполнять запросы по этой подсказке очень познавательно и весело.

Создать базу данных tecmint
mysql> create database tecmint ;
Query OK, 1 row affected (0.02 sec) 

mysql>

Примечание. Сообщение сообщает, что запрос был правильным, что означает, что база данных создана. Вы можете проверить свою вновь созданную базу данных как.

mysql> show databases; 
+--------------------+
| Database           | 
+--------------------+ 
| information_schema | 
| mysql              | 
| performance_schema | 
| tecmint            | 
| test               | 
+--------------------+ 
9 rows in set (0.00 sec) 
mysql>

Примечание. Обратите внимание на свою базу данных в приведенном выше выводе.

Выберите базу данных

Теперь вам нужно выбрать базу данных для работы с ней.

mysql> use tecmint;
Database changed
mysql>
Создание таблиц в MySQL

Здесь мы создадим таблицу «minttec» с тремя полями:

mysql> CREATE TABLE minttec (
    -> id Int(3), 
    -> first_name Varchar (15), 
    -> email Varchar(20) 
    -> ); 
Query OK, 0 rows affected (0.08 sec) 
mysql>

Примечание. В приведенном выше запросе указано ОК, что означает, что таблица была создана без ошибок. Чтобы проверить таблицу, выполните приведенный ниже запрос.

mysql> show tables; 
+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| minttec           | 
+-------------------+ 

1 row in set (0.00 sec) 

mysql>

Дела идут хорошо до сих пор. Ага! Вы можете просмотреть столбцы, созданные вами в таблице «minttec», как:

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+ 
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+ 
3 rows in set (0.00 sec)

mysql>

Это было не что иное, как волшебство. В любом случае я расскажу вам о видах деклараций и их значении.

  1. Int — целое число.
  2. Varchar — это символ, имеющий переменную длину, как определено. Значение после Типа — это длина поля, до которой оно может хранить данные.

Хорошо, теперь нам нужно добавить столбец «last_name» после столбца «first_name».

mysql> ALTER TABLE minttec ADD last_name varchar (20) AFTER first_name; 
Query OK, 0 rows affected (0.16 sec)
Records: 0  Duplicates: 0  Warnings: 0

Теперь проверьте это в своей таблице.

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+ 
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| last_name  | varchar(20) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+ 

4 rows in set (0.00 sec) 

mysql>
Добавить столбец в MySQL

Теперь мы добавим столбец справа, скажем, столбец «страна» справа от электронной почты.

mysql> ALTER TABLE minttec ADD country varchar (15) AFTER email; 
Query OK, 0 rows affected (0.16 sec) 
Records: 0  Duplicates: 0  Warnings: 0 

mysql>

Проверьте приведенный выше запрос на вставку столбца.

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| last_name  | varchar(20) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
| country    | varchar(15) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec) 

mysql>
Вставка значений в поле

А как насчет вставки значений в поле?

mysql> INSERT INTO minttec VALUES ('1' , 'Ravi' , 'Saive' , '[email ' , 'India' );
Query OK, 1 row affected (0.02 sec) 

mysql>

Как насчет вставки более 1 значения одновременно в приведенную выше таблицу?

mysql> INSERT INTO minttec VALUES ('2' , 'Narad' , 'Shrestha' , '[email ' , 'India' ), ('3' , 'user' , 'singh' , '[email ' , 'Aus' ), ('4' , 'tecmint' , '[dot]com' , '[email ' , 'India' );
Query OK, 3 rows affected (0.05 sec) 
Records: 3  Duplicates: 0  Warnings: 0

Проверьте вставку выше.

mysql> select * from minttec; 
+------+------------+-----------+-------------------+---------+ 
| id   | first_name | last_name | email             | country | 
+------+------------+-----------+-------------------+---------+ 
|    1 | Ravi	    | Saive     | [email  | India   | 
|    2 | Narad      | Shrestha  | [email      | India   | 
|    3 | user       | singh     | [email       | Aus     | 
|    4 | tecmint    | [dot]com  | [email  | India   | 
+------+------------+-----------+-------------------+---------+ 

4 rows in set (0.00 sec)

mysql>
Удалить значения в поле

Допустим, третья запись в приведенном выше выводе недействительна, и нам нужно удалить третью запись.

mysql> DELETE FROM minttec WHERE id = 3;

Query OK, 1 row affected (0.02 sec)

Проверьте вышеуказанную операцию.

mysql> select * from minttec;

+------+------------+-----------+-------------------+---------+ 
| id   | first_name | last_name | email             | country | 
+------+------------+-----------+-------------------+---------+
|    1 | Ravi       | Saive     | [email  | India   | 
|    2 | Narad      | Shrestha  | [email      | India   | 
|    4 | tecmint    | [dot]com  | [email  | India   | 
+------+------------+-----------+-------------------+---------+
3 rows in set (0.00 sec)
Обновить значения в поле

Идентификатор (=4) необходимо отредактировать.

mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; 
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Проверьте приведенный выше запрос.

mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; 
Query OK, 1 row affected (0.02 sec) 
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Примечание. Выполненный выше запрос не является хорошей идеей. Он изменит идентификатор на «4», где первое имя — «tecmint». Всегда полезно использовать более одного столбца с предложениемwhere, чтобы получить минимальную ошибку, например:

mysql> UPDATE minttec SET id = 6 WHERE first_name = 'tecmint'AND last_name = '[dot]com'; 
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>
Удалить столбец в MySQL

Предположим, нам нужно удалить (удалить) столбец, который, по нашему мнению, не имеет значения, скажем, здесь «country».

mysql> ALTER TABLE minttec drop country; 
Query OK, 3 rows affected (0.15 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql>

Проверьте таблицу.

mysql> select * from minttec; 

+------+------------+-----------+-------------------+ 
| id   | first_name | last_name | email             | 
+------+------------+-----------+-------------------+ 
|    1 | Ravi       | Saive     | [email  | 
|    2 | Narad      | Shrestha  | [email      | 
|    6 | tecmint    | [dot]com  | [email  | 
+------+------------+-----------+-------------------+
3 rows in set (0.00 sec) 

mysql>
Переименовать таблицу в MySQL

Вам не кажется, что название нашей таблицы «minttec» не очень актуально? Как насчет изменения его на tecmint_table.

mysql> RENAME TABLE minttec TO tecmint_table; 
Query OK, 0 rows affected (0.03 sec)

mysql>
Перечислить все таблицы

Просмотрите все таблицы в текущей базе данных.

mysql> show tables; 

+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| tecmint_table     | 
+-------------------+
1 row in set (0.00 sec) 

mysql>

Таблица переименована. Теперь создайте резервную копию указанной выше базы данных MySQL с помощью одной строки команды без каких-либо сложных инструментов. Запустите приведенный ниже код на своем терминале, а не в командной строке MySQL.

mysqldump -u root -p tecmint > tecmint.sql

check the dumped file on your desktop which would have contents something like
-- MySQL dump 10.13  Distrib 5.5.31, for debian-linux-gnu (i686) --
-- Server version 5.5.31-0+wheezy1 -- 
Dump completed on 2013-09-02 12:55:37

Всегда полезно поддерживать резервное копирование баз данных MySQL. Восстановление резервной копии данных MySQL — это снова простая строка кода, которую нужно запустить в командной строке терминала, а не в командной строке MySQL.

Но подождите, сначала мы удалим базу данных, чтобы проверить, является ли наше восстановление идеальным.

Удалить базу данных
mysql> drop database tecmint; 
Query OK, 1 row affected (0.02 sec)

Проверьте наличие базы данных «tecmint» на вашем сервере базы данных.

mysql> show databases; 

+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| my_database        | 
| mysql              | 
| performance_schema | 
| phpmyadmin         | 
| sisso              | 
| test               | 
+--------------------+

7 rows in set (0.00 sec) 
mysql>

Большой! База данных утеряна, но нам не стоит беспокоиться: у нас есть резервная копия.

Восстановить базу данных

Чтобы восстановить потерянную базу данных, выполните следующую команду.

mysql -u root -p tecmint < tecmint.sql
Enter password:
ERROR 1049 (42000): Unknown database 'tecmint'

Упс! Ошибка. Эй, мы не создали базу данных tecmint. Итак, перейдите в командную строку MySQL и создайте базу данных «tecmint».

mysql> create database tecmint; 
Query OK, 1 row affected (0.00 sec) 

mysql>

Теперь пришло время запустить команду восстановления в командной строке (строго).

mysql -u root -p tecmint < tecmint.sql 
Enter password:

Проверьте свою базу данных.

mysql> show databases; 

+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| mysql              | 
| performance_schema | 
| tecmint            | 
| test               | 
+--------------------+ 
8 rows in set (0.00 sec)

Проверьте содержимое базы данных.

mysql> show tables from tecmint;

+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| tecmint_table     | 
+-------------------+ 
1 row in set (0.00 sec)

mysql>

Проверьте содержимое восстановленной таблицы.

mysql> select * from tecmint_table; 

+------+------------+-----------+-------------------+ 
| id   | first_name | last_name | email             | 
+------+------------+-----------+-------------------+ 
|    1 | Ravi       | Saive     | [email  | 
|    2 | Narad      | Shrestha  | [email      | 
|    6 | tecmint    | [dot]com  | [email  | 
+------+------------+-----------+-------------------+

3 rows in set (0.00 sec)

Это определенно не конец, мы рассмотрим концепцию первичного ключа, внешнего ключа, нескольких таблиц и выполняющихся запросов . с помощью простого скрипта PHP в следующей части статьи.

Не забудьте рассказать нам, что вы почувствовали, прочитав статью. Ваши комментарии очень ценны. Будьте здоровы и на связи, оставайтесь на связи с Tecmint.