Comandos Mysql

Ingreso al sistema de Mysql

 

-       Entramos al Panel de control de Xampp

-       Encendemos Mysql y apache y cerramos la ventana

-       Entramos al símbolo del sistema (Tecla Windows +R)

-       Digitamos cmd y damos enter

-       Digitamos cd/xampp/mysql/bin damos enter

-       Digitamos mysql/ -uroot –p damos enter, nos debe pedir la contraseña

-       En la contraseña damos enter y el nos da la bienvenida al sistema de Mysql

-       Digitamos la sentencia show databases; la cual nos va a mostrar las bases de datos que hay en nuestro servidor

 

Crear base de datos

 

-       Digitamos create database seguido por el nombre que le vamos a dar a la base de datos y finalizamos con punto y coma

EJEMPLO

create database biblioteca;

 

-       Para verificar que quedo bien el sistema envía un mensaje diciendo Query ok de lo contrario lanzara un error.

 

Nota: para seleccionar la base de datos en la cual queremos trabajar utilizaremos la sentencia use seguido del nombre de la base de datos en la que queremos trabajar y finalizamos con punto y coma

EJEMPLO

use biblioteca;

 

Crear tablas

           Crear tablas principales:

-       Para crear una tabla utilizaremos la sentencia create table seguido por el nombre que le vamos a dar a la base de datos

EJEMPLO

create table libro

 

-       Entre paréntesis escribimos el nombre que le vamos a dar al campo, el tipo, entre paréntesis escribimos el tamaño escribimo not null definimos si es clave primaria o no, cerramos todos los campos y al terminar cerramos el paréntesis que se abrió al inicio y finalizamos con punto y coma

 

 

 

EJEMPLO

mysql> create table libro

    -> (cod_lib char(10) not null primary key,

    -> nom_lib char (40) not null);

 

 

Nota:

-       para visualizar las tablas creadas en la base de datos, digitamos la sentencia show tables;

 

-       para visualizar una tabla con sus atributos, digitamos la sentencia describe seguida del nombre de la tabla y finaliza con punto y coma describe libro;

 

Tablas relacionales:

 

-       ingresamos el nombre de la tabla de igual forma que en las tablas principales, los campos de igual forma. Pero a esta se le va agregar lo que es la clave foránea

EJEMPLO

mysql> create table lib_aut

    -> (cod_lib char(10) not null,

    -> cod_aut char (10) not null,

    -> foreign key(cod_lib) references libro(cod_lib) on delete cascade on update cascade,

    -> foreign key(cod_aut) references libro(cod_aut) on delete cascade on update cascade)

 

Crear un campo nuevo en una tabla

 

- para crear un campo nuevo en una tabla, utilizamos el comando alter table nombre de la tabla seguido de la palabra add nombre del campo nuevo el tipo (tamaño) requerido o no finaliza con punto y coma

EJEMPLO

alter table libro add val_lib float(10) not null;

 

- para crear un campo al inicio de una tabla, utilizamos el comando alter table nombre de la tabla seguido de la palabra add nombre del campo tipo (Tamaño) requerido o no seguido por la instruccion first( QUE INDICA PRIMERO) finalizando con punto y coma

EJEMPLO

alter table libro add id char(3) not null first;

 

- crear un campo donde quiero que quede, utilizamos el comando alter table nombre de la tabla  seguido de la palabra add  nombre del campo tipo (Tamaño) requerido o no seguido por la instruccion after ( QUE INDICA DESPUES DE) Y ponemos el nombre del campo que esta antes del que vamos a insertar

EJEMPLO

alter table libro add Cad_lib char(3)not null after nom_lib;

           Modificar el tamaño de un campo

para modificar el tamaño de un campo, utilizamos el comando Modify (QUE INDICA MODIFICAR). inicialmente digitamos la instruccion alter table nombre de la tabla donde esta el campo a modificar la instruccion modify el campo a modicar tipo (Nuevo tamaño) requerido o no y finaliza con punto y coma 

EJEMPLO

alter table libro modify nom_lib char(50) not null;

        Cambiar el nombre de un campo

para cambiar el nombre de un campo utilizaremos el comando change  (QUE INDICA MODIFICAR). inicialmente digitamos la instruccion alter table nombre de la tabla la intruccion change nombre del campo a cambiar nuevo nombre que le vamos a dar al campo tipo (tamaño) requerido o no y finaliza con punto y coma

EJEMPLO 

alter table libro change val_lib valor_lib float not null;

 

 

Eliminar un campo

eliminar un campo, utilizamos el comando drop, lo eliminaremos de la seguiente manera: alter table nombre de la tabla donde esta el campo drop nombre del campo a borrar finalizamos con punto y coma

