sql >> Base de Datos >  >> RDS >> Mysql

Comandos básicos de administración de bases de datos MySQL – Parte I

Base de datos es un conjunto estructurado de datos almacenados electrónicamente. El concepto de base de datos era conocido por nuestros antepasados ​​incluso cuando no había computadoras, sin embargo, crear y mantener dicha base de datos era un trabajo muy tedioso. En una base de datos manual diga de 100 páginas, si tiene que buscar todos los empleados cuyo salario fue inferior a 10k , solo piensa en lo difícil que hubiera sido entonces.

En el mundo de hoy, simplemente no puedes escapar de Base de datos . En este momento, millones de bases de datos están funcionando en todo el mundo para almacenar y obtener datos de todo tipo, ya sean datos estratégicos, registros de empleados o tecnologías web.

La base de datos a menudo se denomina proceso de back-end, ya que no es visible para el usuario final ni para el usuario final. interactúa directamente con la base de datos. Trabajan en procesos front-end, a saber, PHP , VB , ASP.NET , etc. y solicite al front-end que se ocupe de la base de datos en el back-end.

Hay varios servidores de bases de datos y clientes disponibles como Oracle , MySQL , MySQLi , MariaDB, MongoDB, etc. La sintaxis de todos estos es más o menos la misma. Dominar uno significa ganar control sobre la mayoría de ellos y aprender las consultas de una base de datos es muy fácil y divertido.

Comencemos con consultas simples en la base de datos. Usaremos MySQL que viene incluido con la mayoría de Linux distribuciones por defecto, puede instalarlo manualmente desde el repositorio, si no está instalado por defecto en su caso.

Bueno, una consulta de la base de datos es un código simple que se envía a la base de datos para obtener un resultado personalizado y refinado, según sea necesario.

Instalar base de datos MySQL

Usa “yum ” o “apto ” administrador de paquetes para instalar MySQL Base de datos.

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

# apt-get install mysql mysql-client mysql-server (on Apt based Systems)
Iniciar MySQL

Inicie MySQL servicio de base de datos como:

# service mysqld start
or
# service mysql start

Pues instalando un MySQL la base de datos lo llevará a la configuración donde se le pedirá que configure admin contraseña, etc. Una vez que termine de instalar e iniciar el servidor, vaya a su MySQL aviso.

# mysql -u root -p

Reemplazar raíz con tu nombre de usuario configurado e ingrese contraseña cuando se le solicite, si la credencial de inicio de sesión es correcta, estará en su MySQL aviso en un abrir y cerrar de ojos.

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>

Ahora realizar consultas en este indicador es muy educativo y divertido.

Crear una base de datos tecmint
mysql> create database tecmint ;
Query OK, 1 row affected (0.02 sec) 

mysql>

Nota :Informa que la consulta fue correcta, significa que se crea la base de datos. Puede verificar su base de datos recién creada como.

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

Nota :observe su base de datos en el resultado anterior.

Seleccionar base de datos

Ahora debe seleccionar la base de datos para trabajar con ella.

mysql> use tecmint;
Database changed
mysql>
Crear tablas en MySQL

Aquí crearemos una tabla que diga "minttec ” con tres campos como:

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

Nota :La consulta anterior dice OK lo que significa que la tabla se creó sin ningún error. Para verificar la tabla, ejecute la siguiente consulta.

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

1 row in set (0.00 sec) 

mysql>

Las cosas van bien hasta ahora. ¡Sí! Puede ver las columnas que creó en la tabla "minttec ” como:

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>

Era nada menos que una magia. De todas formas te hablaré de los tipos de declaración y su significado.

  1. Int es entero
  2. Varchar es char que tiene una longitud variable como se define. El valor después de Tipo es la longitud del campo hasta el cual puede almacenar datos.

Bien, ahora necesitamos agregar una columna que diga 'last_name ' después de la columna '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

Ahora, verifíquelo en su tabla.

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>
Agregar columna en MySQL

Ahora agregaremos una columna a la derecha, digamos una columna 'país ‘ a la derecha de correo electrónico .

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>

