ComandosMySql
ComandosMySql
Primero se debe entrar al XAMPP y subir los servicios Apache y MySql
-Entrar al cmd y colocar: cd/xampp/mysql/bin
-Luego: cd/xampp/mysql/bin
-Para mirar que bases de datos hay: SHOW DATABASES;
-Para grabar: tee c:/xampp/pruebamysql.txt
Crear una base de datos.
create database nombre_la_bd;
Eliminar una base de datos.
Drop database nombre_la_bd;
Eliminar una clave primaria.
alter table nombretabla drop primary key;
Como definir nuevamente una clave primaria.
alter table nombretabla modify nombrecampo varchar(20) not null primary key;
Abrir base de datos.
Use nombre_la_bd;
Mirar tablas.
Show tables;
Mirar contenido tablas
select * from nombretabla;
Como agregar campos a una tabla;
alter table nombretabla add nombrecampo varchar(20) not null;
Inserta un campo despues de otro segun la necesidad
alter table nombretabla add nombrecampo varchar(20) not null after nombre campo que va quedar antes del nuevo campo;
Insertar un campo al principio de la tabla
alter table nombretabla add nombrecampo varchar(20) not null first;
Eliminar campos de una tabla
alter table nombretabla drop nombrecampo;
Como cambiar el nombre de un campo
alter table nombretable change nombrecampoActual nombrecampoNew varchar(20) not null;
Como cambiar el nombre de una tabla
alter table nombretabla rename to nuevonombretabla;
Como insertar datos
insert into nombretabla values();
Restaurar una base de datos
source y la ruta
Visualizar lo que uno quiera
select Titulo,Precio from libro;
Visualizar informacion del id_libro L01
select * from libro where id_libro = 'L01';
Visualizar con where
select titulo, numpg, precio from libro where precio>5000;
select * from libro where Numpg >= 100 and precio>=100000;
select * from libro where id_libro='L01' or id_libro='L02' or id_libro='L03';
Lo mismo diferente modo:
select * from libro where id_libro >= 'L01' and id_libro <= 'L05';
select * from libro where id_libro in ('L01', 'L02', 'L03', 'L04', 'L05');
select * from libro where id_libro between 'L01' and 'L05';
Inicie con esta letra
select * from libro where titulo like 'c%';
Termine con esta letra
select * from libro where titulo like '%c';
Que contenga alguna letra
select * from libro where titulo like '%t%';
Cantidad
select count(*) from libro;
Ponerle Nombre
select count(*) 'Cantidad de Libros' from libro;
Sumar
select sum(precio)'Valor Total' from libro;
Maximo de una columna
select max(precio)'Precio Mayor' from libro;
Minimo de una columna
select min(Numpg)'Menor de paginas' from libro;
Promedio Tabla
select Avg(precio)'Valor promedio libros' from libro;
Actualizar Nombre Campo Tabla
update libro set Titulo = 'Redes y Comunicacion' where id_libro='L07';
Borrar una columna
delete from libro where id_libro='L07';
Ordenar Tablas
select * from libro order by Titulo;
Mayor a Menor
select * from libro order by Numpg desc;
select libro.id_libro,libro.Titulo,autor.codaut,autor.nombre from libro inner join liautedi on libro.id_libro = liautedi.id_libro1 inner join autor on liautedi.codaut1 = autor.codaut;
Left Join
select libro.id_libro,libro.titulo,liautedi.id_libro1 from libro left join liautedi on libro.id_libro=liautedi.id_libro1 where liautedi.id_libro1 is null;
+----------+---------------------+-----------+
| id_libro | titulo | id_libro1 |
+----------+---------------------+-----------+
| L01 | Cálculo II | NULL |
| L03 | Estructura de Datos | NULL |
| L05 | Admon en una página | NULL |
+----------+---------------------+-----------+
Right Join
select libro.id_libro,libro.titulo,liautedi.id_libro1 from libro right join liautedi on libro.id_libro=liautedi.id_libro1;
+----------+---------------+-----------+
| id_libro | titulo | id_libro1 |
+----------+---------------+-----------+
| L02 | Bd II | L02 |
| L02 | Bd II | L02 |
| L04 | Inglés | L04 |
| L04 | Inglés | L04 |
| L04 | Inglés | L04 |
| L06 | Contabilidad1 | L06 |
+----------+---------------+-----------+
Distinct
select distinct libro.id_libro,libro.titulo,liautedi.id_libro1 from libro right join liautedi on libro.id_libro=liautedi.id_libro1;
+----------+---------------+-----------+
| id_libro | titulo | id_libro1 |
+----------+---------------+-----------+
| L02 | Bd II | L02 |
| L04 | Inglés | L04 |
| L06 | Contabilidad1 | L06 |
+----------+---------------+-----------+
Otros Comandos.
create table edicion(codigo int auto_increment, descripcion char(30) notnull, primary key (codigo));
Eliminar la informacion de un campo especifico.
delete from edicion where codigo = 1;
Eliminar toda la informacion.
delete from edicion;
Para que vuelva el auto incrementable a 1
hace un borrado fisico de los registros de las tables y recupera los consecutivos
mientras que delete hace un borrado logico y no borra consecutivos
truncate table edicion;
No acepte números negativos
create table producto(codigo int auto_increment, nombre char(30) not null,precio float unsigned, primary key (codigo);
Actualizar
update producto set precio=100000 where codigo=3;
Subconsultas:
update detalle set valorventa = (select valorunitario + (valorunitario * 0.23) from articulo where articulo.codigo = detalle.codigo);
Duplicar una tabla
create table copia like detalle;
Funciones crear
delimiter //
create procedure insertar_alumno(in _carnet char(10), in _nombre char(40), in _estado char(10))
-> begin
-> insert into alumno values(_carnet,_nombre,_estado);
-> end
-> //
Funciones eliminar
delimiter //
create procedure eliminar_alumno(in _carnet char(10))
-> begin
-> delete from alumno where carnet = _carnet;
-> end
-> //
delimiter;
Funciones modificar
delimiter //
create procedure modificar_alumno(in _carnet char(10), in _nombre char(40), in _estado char(10))
-> begin
-> update alumno set nombre=_nombre,estado=_estado where carnet=_carnet;
-> end
-> //
delimiter;
Visualizar que procedimiento hay creados
show procedure status;
Visual que función tiene
show create procedure listar_alumno;g
Call llamar
call insert_alumno('012', 'Sofia', 'Activo');
Eliminar Función
Drop procedure insert_alumno;
Copia De Seguridad
mysqldump -B -uroot -p --routines matricula>C:/xampp/matricula2.sql