Comandos MySQL
para ingresar al MySQL
para ingresar a Mysql digitamos lo siguiente en la consola del DOS
cd\xampp\mysql\bin
Luego digitamos el comando mysql -uroot -p para ingresar a la consola de MySQL, digitamos la contraseña
o le damos enter si no posee contraseña.
Comando para visualizar las bases de datos:
Comando: Show
Sintaxis: show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cdcol |
| data |
| mysql |
| performance_schema |
| phpmyadmin |
| test |
| webauth |
+--------------------+
8 rows in set (0.07 sec)
Comando para crear una base de datos
comando: Create
Sintaxis: create database (nombre de la BD;
Ejemplo: Create database Biblioteca_CUR;
create database biblioteca_cur;
Query OK, 1 row affected (0.02 sec)
Comando para crear una Tabla
Sintaxis: Create table (nombre de la tabla)
(campo1 tipo(tamaño9 si es nulo o no,
.
.
.
CampoN tipo(tamaño) si es nulo o no);
Comando para usar la base de datos:
comando: Use
sintaxis use (nomre de la base de datos)
Ejemplo: use biblioteca_cur
create table libro
-> (cod_lib char(7) not nu
-> nom_lib char(50) not nu
-> Cant_lib integer(3) not
Query OK, 0 rows affected (0.5
mysql> show tables;
+-------------------------------+
| Tables_in_biblioteca_cur |
+-------------------------------+
| libro |
+-------------------------------+
1 row in set (0.00 sec)
Ver Tablas de datos:
Comando: show tables;
Ejemplo
mysql> show tables;
+-------------------------------+
| Tables_in_biblioteca_cur |
+-------------------------------+
| libro |
+-------------------------------+
1 row in set (0.00 sec)
Comando para visualizar la estructura de una base de datos
Comando: describe
Sintaxis: describre (nombre de la tabla);
Ejemplo: describe libro;
mysql> describe libro;
+----------+----------+------+-----+---------+---------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------+------+-----+---------+---------+
| cod_lib | char(7) | NO | PRI | NULL | |
| nom_lib | char(50) | NO | | NULL | |
| Cant_lib | int(3) | NO | | NULL | |
+-----------+-------------+------+-----+---------+-------+
3 rows in set (0.08 sec)
Comando para restaurar la base de datos
Comando: source
Sintaxis: source (Ruta de la base de datos)
Ejemplo: source D:\base de datos\biblioteca_cur.sql
Comando para realizar Backup a la base de datos
Comando: mysqldump
Sintaxis: mysqldump -B -p -uroot biblioteca_cur >d:/Biblioteca.sql
Ejemplo: mysqldump -B -p -uroot biblioteca_cur >d:/Biblioteca.sql
Nota debemos salir de Mysql primero con el comando Exit
COMANDOS PARA AGREGAR CAMPOS A UNA BASE DE DATOS
Como agregar campos a una tabla
Val_lib --> numerico --> 10 --> Requerido
Comando: add
Sintaxis: alter table "en que tabla" add campo tipo requerido o no;
Ejemplo: alter table libro add Val_lib float(10) not null;
Insertar un campo en determinado espacio
Sintaxis: alter table libro add Ref_lib char(10) not null after Cod_lib;
para agregar un campo al principio de la tabla
Sintaxis: alter table libro add ID char(3) not null first;
Como eliminar, borrar campos de una tabla:
Comando: Drop
Sintaxis: alter table "en que tabla" drop nombre del campo;
Ejemplo: alter table libro drop Id;
Comando para modificar el tamaño a un campo
Comando: modify
Sintaxis: alter table "en que tabla" modify (nombre del campo) tipo(nuevo tamaño) Requerido o no;
Sintaxis: alter table libro modify nom_lib char(40) not null;
Comando para modificar el nombre de un campo
Comando: change
Sintaxis: alter table "en que tabla" change (nombre del campo) (nuevo nombre) tipo(nuevo tamaño) Requerido o no;
Sintaxis: alter table libro change val_lib valor_lib float(40) not null;
Comando para cambia el nombre a una tabla
Comando: Rename
Sintaxis: alter table (nombre de la tabla) Rename (nuevo nombre);
Sintaxis: alter table libro Rename Book;
Crear tabla llamda Edicion
+-------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key |Default |Extra |
+-------------+----------+------+-----+---------+-------+
| Cod_edicion | char(10) | NO | | NULL | |
| Nombre | char(20) | NO | | NULL | |
+-------------+----------+------+-----+---------+-------+
* Cod_edicion --> Texto(10)
Nombre --> Texto(10)
Sintaxis:
create table edicion
(Cod_edicion char(10) not null primary key,
Nombre Char(20) not null);
Eliminar una Clave Primaria
alter table edicion drop primary Key;
Como definir una clave primaria
Comando Modify
Sintaxis: alter table "en que tabla" o Modify (nombre del campo) tipo(nuevo tamaño) not null primary key;
Sintaxis: alter table edicion o Modify Nombre char(20) not null primary key;
Comando para Eliminar una Tabla
Comando: Drop
Sintaxis: Drop table (nombre de la tabla);
Ejemplo: Drop table edicion;
Como ver informacion de una tabla
Comando: Select
Sintaxis: select * from (nombre de la tabla);
Select campo1,campo2,campoN from (nombre de la tabla);
Ejemplo: select * from Book;
Como ingresar informacion a una tabla
Comando: Insert
Sintaxis: Insert into "nombre de la tabla"(campo1,campo2campoN) values(Valcampo1,Valcampo2,ValcampoN;);
Ejemplo: insert into book(cod_lib,nom_lib,cant_lib,Valor_lib) values ('000001','Lo que el viento se llevo',20,40000);
create table acud_estu
(cedula char(10) not null,
codigo char(10) not null,
foreign key(cedula) references acudiente(cedula) on delete cascade on update cascade,
foreign key(codigo) references estudiante(codigo) ond delete cascade on update cascade);
Crear tabla relacional ...
mysql> create table lib_aut
-> (cod_lib char(7) not null,
-> cod_aut char(7) 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);
Query OK, 0 rows affected (0.28 sec)
2014-09-20
para visualizar informacion debemos tener en cuenta ...
1. que es lo que deseo visualizar
2. en que tabla esa lo que deseo visualizar.
Condiciones
>,<,>=,<=, <>,=
Sintaxis para hacer consulta con condiciones
select from nombre de la tabla where condicion;
visualizar si existe un libro que lleve por nombre lo que el viento se llevo
Sintaxis: select * from libro where nom_lib='lo que el viento se llevo';
Visualizar toda la informacion de los libros cuya cantidad sea mas de 20
Sintaxis: select * from libro where cant_lib>=20;
Visualizar el nombre de los autores que empiecen por "a"
LIKE '%a' terminan en a
'a%' Comienzan por a
'%a%' en alguna parte contiene una a
Sintaxis: select * from autor where nombre like 'a%';
Visualizar los nombres de los libros que finalicen con la letra a o finalicen en la letra s
Sintaxis: select * from libro where nom_lib like '%a' or nom_lib like '%a';
FUNCIONES:
sumar >>>sum
Maximo >>>max
Minimo >>>min
Promedio >>>avg
Contar >>>count
Sintaxis
select funcion utilzar(campo) from nombre tabla;
select sum(cant_lib) from libro;
Ejemplo: calcular el total de libros que posee la biblioteca
select sum(cant_lib) from libro;
+---------------+
| sum(cant_lib) |
+---------------+
| 203 |
+---------------+
select sum(cant_lib) 'Total libros' from libro;
04/10/2014
COMANDO PARA ACTUALIZAR UN CAMPO O INFORMACION
Comando
Update
Sisntaxis
Update Nombre_tabla set Campo=nueva Informacion Where Condicion;
Ejemplo para el libro 101 cambaiar el numero de paginas a 200
Update libro set Nropagina=200 Where IDlibro='L01';
Update libro set descripcion='Ingles II' Where IDlibro='L04';
COMANDO PARA BORRAR UN REGISTRO
Comando
Delete
Sintaxis
Delete From Nombre_tabla Where Condicion(s);
Ejemplo ELiminar el libro L09
Delete From libro Where Idlibro="L09";
visualizar la informacion de los libros L01, L03 y L05
select * from libro where idlibro='L01' or idlibro='L03' or idlibro='L05';
Select * from libro where idlibro in('L01','L03','L05');
visualizar la informacion de los libros L01 al L05
select * from libro where idlibro>='L01' and idlibro<='L05';
Comando
Between
select * from libro where idlibro between 'L01' and 'L05';
comando
para actualizar campo
comandoà update
update nombre tabla set campo= nueva información where
condición;
Ejemplo: para el libro numero l01 cambiar el número de
páginas por 200
update libro set nropagina=200 where
idlibro='l01';
Comando
para eliminar registro o información
comandoà DELETE
delete from nombre tabla where condicion's;
ejemplo eliminar el libro l09
visualizar la información de los libros 1,3 y 5
Comando
para visualizar datos o registros no adyacentes
comandoà
select * from libro where idlibro in ('l01','103','l05');
Comando para visualizar datos con rango
Comandoà between
select * from libro where idlibro
between'l01','103','l05';
Consulta
relacionales o varias tablas:
*uno a uno
*uno a muchos
Tener en
cuenta:
- que deseamos mostrar
- que tablas se ven afectadas o involucradas
- condiciones en particular (lógica/se cumplan)
- como se rrelaciona una tabla con la otra
comando: sleect campos campo from tablas where condiciones;
EJEMPLO
Consultar quien o quienes son los autores del libro
diagramación
- que
deseamos mostrar:
libro. idlibro, libro. descripcion, autor. codautor, autor.
nombre
- que tablas se ven afectadas o involucradas:
libro, autor liautedi
- condiciones en particular (lógica/se
cumplan):
libro.descripcion='diagramacion'
- como se relaciona una tabla con la
otra
libro.idlibro=liautedi.idlibro y
liautedi.codautor=autor.codautor
Comando:
select libro.idlibro,libro.descripcion,autor.codautor,autor.nombre from
libro,autor,liautedi where libro.descripcion="redes" and libro.idlibro=li
autedi.idlibro and liautedi.codautor=autor.codautor;
Ejemplo 2
de que libros es autor Robert lorber
- que
deseamos mostrar:
libro. idlibro, libro. descripcion, autor. codautor, autor.
nombre
- que tablas se ven afectadas o involucradas:
libro, autor liautedi
- condiciones en particular (lógica/se
cumplan):
libro.descripcion='diagramacion'
- como se relaciona una tabla con la
otra
libro.idlibro=liautedi.idlibro y
liautedi.codautor=autor.codautor
select libro.idlibro,libro.descripcion,autor.codautor,autor.nombre
from
libro,autor,liautedi where autor.nombre="robert lorbert" and libro.idlibro=li
autedi.idlibro and liautedi.codautor=autor.codautor;
MOSTRAR
TODOS LOS LIBROS CON SUS RESPECTIVOS AUTORES
select libro.idlibro,libro.descripcion,autor.codautor,autor.nombre
from
libro,autor,liautedi where libro.idlibro=liautedi.idlibro and
liautedi.codautor=
autor.codautor;
hallar el valor total de los libros escritos por Riaz Khadem
select sum(libro.precio) from
libro,autor,liautedi where autor.nombre="Riaz Khadem" and
libro.idlibro=liautedi.idlibro and liautedi.codautor=autor.codautor;
contar los libros de riaz khadem cuyo precio sea mayor 45000
select count (libro.precio) from
libro,autor,liautedi where libro.precio>45000 autor.nombre="Riaz
Khadem" and libro.idlibro=liautedi.idlibro and liautedi.codautor=autor.codautor;
Comando JOIN
union entre varias tablas
* Conulta entre varias tablas
Sintaxis
select * from tabla1 inner join tabla2 on tabla1.id=tabla2.id inner join tabla3 on tabla2.id2_tabla.id3;
select alumno.codestu, alumno.nombre, carrera.codcarre, carrera.carrera from alumno inner join alumcar on alumno.codestu= alumcar.codestu inner join carrera on alumcar.codcarre=carrera.codcarre;
Que alumnos estan matriculados en la carrera de Derecho
select alumno.codestu, alumno.nombre, carrera.codcarre, carrera.carrera from alumno inner join alumcar on alumno.codestu= alumcar.codestu inner join carrera on alumcar.codcarre=carrera.codcarre and carrera.codcarre='004';
+---------+------------------------+----------+---------+
| codestu | nombre | codcarre | carrera |
+---------+------------------------+----------+---------+
| 036 | Laureano Calle Oquendo | 004 | Derecho |
+---------+------------------------+----------+---------+
1 row in set (0.00 sec)
matricularme en la carrera derecho
insert into alumno(codestu,nombre,direccion,telefono) values ('036','Laureano Calle Oquendo','CAlle 4',312847900);
insert into alumcar(codestu,codcarre) values ('036','004');
Mostrar los profesores y que carreras dictan cada uno de ellos
select profesor.codprofe,profesor.nombre,carrera.codcarre,carrera.carrera from profesor inner join profcar on profesor.codprofe=profcar.codprofe inner join carrera on profcar.codcarre=carrera.codcarre;
Mostrar que carreras dicta el profesor Portacio Cartagena
select profesor.codprofe,profesor.nombre,carrera.codcarre,carrera.carrera from profesor inner join profcar on profesor.codprofe=profcar.codprofe inner join carrera on profcar.codcarre=carrera.codcarre and profesor.nombre='Portacio Cartagena';
Visualizar que estudiantes no estan matriculados
___________________________________________________________
!Clase 2014-11-15 !
!_________________________________________________ _!
Subconsultas....select(s)
Select............select(s)
Update...........select(s)
Delete............select(s)
Insert............select(s)
Sintaxis
update table set campo=valor Where Condicion;
update table set (subconsulta), (subconsulta),Campo=Valor = Where Subconsulta;
Calcular el valor Venta de la Tabla detalle con un invremento del 23% del valor unitario de la tabla articulo
Analisis:
Comando Update
Campo a remplazar: >> ValorVenta.detalle
con que reemplazar >> valor unitario + Valor Unitario * 0.23
update detalle set Valorventa=(select valorunitario + (valorunitario * 0.23) from articulo Where articulo.codigo=detalle.codigo);
Calcular el total de la tabla detalle
Analisis:
update detalle set total=valorventa * cantidad;
Calcular las existencias segun la tabla detalle de cada articulo
Analisis:
Comando >> Update
Campo a remplazar: >> Existencia.detalle
con que reemplazar >> Cantidad - sum (cantidad detalle)
Condiciones >> codigo.articulo=detalle.codigo
Sintaxis
update articulo set existencia=cantidad - (select sum(cantidad) from detalle Where detalle.codigo=articulo.codigo);
Eliminar los articulos que allan vendido entre 3 y 5 articulos
Analisis:
Comando >> -Delete
Campo a Eliminar: >> Cantidad.detalle
con que reemplazar >> Cantidad - sum (cantidad detalle)
Condiciones >> codigo.articulo=detalle.codigo
delete from articulo where codigo=(select codigo from detalle where cantidad between 3 and 5 and detalle.codigo=articulo.codigo group by articulo.codigo);
Crear una tabla copia (duplicar la tabla detalle ) y llenarla con la informacion de detalle pero solo con la informacion de febrero
Como duplicar una tabla
create table copia like detalle;
Cuando duplicamos una tabla solo nos duplica la estructura (la crea pero vacia)
Insert into copia select * from detalle where month(fecha)=2;
delimiter //
create procedure insertar_articulo(in cod char(10), in art char(40), in cant int(11), in valor int(11), in exis int(11))
begin
insert into articulo values(cod,art,cant,valor,exis);
end
//
Sintaxis
mysql> delimiter //
mysql> create procedure insertar_articulo(in cod char(10), in art char(40), in c
ant int(11), in valor int(11), in exis int(11))
-> begin
-> insert into articulo values(cod,art,cant,valor,exis);
-> end
-> //
Query OK, 0 rows affected (0.07 sec)
como Exportar base de datos y subprogramas
mysqldump -B -uroot -p --routines subconsultas >d:/subconsultas.sql