EJEMPLO

alter table libro drop id;

Eliminar una clave Primaria

Eliminar una clave primaria, alter table el nombre de la tabla donde esta ubicada drop primary key y finalizamos con punto y coma 

EJEMPLO

 alter table area drop primary key;

Definir una nueva clave primaria

para definir una nueva clave primaria  se utiliza nuevamente el comando modify se realiza de la siguiente forma: alter table nombre de la tabla modify nombre del campo tipo (tamaño) requerido o no primary key y finaliza con punto y coma

EJEMPLO

alter table area modify nom_area char(45) not null primary key;

 

 para cambiar el nombre de una tabla 

para cambiar el nombre de una tabla se utiliza el comando rename ( QUE INDICA RENOMBRAR). se realiza de la siguiente forma: alter table nombre de la tabla rename to nuevo nombre y finaliza con punto y coma

EJEMPLO

alter table area rename to materia;

 para eliminar una tabla 

para eliminar una tabla se utiliza el comando drop. se realiza de la siguiente forma: drop table y el nombre de la tabla a eliminar finaliza con punto y coma

EJEMPLO

drop table materia;

Insertar informacion en una tabla

para insertar informacion en una tabla se utiliza el comando insert. se realiza de la siguiente forma: insert into nombremde la tabla digitamos los campos que hay en la tabla ( campo1,campo2,campo3) values ( informacion campo1, informacion campo2, informacion campo3) y finaliza con punto y coma

EJEMPLO

insert into libro(cod_lib,nom_lib,cad_lib,valor_lib) values('0001','lo que el viento se llevo',10,100000);

 visualizar la informacion que contiene una tabla

para visualizar la informacion que contiene una tabla se utiliza el comando select. se realiza de la siguiente forma: select * from nombre de la tabla y finaliza con punto y coma

EJEMPLO

select * from libro;

NOTA: el signo de asterisco (*) indica que se desea visualizar toda la informacion de la tabla.

- si se desea ver la informacion de un campo en especifico se realiza de la siguiente forma: select nombre del campo que contiene la informacion a visualizar  from nombre de la tabla y finaliza con punto y coma

EJEMPLO

en este ejemplo solo se visualizara el nombre de un libro y su costo

select nom_lib,valor_lib from libro;

 

Condicionales

para filtrar condiciones en mysql se utiliza el comando where

EJEMPLO

visualizar los libros mayores de 85.000

select * from libro where precio>=85.000;

Comando like

el comando like  se usa para  hacer consultas

los que comienzan con una letra determina ejemplo r, su consulta se hace con la siguiente intruccion like '%r';

los que terminan con una letra determinada ejemplo r, su consulta se hace con la siguiente instruccion like 'r%';

los que contengan la letra r en cualquier parte, su consulta se raliza con la siguietne instruccion like '%r%';

 

Condicionales con and 'o' or

EJEMPLO

visualizar la informacion que contenga el numero romano II mayor igual a 65.000

select * from libro where descripcion like '%II%' and precio >=65.000;

Funciones para hallar calculos

Este se utiliza para hallar calculos, se utiliza de la siguiente forma: select funcion a utilizar (campo) from nombre de la tabla finaliza con punto y coma

- sum=suma

- max= maximo

- min=minimo

- avg= Porcentaje 

- count= contador

EJEMPLO

cual es el precio del libro mas costoso

select max (precio) from libro; 

Ordenar informacion

para ordenar informacion se utiliza el comando orden by, si quiero hacer un ordenado ascendente digito la instruccion asc, si la quiero descendente digito la instruccion desc, se realiza de la siguiente forma: select * from tabla order by campo a ordernar tipo de ordenado finaliza con punto y coma

EJEMPLO

select * from autor orden by nombre desc;

Eliminar registros o informacion

para eliminar informacion se utiliza el comando delete, se realiza de la siguiente forma: delete from nombre tabla condicion

EJEMPLO 

eliminar el libro de redes

delete from redes like ' % redes%';

actualizar o corregir informacion

para actualizar o corregir informacion se utiliza el comando update, se realiza de la siguiente manera: update nombre de la tabla set campo actualizar= nueva informacion condicion finaliza con punto y coma

EJEMPLO

ACTUALIZAR EL PRECIO DEL LIBRO 101 POR 100.000

update libro set precio= 100.000 where id_libro='101';

Comando between (entre)

EJEMPLO

Visualizar la informacion de los libros cuyo precio este entre 27.500  y 65.000

select * from libro where precio between 27.500 and 65.000;

 Comando In

Comando para datos dispersos

EJEMPLO

select * from libro between idlibro in ('L01','L03','L08');

visualizar la informacion apartir de un limite

