Comandos MySQL
MariaDB [(none)]> show databses;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'databses' at line 1
MariaDB [(none)]> show database;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'database' at line 1
MariaDB [(none)]> show databases;
+--------------------+
- Database |
+--------------------+
- information_schema |
- mysql |
- performance_schema |
- phpmyadmin |
- test |
+--------------------+
5 rows in set (0.000 sec)
Crear una base de datos
create database nombre_la_BD;//Los nombres deben ser nemotecnicosej: Create database biblioteca
Abrir BD
use
Sintaxis:
use nombre_la_bd
Mostrar tablas
show tables;
Borrar BD
drop
drop database nombre_bd
ej: drop database bdbiblioteca;
Sintaxis
Create table libro
-> (Idlibro varchar(20) not null primary key,
-> Titulo varchar(60) not null,
-> Nropaginas int(4) not null,
-> Precio float not null);}
show tables;x
describe libro;
Como eliminar una clave primaria
Comando Drop
sintaxis
- alter table nombretabla drop primary key;
ejemplo:
- alter table libro drop primary key;
Nota: solo se puede eliminar si no hay ninguna relación
COMO DEFINIR NUEVAMENTE UNA CLAVE PRIMARIA A UNA TABLA
COMANDO modify
sintaxis
alter table nombretabla modify nombre_de_campo tipo(tamaño) not null primary key;
Ejemplo:
alter table libro modify Idlibro varchar(20) not null primary key;
Visualizar
- show columns from prueba.libro; // cuando estas afuera de la base de datos
-show columns from libro; //cuando estas en la base de datos
Como agregar campos a una tabla al final
comando add
sintaxis
alter table nombretabla add nombre_de_campo tipo(tamaño) not null;
Ejemplo
alter table libro add Cantidad int(3) not null;
Colocar un campo despues de otro según la necesidad
comando after
sintaxis
alter table nombretabla add nombre_de_campo tipo(tamaño) not null after nombre_de_Campo que va a quedar antes del nuevo campo
ejemplo:
alter table libro add area varchar(20) not null after Titulo;
insertar un campo al principio de la tabla
comando first
sintaxis
alter table nombretabla add nombre_de_Campo tipo(tamaño) not null first;
ejmplo:
alter table libro add serial varchar(15) not null first;
Como eliminar un campo de una tabla
comando drop
sintaxis
alter table nombretabla drop nombre_de_campo;
ejemplo:
alter table libro drop serial;
Como cambiar el nombre de un campo
comando change
sintaxis
alter table nombretabl change nombre_campo_actual nuevo_nombre tipo(tamaño) not null;
ejemplo:
alter table libro change Titulo Nombre varchar(60) not null;
visualizar como esta creada una tabla
comando show
sintaxis
show create table nombretabla;
ejemplo:
show create table libro;
Como cambiar el nombre de una tabla
comando rename
sintaxis
alter table nombretabla rename to nuevonombretabla;
ejemplo:
alter table libro rename to obra;
Eliminar una tabla
comando drop
sintaxis
drop table nombretabla;
ejemplo:
drop table libro;
Insertar información en una tabla
comando insert
sintaxis
insert into nombretabla(campo1,campo2...campon) values(dato1, dato2... daton);
ejemplo
insert into libro(Idlibro,Nombre,area,Nropaginas,Precio,Cantidad) values ('001','A','Informatica',100,4000,50);
select
Se usa para especificar los nombres de los campos que contienen los datos que quiere usar en una consulta.
SELECT campo1, campo2...
FROM tabla1, tabla2..
select * from libro;
copia de seguridad
mysqldump -B -uroot -p prueba>c:/xampp/prueba.sql
Restaurar la copia de seguridad
source
Luego arrastrar el archivo al cdm
20/09/2024
* -> mostrar todo
Ejercicios con el SELECT
select Titulo,Precio,codigmat1 from libro;
select * from libro where id_libro="L01";
MariaDB [libreria]> select * from libro where Numpg<160;
select * from libro where Numpg>160;
select Titulo,Numpg,precio from libro where precio >5000;
select * from libro where titulo = "Bd II";
select * from libro where Numpg>=100 and precio>=10000;
select * from libro where id_libro="L01"or id_libro="L02" or id_libro="L03";
select * from libro where id_libro>="L01" and id_libro<="L05";
select * from libro where id_libro in('L01','L02','L03');
select * from libro where id_libro between 'L01' and 'L06';
Selecciona de la tabla "libro" donde el título del libro comienza con la letra "C".
select * from libro where titulo like 'C%' ;
termine con la letra "S".
select * from libro where titulo like '%S' ;
contiene la letra "T" en cualquier parte del título.
select * from libro where titulo like '%T%' ;
Contiene la palabra "Datos" en cualquier parte del título.
select * from libro where titulo like '%Datos%';
clase 27/09
Ejercicios con tablas relacionales usando el SELECT
select libro.titulo,autor.nombre from libro,autor,liautedi where libro.titulo='Estructura de datos' and libro.id_libro=liautedi.id_libro1 and liautedi.codaut1=autor.codaut;
select libro.titulo,autor.nombre from libro,autor,liautedi where autor.nombre='Luis Joyanes' and libro.id_libro=liautedi.id_libro1 and liautedi.codaut1=autor.codaut;
select libro.titulo,autor.nombre from libro,autor,liautedi where libro.titulo='Bd II' and libro.id_libro=liautedi.id_libro1 and liautedi.codaut1=autor.codaut;
select libro.titulo 'LIBRO',autor.nombre 'AUTOR' from libro,autor,liautedi where libro.titulo='BD II' and libro.id_libro=liautedi.id_libro1 and liautedi.codaut1=autor.codaut;
CLase 4/10/2024
sintaxis
select funtion(valor o campo) from nombretabla;
1. ej: cantidad de libros
Análisis
1. ¿Qué se desea calcular y de que tablas?
->cantidad de libros
->tabla libro
2 ¿Qué tablas se ven afectadas o involucradas?
->libro
3 condición
->no... NA
4 ¿Cómo se relacionan las tablas?
->no
Función a utilizar: count
sintaxis
select count(*) from libro
select count(*)'cantidad de Libros' from libro;
2. ¿Cuál es el valor total de los libros que poseen la librería?
Análisis
1. total del precio, tabla libro
2, libro
3,NA
4. no aplica
Función a utilizar: sum
sintaxis:
select sum(precio) 'valor total' from libro
¿Cual es el valor del libro más costoso?
Análisis
1.precio más alto, tabla libro
2. libro
3. NA
4. no aplica
sintaxis
select max(precio)'Valor del libro más costoso' from libro;
¿Cuál es el numero de paginas del libro más pequeño que vende la librería?
Análisis
1. no paginas minimo, libro
tabla libro
NA
4. no aplica
funion a utilizar: min
Sintaxis:
select min(numpg) 'Numero de paginas minimo' from libro;
hallar el valor promedio de los libros
1 valor promedio, tabla libro
2. libro
3NA
4. no aplica
funcion a utilizar Avg
sintaxis
modificar o actualizar datos o registros
update
sintaxis
update nombretabla set nombre del campo a actualizar='valor' condición;
Actualizar la cantidad de libros, comenzxando en 5 para el primer libro e incrementar de 5v en 5 para los demas
sintaxis
update libro set cantidad=5 where id_libro='L01';
actualizar campo valor total de cada lidro
Eliminar informacion o registros
comando:
delete
sintaxis
delete from tabla where condicion
Comando Join
sirve para combinar 2 o mas tablas segun la designacion, busquedas más exactas
sintaxis
select * from tabla1 inner joinr tabla2 on tabla1.id=tabla2.id inner join tabla3 on tabla2.id = tabla3.id2
la tabla relacional usualmente es la 2
1 libro.id_libro
libro.titulo
autor.cod
4libro.idlibro= liautedi.id_libro1
liautedi.codaut1 =autor.codaut
select * from libro inner join liautedi on libro.id_libro = liautedi.id_libro1 inner join autor on liautedi.codaut1 = autor.codaut;
select distinct 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;
clase 18/10/2024
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;
select libro.id_libro, libro.titulo,liautedi.id_libro1 from libro right join liautedi on libro.id_libro=liautedi.id_libro1;
select distinct libro.id_libro, libro.titulo,liautedi.id_libro1 from libro right join liautedi on libro.id_libro=liautedi.id_libro1;
Visualizar que autores no han escrito libros
select autor.codaut, autor.nombre,liautedi.codaut1 from autor left join liautedi on autor.codaut=liautedi.codaut1 where liautedi.codaut1 is null;
Visualizar el listado de las editoriales que tienen al menos un libro publicado
select distinct editorial.codedit, editorial.nombre,liautedi.codedit1 from editorial right join liautedi on editorial.codedit=liautedi.codedit1;
Visualizar el listado de los libros con sus autores y las editoriales que los publican
select distinct libro.titulo 'LIBRO',autor.nombre 'AUTOR', editorial.nombre 'EDITORIAL' from libro RIGHT JOIN liautedi ON libro.id_libro = liautedi.id_libro1 INNER JOIN autor ON liautedi.codaut1 = autor.codaut INNER JOIN editorial ON editorial.codedit = liautedi.codedit1;
Clase 25/10/2024
truncate table edicion;
show create table detalle;
mysqldump -B -uroot -p --routines matricula>c:/xampp/matricula2.sql