Comandos

---------------------------------------------------------------------------------

Como subir los servicios del servidor y MySQL

C:\Users\604-11>cd\xampp\mysql\bin

----------------------------------------------------------------------------------

Como ingresar a la Base de datos

C:\Users\604-11>mysql -uroot -p

------------------------------------------------------------------------------------

Nota: Todos los comandos terminan con punto y coma(;)

------------------------------------------------------------------------------------

Comando para ver las bases de datos

show

Sintaxis

show databases;

--------------------------------------------------------------------------------------

Comando para crear la base de datos:

create

Sintaxis

create database "nombre BD";

Ejemplo:

create database biblioteca;

----------------------------------------------------------------------------------------

Comando para abrir la BD y empezarla a usar

use

Sintaxis

use "nombre BD";

Ejemplo:

use biblioteca;

Nota: siempre se debe abrir la BD para hacer cualquier cosa en ella:

--------------------------------------------------------------------------------------------

Comando para crear Tablas en la BD

create

Sintaxis

create table "nombre de la tabla"enter (sin punto y coma)

->("nombre campo 1"_tipo(tamaño)_es nulo o no_clave primaria,(coma) enter(sin punto y coma)

->"nombre campo 2"_tipo(tamaño)_es nulo o no, (coma)enter(sin punto y coma)

->"nombre campo N"_tipo(tamaño)_es nulo o no)engine=innodb;enter

Ejemplo:

mysql> create table libro

    -> (cod_lib char(10) not null primary key,
    -> descripcion char(40) not null)engine=innodb;
 
-------------------------------------------------------------------------------------
 
Comando para ver el listado de las tablas
 
show
 
sintaxis
show tables;
--------------------------------------------------------------------------------------
Comando para ver la estructura de las tablas
describe
 
sintaxis
describe_"nombre de la tabla";
 
Ejemplo:
describe libro;
-------------------------------------------------------------------------------
Comandos para relacionar tablas
foreign_key
references
cascade
update
on_delete
 
 
Sintaxis

 

create table "nombre de la tabla"enter (sin punto y coma)

->("nombre campo 1"_tipo(tamaño)_es nulo o no,(coma) enter(sin punto y coma)

->"nombre campo 2"_tipo(tamaño)_es nulo o no, (coma)enter(sin punto y coma)

->foreign key("campo que relaciona de la tabla relacional")_references_"tabla"("Campo de la tabla referencial a relacionar")_on_delete cascade_on_update_cascade,(Coma)enter

->foreign key("campo que relaciona de la tabla relacional")_references_"tabla"("Campo de la tabla referencial a relacionar")_on_delete cascade_on_update_cascade)engine=innodb;enter

 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 autor(cod_aut) on delete cascade on update cascade)engine=innodb;

--------------------------------------------------------------------------------------------------------

Comando para ver como fue creada la relacion

show_create_table_"nombre de la tabla";

---------------------------------------------------------------------

Comando Salir

exit

-----------------------------------------------------------------

Comando para crear copia de seguridad

mysqldump -B -uroot -p biblioteca>d:\biblioteca.sql

Nota: para crear la copia de seguridad hay que estar ubicado en el directorio

cd\xampp\mysql\bin

-----------------------------------------------------------------------------
 

Comando para retornar la base de datos

source d:\biblioteca.sql;

----------------------------------------------------------------------

Comando para agregar campos a una tabla

alter

add

Sintaxis

alter_table_"nombre tabla"_add_"nombre campo"_tipo(tamaño)_si es nulo o no;enter

Ejemplo

alter table libro add edicion char(20) not null;

Nota: cuando se quiera agregar un campo en un determinado orden se debe agregar al final (after(despues)"nombre del campo")

        cuando se quiere color al principio se debe agregar al final(first)

Ejemplo:

alter table libro add color char(10) not null after area;

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

----------------------------------------------------------------------------------

Comando para eliminar la clave primaria o campo

drop

Nota: El campo no debe de estar relacionado

sintaxis

alter_table_"nombre tabla"_drop_(primary key/Nombre del campo);

Ejemplo:

alter table editorial drop primary key;

alter table libro drop color;