EJEMPLO

PARA MOSTRAR LOS CINCO PRIMEROS REGISTROS

select * from libro limit 5;

Comando join

- Comando inner join: //

- Comando left join: se utiliza para saber que registros no tienen correspondencia en otras tablas, verifica de una tabla izquierda a la derecha, sino encuentra coincidencias se genera una fila extra con todos los campos setenciados en null.

-Comando right join: opera de la misma forma que el left join solo que la busqueda de informacion la  realiza de derecha a izquierda; si encuentra coincidencias genera una fila extra con datos encontrados.

Manejo de fehas

para el manejo de fechas se utiliza el comando current_date

- Visualizar las fechas del sistema

select current_date();

- visualizar solo el año del sistema

select year (current_date());

- visualizar el mes del sistema

 select month(current_date());

-visualizar el dia desde el sistema

select day(current_date());

- hacer intervalos de meses,dias,años

select date_add(current_date(),interval 15 day); 

select date_add(current_date(),interval 3 month);

select date_add(current_date(),interval 5 year);

-saber cuantos dias hemos vivido apartir de nuestra fecha de nacimiento

select datediff(current_date(),'1994-05-03');

-saber cuantos años tiene una persona apartir de la informacion registrada en las tablas

 select nombre,year(current_date())-year(nacimiento) from ejercicio;

 

Procedimientos almacenados(Subprogramas)

para crear un subprograma se realiza de la suiente forma

EXPLICACION

mysql> delimiter //
mysql> create procedure listar_autor()   // nombre que le vamos a dar, en este caso vamos a hacer un subprograma para listar autor, se llama de igual
    -> begin
    -> select * from autor;    // comando que se utliza para listar un autor
    -> end
    -> //
Query OK, 0 rows affected (0.48 sec)
 
mysql> delimiter ;       // es necesario que despues de crear el subprograma digitemos esta intruccion para salir del programa y nos permita trabajar
mysql> show procedure status;  // para verificar que el subprograma si halla sido creado
 
 
call listar_autor();      // muestra  todos los autores que se listados, solo con llamar listar autor
 
EJEMPLO
 
mysql> delimiter //
mysql> create procedure listar_autor()
    -> begin
    -> select * from autor;
    -> end
    -> //
 
mysql> delimiter ;
mysql> show procedure status;
+----------+--------------+-----------+----------------+---------------------+--
-------------------+---------------+---------+----------------------+-----------
-----------+--------------------+
| Db       | Name         | Type      | Definer        | Modified            | C
reated             | Security_type | Comment | character_set_client | collation_
connection | Database Collation |
+----------+--------------+-----------+----------------+---------------------+--
-------------------+---------------+---------+----------------------+-----------
-----------+--------------------+
| libreria | listar_autor | PROCEDURE | root@localhost | 2015-11-07 11:44:00 | 2
015-11-07 11:44:00 | DEFINER       |         | cp850                | cp850_gene
ral_ci     | latin1_swedish_ci  |
+----------+--------------+-----------+----------------+---------------------+--
-------------------+---------------+---------+----------------------+-----------
-----------+--------------------+
1 row in set (0.05 sec)
 
 
call listar_autor();
 
+----------+----------------------+
| codautor | nombre               |
+----------+----------------------+
| A01      | Luis Joyanes         |
| A02      | Jorge Vasquez Posada |
| A03      | Jhon Soars           |
| A04      | Riaz Khadem          |
| A05      | Robert Lorber        |
| A06      | Mario Dream          |
+----------+----------------------+
6 rows in set (1.01 sec)
 

pasar la informacion a un archivo excel 

para exportar un archivo excel se utiliza el siguiente comando

select * from libro into outfile D:\exportarexcel.xls;

Guardado automatico en un archivo txt

comando tee esta instruccion se utiliza para hacer un guardado automatico en un archivo txt de lo que se esta haciendo en mysql.

se utiliza de la siguiente forma: tee ruta a guardar (preferiblemente en disco D) nombre que le queremos dar al archivo punto txt

EJEMPLO

 tee D:\ libreriamysql.txt

Copia de seguridad al final

para hacer la copia de seguridad es importante salir primero de mysql.

introducimos la palabra exit una sola vez el nos llevara al bin del mysql despues de esto procedemos a insertar los comandos para hacer la copia de seguridad

La copia de seguridd se realiza de la siguiente forma: mysqldump -B -uroot -p nombre de la base de datos >ruta a guardar (preferiblemente en disco D) nombre que le vamos a dar punto sql

EJEMPLO

mysqldump -B -uroot -p biblioteca >D:\ biblioteca.Sql

NOTA: no olvidar los espacios que hay entre cada una de las instrucciones

