Búsqueda de sitios web

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. Nuestros antepasados conocían el concepto de base de datos 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, digamos de 100 páginas, si tiene que buscar todos los empleados cuyo salario fue inferior a 10.000, piense en lo difícil que habría sido, entonces .

En el mundo actual no se puede escapar de la base de datos. En este momento, millones de bases de datos están trabajando en todo el mundo para almacenar y recuperar 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 back-end, ya que no es visible para el usuario final ni el usuario final interactúa directamente con la base de datos. Trabajan en procesos de front-end, a saber, PHP, VB, ASP.NET, etc. y le piden al front-end que se ocupe de la base de datos. en la parte trasera.

Hay varios servidores y clientes de bases de datos disponibles como Oracle, MySQL, MySQLi, MariaDB, MongoDB, etc. La sintaxis de todos ellos es más o menos menos lo mismo. 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 las distribuciones Linux de forma predeterminada; puede instalarlo manualmente desde el repositorio, si no está instalado de forma predeterminada en su caso.

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

Instalar la base de datos MySQL

Utilice el administrador de paquetes “yum” o “apt” para instalar la base de datos MySQL.

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 el servicio de base de datos MySQL como:

service mysqld start
or
service mysql start

Bueno, instalar una base de datos MySQL lo llevará a la configuración donde se le pedirá que configure la contraseña de admin, etc. Una vez que haya terminado de instalar e iniciar el servidor, vaya a su MySQL mensaje.

mysql -u root -p

Reemplace root con su 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< indicará 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 bien, realizar consultas en este mensaje 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 necesita seleccionar la base de datos para trabajar en ella.

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

Aquí crearemos una tabla que dice "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>

Fue nada menos que una magia. De todos modos te hablaré de los tipos de declaración y su significado.

  1. Int es un número entero
  2. Varchar es un carácter que tiene una longitud variable según lo definido. 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 'apellido' después de la columna 'primer_nombre'.

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ícalo en tu 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 del 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 ' , 'India' );
Query OK, 1 row affected (0.02 sec) 

mysql>

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

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

Verifique la inserción anterior.

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

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

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  | India   | 
|    2 | Narad      | Shrestha  | [email      | India   | 
|    4 | tecmint    | [dot]com  | [email  | India   | 
+------+------------+-----------+-------------------+---------+
3 rows in set (0.00 sec)
Actualizar valores en el campo

Es necesario editar la identificación (=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>

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" donde el primer nombre sea "tecmint". Siempre es una buena idea utilizar 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

Necesitamos eliminar (eliminar) una columna que creemos que no tiene importancia, diga "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  | 
|    2 | Narad      | Shrestha  | [email      | 
|    6 | tecmint    | [dot]com  | [email  | 
+------+------------+-----------+-------------------+
3 rows in set (0.00 sec) 

mysql>
Cambiar el nombre de la tabla en MySQL

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

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

mysql>
Listar todas las tablas

Vea todas las tablas de la base de datos actual.

mysql> show tables; 

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

mysql>

La tabla ha sido renombrada. Ahora haga una copia de seguridad de la base de datos MySQL anterior, 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 los datos MySQL respaldados es nuevamente 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>

¡Excelente! La base de datos se pierde, pero no debemos preocuparnos, ya tenemos 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'

Ups! Un error, oye no hemos creado la base de datos tecmint. Así que vaya a su indicador de 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 símbolo del 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)

Verificar 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>

Verifique el contenido de su tabla restaurada.

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)

Definitivamente, este no es el final, cubriremos el concepto de clave primaria, clave externa, múltiples tablas y consultas en ejecución. usando un script PHP simple en la siguiente parte del artículo.

No olvides contarnos cómo te sentiste mientras leías el artículo. Sus comentarios son muy apreciados. Manténgase saludable y sintonizado, permanezca conectado a Tecmint.