----------------------------------------------------------------------------------

Comando para modificar un campo para que sea una clave primaria, cambiar tipo, tamaño, nulo

modify

sintaxis

alter_table_"nombre tabla"_modify_"nombre campo a modificar"_tipo(tamaño)_nulo o no_primary key;enter

ejemplo:

alter table editorial modify id char(2) not null primary key;

alter table libro modify area char(30) not null;

----------------------------------------------------------------------------------

Comando para cambiar el nombre de un campo

change

sintaxis

alter_table_"nombre tabla"_change_"nombre del campo a cambiar"_"nuevo nombre del campo"_tipo(tamaño)_nulo o no;enter

Ejemplo:

 

alter table editorial change id_edit id char(20) not null;
alter table editorial change nombre descripcion char(20) null;
---------------------------------------------------------------------------------------

Comando para cambiar el nombre a una tabla

rename

sintaxis

alter_table_"nombre tabla"_rename_to_"nuevo nombre";enter

ejemplo:

alter table editorial rename to nueva_editorial;

-----------------------------------------------------------------------------------------

Comando para eliminar una tabla

drop

sintaxis

drop_table_"nombre tabla";enter

ejemplo:

drop table nueva_editorial;

-------------------------------------------------------------------------------------------

Comando para insertar un registro en una tabla

insert into

sintaxis

insert_into_"nombre tabla"(campo1,campo2....campoN)_values("datocampo1","datocampo2","datocampoN");

Ejemplo:

 insert into libro(cod_lib,nombre) values('00001','Java');

------------------------------------------------------------------------------------------

Comando para ver la informacion general de la tabla

select * from

sintaxis

select_*_from_"nombre de la tabla";

ejemplo:

select * from libro;

---------------------------------------------------------------------------------------------

Comando para realizar una consulta con una condición

select *

where

Sintaxis

Select_*_campo1_campo_2_campoN_from_"Nombre Tabla"_where_"condición"

Ejemplo:

condición general

select * from libro where cod_lib="00001";

Condicicion con campos especificados

select cod_lib,descripcion,volumen libro where volumen>=5;

Condicion con boolenanos

select * from libro where n_pag>400 and volumen>4;

select * from libro where n_pag>600 or volumen>4;

Condicion con especiales

select * from libro where cod_lib between 00001 and 00004;

select * from libro where cod_lib in(00001,00003,00005);

 

Nota: (or - in) (and - between)

Comando like

sintaxis

"%a" = Termine con "a"

"a%" = Empiece con "a"

"%a%" = cualquier ubicación de la "a" en la cadena

Ejemplo:

select * from libro where descripcion like"i%";

select * from libro where descripcion like"%s";

select * from libro where descripcion like "%m%";

select * from libro where descripcion like "%software%";

------------------------------------------------------------------------------------------------------

Comando para crear un archivo .txt desde Mysql para guardar instrucciones

tee

sintaxis

tee_"Ubicación"enter

Ejemplo

tee d:\consulta.txt

--------------------------------------------------------------------------------------------------------

Consultas (Condicionales).txt (16,2 kB)

--------------------------------------------------------------------------------------------------------

Comando para actualizar o modificar información

update

set

sintaxis

update_"nombre tabla"_set_"campo1="valor",campo2="valor"_where_"condición";

ejemplo

update estudiantes set edad=15,valor_matricula=25000 where codigo_estudiante="est02";

-------------------------------------------------------------------------------------------------------------

Comando para eliminar un registro

delete

sintaxis

delete_from_"nombre de la tabla"_condicion;

ejemplo

delete from estudiantes where codigo_estudiante="est10";

-----------------------------------------------------------------------------------------------------------

CONSULTAS DE VARIAS TABLAS O RELACIONALES

Comando Select con el comando Join

Sintaxis.

select_campo1,campo2_from_tabla(s)_where_condiciones;

TIPOS DE RELACIONES QUE SE DAN CON LAS TABLAS

1 a 1: Rara vez se ve (no es común)

1 a N: Se da mediante tablas intermedias

N a N: No existe en programación (y si se diera se reempleza con una relación 1 a N)

 

EJEMPLO:

Visualizar los libros con cada uno de los autores

 

 

QUE SE DEBE TENER EN CUENTA CON LAS CONSULTAS RELACIONALES

1) Que se desea mostrar (tablas)

En el ejemplo de la biblioteca se desea mostrar de las tablas libro, autor, lib_aut los siguientes campos:

- libro.cod_lib

- libro.descripcion

- lib_aut.cod_lib

- lib_aut.cod_aut

- autor.cod_aut

- autor.descripcion

2) Que tablas se ven afectadas o involucradas

- libro

- autor

- lib_aut

3) Condiciones en particular (que sean logicas y realmente existan)

4) Como se relaciona una tabla con la otra

libro.cod_lib = lib_aut.cod_lib

lib_aut.cod_aut = autor.cod_aut

 

El comando que nos resuelve este problema es JOIN y su sintaxis es:

select * from tabla1 inner join tabla2 on tabla1.id=tabla2.id inner join tabla3 on tabla2.id2=tabla3.id2;

 

Ejemplo:

select libro.cod_lib,libro.descripcion,lib_aut.cod_lib,lib_aut.cod_aut,autor.cod_aut,autor.descripcion from libro inner join lib_aut on libro.cod_lib=lib_aut.cod_lib inner join autor on lib_aut.cod_aut=autor.cod_aut;

 

ORDENAR

comando

order by

Sintaxis

select * from "tabla" order by "campo";

Ejemplo:

mysql> select * from alumno order by nombre;
+---------+------------------+-----------+----------+
| codestu | nombre           | direccion | telefono |
+---------+------------------+-----------+----------+
| 004     | Angel Cuadrado   | Cra 44    | 6398521  |
| 005     | Catalina Escobar | Cra 78    | 4652300  |
| 003     | Federico Aguilar | Cra 26    | 4569782  |
| 001     | Juan Tobon       | Cra 59    | 2335698  |
| 002     | Mario Gonzales   | Cra 89    | 6325984  |
| 006     | Paulina Borja    | Cra 45    | 4599632  |
+---------+------------------+-----------+----------+
6 rows in set (0.00 sec)
 

ORDENAR ASCENDENTE O DESCENDENTE

Sintaxis

Ascendente

select * from "tabla" order by "campo" asc;

Ejemplo:

mysql> select * from carrera order by carrera asc;
+----------+-------------------------+
| codcarre | carrera                 |
+----------+-------------------------+
| 006      | Agronomia               |
| 007      | Ciencias de la salud    |
| 002      | Contaduria              |
| 004      | Derecho                 |
| 003      | Economia                |
| 005      | Ingenieria Agropecuaria |
| 001      | Ingenieria de Sistemas  |
| 008      | Veterinaria             |
+----------+-------------------------+
8 rows in set (0.00 sec)
 

Descendente

select * from "tabla" order by "campo" desc;

Ejemplo:

mysql> select * from carrera order by carrera desc;
+----------+-------------------------+
| codcarre | carrera                 |
+----------+-------------------------+
| 008      | Veterinaria             |
| 001      | Ingenieria de Sistemas  |
| 005      | Ingenieria Agropecuaria |
| 003      | Economia                |
| 004      | Derecho                 |
| 002      | Contaduria              |
| 007      | Ciencias de la salud    |
| 006      | Agronomia               |
+----------+-------------------------+
8 rows in set (0.00 sec)

Nota: el orden by trae por defecto el orden ascendente

 

ORDENAR POR VARIOS CAMPOS

Sintaxis

select * from "tabla" order by "campo1" desc, "campo2" desc;

Ejemplo:

mysql> select * from alumno order by nombre desc, telefono desc;
+---------+------------------+-----------+----------+
| codestu | nombre           | direccion | telefono |
+---------+------------------+-----------+----------+
| 006     | Paulina Borja    | Cra 45    | 4599632  |
| 002     | Mario Gonzales   | Cra 89    | 6325984  |
| 001     | Juan Tobon       | Cra 59    | 2335698  |
| 003     | Federico Aguilar | Cra 26    | 4569782  |
| 005     | Catalina Escobar | Cra 78    | 4652300  |
| 004     | Angel Cuadrado   | Cra 44    | 6398521  |
+---------+------------------+-----------+----------+
6 rows in set (0.00 sec)

 