Verifique la consulta de inserción de la columna anterior.

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>
Insertar valores en el campo

¿Qué pasa con la inserción de valores en el campo?

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

mysql>

¿Qué tal insertar más de 1? valor a la vez en la tabla anterior.

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

Verifique la inserción anterior.

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

4 rows in set (0.00 sec)

mysql>
Eliminar valores en el campo

Digamos que la tercera entrada en el resultado anterior no es válida y necesitamos eliminar la tercera entrada.

mysql> DELETE FROM minttec WHERE id = 3;

Query OK, 1 row affected (0.02 sec)

Verifique la operación anterior.

mysql> select * from minttec;

+------+------------+-----------+-------------------+---------+ 
| id   | first_name | last_name | email             | country | 
+------+------------+-----------+-------------------+---------+
|    1 | Ravi       | Saive     | [email protected] | India   | 
|    2 | Narad      | Shrestha  | [email protected]     | India   | 
|    4 | tecmint    | [dot]com  | [email protected] | India   | 
+------+------------+-----------+-------------------+---------+
3 rows in set (0.00 sec)
Actualizar valores en campo

La identificación (=4) necesita ser editada.

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>

Verifique la consulta anterior.

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>

Nota :La consulta anterior, tal como se realizó, no es una buena idea. Cambiará la identificación a '4 ' siempre que el primer nombre sea 'tecmint' . Siempre es una buena idea usar más de una columna con la cláusula where para obtener un error mínimo, como:

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>
Eliminar columna en MySQL

Vamos a descartar (eliminar) una columna que creemos que no tiene importancia, digamos 'país ' aquí.

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

mysql>

Verifique la tabla.

mysql> select * from minttec; 

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

mysql>
Renombrar tabla en MySQL

¿No crees que el nombre de nuestra tabla “minttec ” no es muy relevante. ¿Qué tal cambiarlo a tecmint_table? .

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

mysql>
Lista de todas las tablas

Ver todas las tablas bajo la base de datos actual.

mysql> show tables; 

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

mysql>

Se ha cambiado el nombre de la tabla. Ahora haga una copia de seguridad del MySQL anterior. base de datos, en una sola línea de comando sin ninguna herramienta sofisticada. Ejecute el siguiente código en su terminal y no en el indicador de 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

Siempre es una buena idea mantener una copia de seguridad de las bases de datos MySQL. Restaurar la copia de seguridad de MySQL De nuevo, los datos son una simple línea de código que debe ejecutar en el indicador de su terminal y no en el indicador de mysql.

Pero espere primero, eliminaremos la base de datos para verificar si nuestra restauración es perfecta.

Eliminar una base de datos
mysql> drop database tecmint; 
Query OK, 1 row affected (0.02 sec)

Verifique la base de datos 'tecmint' en su servidor de base de datos.

mysql> show databases; 

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

7 rows in set (0.00 sec) 
mysql>

¡Estupendo! La base de datos se perdió, pero no debemos preocuparnos, estamos teniendo la copia de seguridad.

Restaurar una base de datos

Para restaurar la base de datos perdida, ejecute el siguiente comando.

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

Vaya ! Un error, oye no hemos creado la base de datos tecmint . Así que vaya a su indicador mysql y cree una base de datos 'tecmint ‘.

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

mysql>

Ahora es el momento de ejecutar el comando de restauración en el indicador de shell (estrictamente).

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

Verifique su base de datos.

mysql> show databases; 

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

Verifique el contenido de la base de datos.

mysql> show tables from tecmint;

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

mysql>

Verifica el contenido de tu tabla restaurada.

mysql> select * from tecmint_table; 

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

3 rows in set (0.00 sec)

Este no es el final definitivamente, cubriremos el concepto de clave principal , clave externa , múltiples tablas y ejecutar consultas usando PHP simple guión en la siguiente parte del artículo.

No olvides cuéntanos , cómo te sentiste al leer el artículo. Sus comentarios son muy apreciados. Manténgase saludable y Sintonizado , permanece conectado a Tecmint .