Comandos Mysql
PASOS PARA INGRESAR A MYSQL
1. Ingreso al Panel de Control de xampp, Inicializar el servidor Apache y Mysql
2.Ingresar al Simbolo del Sistema, cambiar a la unidad C.
3.Estando en la Unidad C:\> escribir cd/xampp/mysql/bin/ y damos enter.
4.Nos aparece la ruta C:\xampp/mysql/bin> luego escribimos mysql -uroot -p y damos enter.
5.Nos pide una clave, si existe la escribimos y damos enter.
COMO CREAR UNA BASE DE DATOS
SINTAXIS:
1. Create database Nombre de BD; y damos enter.
2. Para verificar si se creó escribimos show databases;
COMO ABRIR O USAR UNA BASE DE DATOS
SINTAXIS:
1. use nombre de BD; y damos enter.
2. Para visualizar las tablas escribimos show tables; y damos enter.
COMO CREAR UNA TABLA
SINTAXIS:
1. create table nombre de la tabla y damos enter.
(nombre campo 1 tipo(tamaño) requerido o no PK, damos enter
campo 2 tipo(tamaño) requerido o no, damos enter
........
........
campo N tipo(tamaño) requerido o no); y damos enter
COMO VISUALIZAR LA TABLA
1. describe nombre de la tabla; y damos enter.
COMO CREAR UNA TABLA RELACIONAL
1. create table nombre de la tabla
(nombre campo 1 tipo(tamaño) requerido o no, damos enter
campo 2 tipo(tamaño) requerido o no, damos enter
foreign key(nombre campo 1) references nombre tabla 1(nombre campo) on delete cascade on update cascade,
foreign key(nombre campo 2) references nombre tabla 2(nombre campo) on delete cascade on update cascade); y damos enter.
PASOS PARA HACER COPIA DE SEGURIDAD DE UNA BASE DE DATOS
1.Salir de mysql.
2.escribimos mysqldump -B -uroot -p nombre de la BD>unidad destino:/nombre de la BD.sql y damos enter.
Microsoft Windows [Versión 6.3.9600]
(c) 2013 Microsoft Corporation. Todos los derechos reservados.
U:\>c:
C:\>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 2
Server version: 5.6.21 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, 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 |
| cdcol |
| mysql |
| performance_schema |
| phpmyadmin |
| test |
| webauth |
+--------------------+
7 rows in set (0.09 sec)
mysql> create database biblioteca;
Query OK, 1 row affected (0.06 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| biblioteca |
| cdcol |
| mysql |
| performance_schema |
| phpmyadmin |
| test |
| webauth |
+--------------------+
8 rows in set (0.02 sec)
mysql> use biblioteca;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> create table libro
-> (cod_lib char(10) not null primary key,
-> nom_lib char(40) not null);
Query OK, 0 rows affected (0.50 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.11 sec)
mysql> show tables;
+----------------------+
| Tables_in_biblioteca |
+----------------------+
| libro |
+----------------------+
1 row 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.01 sec)
mysql> create table autor
-> (cod_aut char(10) not null primary key,
-> nombres char(40) not null);
Query OK, 0 rows affected (0.25 sec)
mysql> show tables;
+----------------------+
| Tables_in_biblioteca |
+----------------------+
| autor |
| libro |
+----------------------+
2 rows in set (0.00 sec)
mysql> describe autor;
+---------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| cod_aut | char(10) | NO | PRI | NULL | |
| nombres | char(40) | NO | | NULL | |
+---------+----------+------+-----+---------+-------+
2 rows in set (0.08 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);
Query OK, 0 rows affected (0.45 sec)
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.03 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.02 sec)
mysql> exit
Bye
C:\xampp\mysql\bin>mysqldump -B -uroot -p biblioteca>J:/biblioteca.sql
Enter password:
C:\xampp\mysql\bin>
EJEMPLO DOS
Microsoft Windows [Versión 6.3.9600]
(c) 2013 Microsoft Corporation. Todos los derechos reservados.
C:\Users\Erica>cd..
C:\Users>cd..
C:\>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 2
Server version: 5.6.20 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, 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 |
| cdcol |
| matricula |
| mysql |
| performance_schema |
| phpmyadmin |
| srpcecon |
| srpcecon1 |
| test |
| webauth |
+--------------------+
10 rows in set (0.09 sec)
mysql> create database biblioteca2;
Query OK, 1 row affected (0.02 sec)
mysql> show databases
-> ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| biblioteca2 |
| cdcol |
| matricula |
| mysql |
| performance_schema |
| phpmyadmin |
| srpcecon |
| srpcecon1 |
| test |
| webauth |
+--------------------+
11 rows in set (0.01 sec)
mysql> use biblioteca2;
Database changed
mysql> create table libro
-> (codigo char(10) not null primary key,
-> nombre char(45) not null,
-> paginas char(10) not null,
-> genero char(15) not null,
-> publicacion char(10) not null);
Query OK, 0 rows affected (0.59 sec)
mysql> create table cliente
-> (numero_tarjeta char(15) not null primary key,
-> apellidos char(45) not null,
-> nombres char(45) not null,
-> direccion char(30) not null,
-> departamento char(15) not null,
-> municipio char(15) not null);
Query OK, 0 rows affected (0.66 sec)
mysql> create table prestamo
-> (codigo char(10) not null,
-> numero_tarjeta char(15) not null,
-> fecha_prestamo char(10) not null,
-> fecha_entrega char(10) not null,
-> foreign key(codigo) references libro(codigo) on delete cascade on update
cascade,
-> foreign key(numero_tarjeta) references cliente(numero_tarjeta) on delete
cascade on update cascade);
Query OK, 0 rows affected (0.95 sec)
mysql> describe libro;
+-------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+----------+------+-----+---------+-------+
| codigo | char(10) | NO | PRI | NULL | |
| nombre | char(45) | NO | | NULL | |
| paginas | char(10) | NO | | NULL | |
| genero | char(15) | NO | | NULL | |
| publicacion | char(10) | NO | | NULL | |
+-------------+----------+------+-----+---------+-------+
5 rows in set (0.06 sec)
mysql> describe cliente;
+----------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+----------+------+-----+---------+-------+
| numero_tarjeta | char(15) | NO | PRI | NULL | |
| apellidos | char(45) | NO | | NULL | |
| nombres | char(45) | NO | | NULL | |
| direccion | char(30) | NO | | NULL | |
| departamento | char(15) | NO | | NULL | |
| municipio | char(15) | NO | | NULL | |
+----------------+----------+------+-----+---------+-------+
6 rows in set (0.03 sec)
mysql> describe prestamo;
+----------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+----------+------+-----+---------+-------+
| codigo | char(10) | NO | MUL | NULL | |
| numero_tarjeta | char(15) | NO | MUL | NULL | |
| fecha_prestamo | char(10) | NO | | NULL | |
| fecha_entrega | char(10) | NO | | NULL | |
+----------------+----------+------+-----+---------+-------+
4 rows in set (0.05 sec)
mysql> show tables;
+-----------------------+
| Tables_in_biblioteca2 |
+-----------------------+
| cliente |
| libro |
| prestamo |
+-----------------------+
3 rows in set (0.02 sec)
mysql>
COMANDO PARA AGREGAR CAMPOS A UNA TABLA
COMANDO add
SINTAXIS
alter table nombre tabla add nombre campo tipo(tamaño) requerido o no; y damos enter
alter table nombre tabla add nombre campo tipo(tamaño) requerido o no after nombre campo; y damos enter (para agregrar un campo despues de otro)
alter table nombre tabla add nombre campo tipo(tamaño) requerido o no first; y damos enter (para agregrar un campo al principio de la tabla)
COMANDO PARA ELIMINAR UN CAMPOS DE UNA TABLA
COMANDO drop
SINTAXIS
alter table nombre tabla drop campo a borrar; y damos enter
COMANDO PARA MODIFICAR EL TAMAÑO DE UN CAMPO
COMANDO modify
SINTAXIS
alter table nombre tabla modify campo a modificar tipo(tamaño) requerido o no; y damos enter
COMANDO PARA CAMBIAR EL NOMBRE DE UN CAMPO
COMANDO change
SINTAXIS
alter table nombre tabla change campo a modificar nuevo nombre campo tipo(tamaño) requerido o no; y damos enter
COMANDO PARA ELIMINAR UNA CLAVE PRIMARIA
COMANDO drop
alter table nombre tabla drop primary key; y damos enter
COMANDO PARA DEFINIR UNA NUEVA CLAVE PRIMARIA
COMANDO modify
SINTAXIS
alter table nombre tabla modify campo tipo(tamaño) requerido o no primary key; y damos enter
COMANDO PARA RENOMBRAR UNA TABLA
COMANDO rename
SINTAXIS
alter table nombre tabla rename to nombre tabla; y damos enter
COMANDO PARA ELIMINAR UNA TABLA
COMANDO drop
SINTAXIS
drop table nombre tabla; y damos enter
COMANDO PARA INFORMACION DE UNA TABLA
COMANDO select
SINTAXIS
select * from nombre tabla; y damos enter (el * es para mostrar todos los datos de la tabla)
COMANDO PARA INSERTAR INFORMACION O REGISTROS A UNA TABLA
COMANDO insert
SINTAXIS
insert into nombre tabla(campo1,campo2,....campoN) values(infcampo1,infcampo2,....infcampoN); y damos enter
COMANDO PARA CONSULTAR O VISUALIZAR INFORMACIÓN
COMANDO select
Condiciones (>,<,>=,<=,<>,=,like). El like sirve para consultar texto.
SINTAXIS
select campo1,campo2,....,campoN from Nombre tabla where condición; y damos enter. (este es especificando los campos que queremos visualizar)
select * from Nombre tabla where condición; y damos enter. (El * es para visualizar todos los campos o registros)
select * from Nombre tabla where Nombre campo like'%r'; y damos enter. (para visualizar que registros terminan en r)
select * from Nombre tabla where Nombre campo like'r%'; y damos enter. (para visualizar que registros inician en r)
select * from Nombre tabla where Nombre campo like'%r%'; y damos enter. (para visualizar que registros contienen r)
FUNCIONES PARA CÁLCULOS
COMANDO select
Funciones: SUM,MAX,MIN,AVG,COUNT.
SINTAXIS
select Nombre Función(campo valor) from Nombre tabla; y damos enter.
COMANDO PARA ORDENAR DATOS
COMANDO order by
Tipo de Ordenado: ASC, DESC.
SINTAXIS
select * from Nombre tabla order by Campo a ordenar Tipo de ordenado; y damos enter.(el tipo de ordenado por defecto lo hace ascendente(asc)
o podemos ordenarlo descendente(desc)).
COMANDO PARA ELIMINAR O BORRAR REGISTROS O INFORMACIÓN
COMANDO delete
SINTAXIS
delete from Nombre tabla Condición; y damos enter.
COMANDO PARA ACTUALIZAR O CORREGIR INFORMACIÓN
COMANDO update
SINTAXIS
update Nombre tabla set Campo a actualizar = Nueva Información o Valor Condición; y damos enter.
- Archivo de Práctica de los Comandos
COMANDO BETWEEN (ENTRE)
COMANDO between
SINTAXIS
select * from nombre tabla where campo between valor and valor; y damos enter.
CONSULTAS RELACIONALES
COMANDO select
SINTAXIS
select nombretabla.nombrecampo, nombretablan.nombrecampon from tabla1, tabla2, tablan where condiciones;
COMANDO join
SINTAXIS
select * from tabla1 inner join tabla2 on tabla1.id=tabla2.id inner join tabla3 on tabla2.id2=tabla3.id2;
SINTAXIS
select * from tabla1 left join tabla2 on tabla1.id=tabla2.id where tabla2.id is null;
SINTAXIS
select * from tabla1 right join tabla2 on tabla1.id=tabla2.id where tabla2.id is null;
COMANDO PARA EL MANEJO DE FECHAS
COMANDO current_date()
SINTAXIS
select curren_date(); muestra la fecha del sistema
select year (current_date()); muestra el año
select month(current_date()); muestra el mes
select day(current_date()); muestra del día
COMANDOS date_add o adddate para hacer intervalos de días, meses y años
SINTAXIS
select date_add(current_date(),interval 15 day);
select date_add(current_date(),interval 3 month);
select date_add(current_date(),interval 5 year);
COMANDO datediff arroja resultado o diferencia en dias, meses o años.
SINTAXIS
select datediff(current_date(),'1969-01-14'); cuantos dias tengo hoy
select nombrecampo, year(current_date()) - year(nacimiento) from nombretabla; muestra la edad aproximada
MANEJO DE VISTAS
COMANDO view, se utiliza para crear tablas temporales.
SINTAXIS
create view nombredelavista as consulta;
mysql> create view visitantesa as select * from visitantes where nombre like'%a';
Query OK, 0 rows affected (0.02 sec)
mysql> select * from visitantesa;
+----+-----------------------+--------------+-----------+-------------+
| id | nombre | ciudad | sexo | montocompra |
+----+-----------------------+--------------+-----------+-------------+
| 4 | Diana Patricia Garcia | Medellin | Femenino | 2500000 |
| 5 | Juan Alberto Cardona | Barranquilla | Masculino | 3500000 |
| 9 | Martha Betancurt Ossa | Cartagena | Femenino | 6000000 |
| 10 | Mateo Vasquez Posada | Cartagena | Masculino | 3000000 |
| 11 | Pablo Andres Arboleda | Cartagena | Masculino | 1500000 |
+----+-----------------------+--------------+-----------+-------------+
5 rows in set (0.00 sec)
mysql> create view visitantesb as select * from visitantes where sexo='Masculino';
Query OK, 0 rows affected (0.02 sec)
mysql> select * from visitantesb;
+----+-----------------------+--------------+-----------+-------------+
| id | nombre | ciudad | sexo | montocompra |
+----+-----------------------+--------------+-----------+-------------+
| 1 | Juan carlos Perez | Bogota | Masculino | 1500000 |
| 5 | Juan Alberto Cardona | Barranquilla | Masculino | 3500000 |
| 6 | Felipe Ardila Castro | Barranquilla | Masculino | 3000000 |
| 10 | Mateo Vasquez Posada | Cartagena | Masculino | 3000000 |
| 11 | Pablo Andres Arboleda | Cartagena | Masculino | 1500000 |
+----+-----------------------+--------------+-----------+-------------+
5 rows in set (0.00 sec)
ELIMINAR VISTAS
COMANDO drop
SINTAXIS
drop view nombredelavistaaeliminar;
COMANDO PARA AGRUPAR INFORMACIÓN
COMANDO group by
SINTAXIS
select * from nombretabla group by nombrecampo;
mysql> select ciudad, count(ciudad) as cantvis from visitantes group by ciudad;
+--------------+---------+
| ciudad | cantvis |
+--------------+---------+
| Barranquilla | 3 |
| Bogota | 2 |
| Cartagena | 4 |
| Medellin | 2 |
+--------------+---------+
4 rows in set (0.13 sec)
mysql> select ciudad, sum(montocompra) as totalcompra from visitantes group by ciudad;
+--------------+-------------+
| ciudad | totalcompra |
+--------------+-------------+
| Barranquilla | 8300000 |
| Bogota | 2500000 |
| Cartagena | 12100000 |
| Medellin | 4500000 |
+--------------+-------------+
4 rows in set (0.03 sec)
mysql> select sexo, sum(montocompra) as totalcompra from visitantes group by sexo;
+-----------+-------------+
| sexo | totalcompra |
+-----------+-------------+
| Femenino | 14900000 |
| Masculino | 12500000 |
+-----------+-------------+
2 rows in set (0.00 sec)
mysql> select ciudad, count(ciudad) as cant_visitantes from visitantes group by ciudad having count(ciudad)>2;
+--------------+-----------------+
| ciudad | cant_visitantes |
+--------------+-----------------+
| Barranquilla | 3 |
| Cartagena | 4 |
+--------------+-----------------+
2 rows in set (0.07 sec)
mysql> select ciudad,sexo, avg(montocompra) as promedio_compra from visitantes group by ciudad,sexo;
+--------------+-----------+-----------------+
| ciudad | sexo | promedio_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.05 sec)
mysql> select ciudad, sum(montocompra) as Mayores_a_5000000 from visitantes group by ciudad having sum(montocompra)>5000000;
+--------------+-------------------+
| ciudad | Mayores_a_5000000 |
+--------------+-------------------+
| Barranquilla | 8300000 |
| Cartagena | 12100000 |
+--------------+-------------------+
2 rows in set (0.00 sec)
COMANDO PARA PROCEDIMIENTOS DE ALMACENADO
SINTAXIS
delimiter //
create procedure NombreProcedimiento( ) ---->dentro del paréntesis pueden ir los parámetros
begin
Instrucciones o instruccion MYSQL;
end
//
delimiter ;
COMANDO PARA VISUALIZAR LOS PROCEDIMIENTOS
SINTAXIS
show procedure status; (para visualizar todos los procedimientos)
show create procedure NombreProcedimiento; (para visualizar el procedimiento en particular)
COMANDO PARA EJECUTAR EL PROCEDIMIENTO
SINTAXIS
call NombreProcedimiento();
COMANDO PARA INSERTAR EN UN PROCEDIMIENTO
SINTAXIS
delimiter //
create procedure insertar_nombretabla(in _nombrecampo1 tipovariable(tamaño), in nombrecampo2 tipovariable(tamaño))
begin
insert into nombretabla(nombrecampo1,nombrecampo2) values(_nombrecampo1,_nombrecampo2);
end
//
delimiter ;
COMANDO PARA CONSULTAR EN UN PROCEDIMIENTO
SINTAXIS
delimiter //
create procedure consultar_nombretabla(in _nombrecampo tipovariable(tamaño))
begin
select * from nombretabla where campotabla= _nombrecampo);
end
//
delimiter ;
COMANDO PARA ELIMINAR EN UN PROCEDIMIENTO
SINTAXIS
delimiter //
create procedure eliminar_nombretabla(in _nombrecampo tipovariable(tamaño))
begin
delete from nombretabla where nombrecampo=_nombrecampo;
end
//
delimiter ;
COMANDO PARA MODIFICAR EN UN PROCEDIMIENTO
SINTAXIS
delimiter //
create procedure modificar_nombretabla(in _nombrecampo1 tipovariable(tamaño), in _nombrecampo2 tipovariable(tamaño))
begin
update nombretabla set nombrecampo2=_nombrecampo2 where nombrecampo1=_nombrecampo1;
end
//
delimiter ;