AGRUPAR Y FILTAR (Tiene sentido si se trabaja con las funciones)

Comando

group by

Sintaxis

select "lo que se va a visualizar", "funcion(campo a aplicar la funcion)", as "Titulo" from "Tabla" group by "campo a agrupar";

ejemplos:

1) Visualizar los visitantes por ciudad

 

mysql> select ciudad, count(ciudad) as visitantes from visitantes group by ciudad;
+--------------+------------+
| ciudad       | visitantes |
+--------------+------------+
| Barranquilla |          3 |
| Bogota       |          2 |
| Cartagena    |          4 |
| Medellin     |          2 |
+--------------+------------+
4 rows in set (0.00 sec)
 
Nota: si se desea ordenar se puede hacer colocando el comando al final
Ejemplo:
mysql> select ciudad, count(ciudad) as visitantes from visitantes group by ciudad order by ciudad desc;
+--------------+------------+
| ciudad       | visitantes |
+--------------+------------+
| Medellin     |          2 |
| Cartagena    |          4 |
| Bogota       |          2 |
| Barranquilla |          3 |
+--------------+------------+
4 rows in set (0.00 sec)
 
2) Visualizar el monto de compra por ciudad

 

mysql> select ciudad, sum(montocompra) as "Monto de la Compra" from visitantes group by ciudad;
+--------------+--------------------+
| ciudad       | Monto de la Compra |
+--------------+--------------------+
| Barranquilla |            8300000 |
| Bogota       |            2500000 |
| Cartagena    |           12100000 |
| Medellin     |            4500000 |
+--------------+--------------------+
4 rows in set (0.00 sec)
 
3) Visualizar el monto de compra por ciudad que sean mayores a 5,000.000
Nota: Cuando se trabaja con "group by" y se manejan condiciones estas no funcionan con "where" sino con "having" y el calculo con la función a utilizar
 
mysql> select ciudad, sum(montocompra) as "Monto de la Compra" from visitantes group by ciudad having sum(montocompra)>5000000;
+--------------+--------------------+
| ciudad       | Monto de la Compra |
+--------------+--------------------+
| Barranquilla |            8300000 |
| Cartagena    |           12100000 |
+--------------+--------------------+
2 rows in set (0.01 sec)
 
4) Calcular el valor promedio de montocompra agrupados por ciudad y por sexo
 
mysql> select ciudad,sexo, avg(montocompra) as "Monto de la Compra" from visitantes group by ciudad, sexo;
+--------------+-----------+--------------------+
| ciudad       | sexo      | Monto de la Compra |
+--------------+-----------+--------------------+
| Barranquilla | Femenino  |            1800000 |
| Barranquilla | Masculino |            3250000 |
| Bogota       | Femenino  |            1000000 |
| Bogota       | Masculino |            1500000 |
| Cartagena    | Femenino  |            3800000 |
| Cartagena    | Masculino |            2250000 |
| Medellin     | Femenino  |            2250000 |
+--------------+-----------+--------------------+
7 rows in set (0.00 sec)
 
VISTAS (VISUALIZAR LA INFORMACIÓN)
Se pueden guardar tablas temporales
 
Sintaxis
 
create view "nombre de la tabla temporal" as select * from visitantes where nombre like'%';
 
Ejemplo:
 
1) visualizar toda la información de los visitantes cuyo nombre termina en "a"
 
mysql> create view vista1 as select * from visitantes where nombre like'%a';
Query OK, 0 rows affected (0.03 sec)
 
mysql> show tables;
+-------------------+
| Tables_in_turismo |
+-------------------+
| visitantes        |
| vista1            |
+-------------------+
2 rows in set (0.00 sec)
 
Nota1: para consultar la tabla es de la misma forma que un tabla
Nota2: Para borrar un vista es "drop view "nombre de la vista"
 
Comando para guardar copia de seguridad con las vistas
 
routines
Ejemplo:
 
C:\xampp\mysql\bin>mysqldump -B -uroot -p -routines turismo>d:/turismovistas.sql