Salir de la base de datos

para salir de mysql se introduce la sentencia exit 

 Abrir un archivo sql

se digita la palabra source y se arrastra el archivo a la pantalla de mysql

 

ejercicios 1

 

Microsoft Windows [Versión 6.3.9600]
(c) 2013 Microsoft Corporation. Todos los derechos reservados.
 
C:\Users\Yennifer>cd/xampp/mysql/bin
 
C:\xampp\mysql\bin>mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.6.25 MySQL Community Server (GPL)
 
Copyright (c) 2000, 2015, 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> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| automoviles        |
| biblioteca         |
| cdcol              |
| mysql              |
| performance_schema |
| phpmyadmin         |
| test               |
| webauth            |
+--------------------+
9 rows in set (0.00 sec)
 
mysql> use automoviles;
Database changed
mysql> show tables;
+-----------------------+
| Tables_in_automoviles |
+-----------------------+
| cli_veh               |
| cliente               |
| clientes              |
| vehiculos             |
+-----------------------+
4 rows in set (0.00 sec)
 
mysql> describe clientes;
+---------+----------+------+-----+---------+-------+
| Field   | Type     | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| cod_cli | char(10) | NO   | PRI | NULL    |       |
| nom_cli | char(40) | NO   |     | NULL    |       |
+---------+----------+------+-----+---------+-------+
2 rows in set (0.13 sec)
 
mysql> describe vehiculos;
+------------+----------+------+-----+---------+-------+
| Field      | Type     | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| cod_veh    | char(10) | NO   | PRI | NULL    |       |
| marca_veh  | char(10) | NO   |     | NULL    |       |
| modelo_veh | char(4)  | NO   |     | NULL    |       |
+------------+----------+------+-----+---------+-------+
3 rows in set (0.04 sec)
 
mysql> describe cli_veh;
+---------+----------+------+-----+---------+-------+
| Field   | Type     | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| cod_cli | char(10) | NO   | MUL | NULL    |       |
| cod_veh | char(10) | NO   | MUL | NULL    |       |
+---------+----------+------+-----+---------+-------+
2 rows in set (0.05 sec)
 
mysql> exit
Bye
 

ejercicio 2

Microsoft Windows [Versión 6.3.9600]
(c) 2013 Microsoft Corporation. Todos los derechos reservados.
 
C:\Users\Yennifer>cd/xampp/mysql/bin
 
C:\xampp\mysql\bin>mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.25 MySQL Community Server (GPL)
 
Copyright (c) 2000, 2015, 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> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| biblioteca         |
| cdcol              |
| mysql              |
| performance_schema |
| phpmyadmin         |
| test               |
| webauth            |
+--------------------+
8 rows in set (0.00 sec)
 
mysql> use biblioteca;
Database changed
mysql> show tables;
+----------------------+
| Tables_in_biblioteca |
+----------------------+
| autor                |
| libro                |
+----------------------+
2 rows in set (0.00 sec)
 
mysql> describe libro;
+---------+----------+------+-----+---------+-------+
| Field   | Type     | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| cod_lib | char(10) | NO   | PRI | NULL    |       |
| nom_lib | char(40) | NO   |     | NULL    |       |
+---------+----------+------+-----+---------+-------+
2 rows in set (0.33 sec)
 
mysql> describe autor;
+---------+----------+------+-----+---------+-------+
| Field   | Type     | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| cod_aut | char(10) | NO   | PRI | NULL    |       |
| nom_lib | char(40) | NO   |     | NULL    |       |
+---------+----------+------+-----+---------+-------+
2 rows in set (0.04 sec)
 
mysql> create table lib_aut
    -> (cod_lib char (10) not null,
    -> cod_aut char(10) not null,
    -> foreign key(cod_lib) references libro(cod_lib) on delete cascade on updat
e cascade,
    -> foreign key(cod_aut) references autor(cod_aut) on delete cascade on updat
e cascade)engine=innodb;
Query OK, 0 rows affected (0.42 sec)
 
mysql> show tables;
+----------------------+
| Tables_in_biblioteca |
+----------------------+
| autor                |
| lib_aut              |
| libro                |
+----------------------+
3 rows in set (0.00 sec)
 
mysql> describe lib_aut
    -> describe lib_aut;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'descr
ibe lib_aut' at line 2
mysql> describe lib_aut;
+---------+----------+------+-----+---------+-------+
| Field   | Type     | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| cod_lib | char(10) | NO   | MUL | NULL    |       |
| cod_aut | char(10) | NO   | MUL | NULL    |       |
+---------+----------+------+-----+---------+-------+
2 rows in set (0.09 sec)
 
mysql> exit
Bye