Gallery

MySQL


CREAR BASE DE DATOS
                create database mike;

                show databases;
                show tables;

HAY QUE ACCEDER A LA BASE DE DATOS
                use mike;

CREAT UNA TABLA user

                create table user(
                id int not null auto_increment (SIEMPRE CON AUTO TABLA PRINCIPAL),
                name varchar(50) not null,
                email varchar(100) not null,
                celular int not null,
                fk_depto int not null,

                primary key (id),

CREAR UNA FOREIGN KEY (para hacerlo bien, la 1er tabla debe estar con datos)
              foreign key (fk_depto) references departamento(Clave_Depto)
                         );

NO ES NECESARIO AGREGAR DATOS EN LA PRIMARY KEY IZQUIERDA

TIENE QUE TENER DATOS LA TABLA DE LA IZQUIERDA PARA FKEY

AGREGAR DATOS EN LA TABLA user
                insert into user (name, edad, correo)
                value
                    ('michella', 6, 'michella@gmail.com'),
                    ('reyna', 37, 'reyna@hotmail.com'),
                    ('mike', 38, 'mikesalinas@me.com');

DESCRIBE (MUESTRA COMO ESTAN CREADAS LAS COLUMNAS: tipo, llaves, null)
                describe nombre_tabla;
 
BUSCAR DENTRO DE TODA LA TABLA
                select * from user;

COINCIDIR CON AMBAS PETICIONES (AND): estado y tipo
                select * from animales where estado = 'feliz' AND tipo = 'chanchito';
        
ACTUALIZA TODOS LOS ID
                UPDATE animales SET estado ='triste' where id;

RENOMBRAR TABLA
                rename table users to user;

AGREGAR COLUMNA
                alter table nombre_tabla add nombre_columna int not null;

EDITAR COLUMNA ESPECIFICA - AGREGAR DATOS A LA COLUMNA
                update nombre_tabla set nombre_columna(lo que modificaremos) = 2 where id = 2;

MOSTRAR COLUMNAS ESPECIFICAS DE UNA TABLA
                select id, name from user;

MOSTRAR EL ID 1
                select * from user where id = 1;

MOSTRAR VARIOS IDS
                select * from user where id in (5,1,3);

MOSTRAR EL MAYOR DE EDAD O MENOR
                select max(edad) as mayor from user;
                select min(edad) as menor from user;

MOSTRAR ORDEN ASCENDENTE O DESCENDENTE
                select * from user order by edad asc;
                select * from user order by edad desc;

MOSTRAR DUPLICADOS 1X1 EN CADA FILA
                select apellidos from empleados where apellidos ='López';

MOSTRAR VARIOS DUPLICADOS ESPECIFICOS (AND & OR)
                select * from empleados where apellidos ='López' OR apellidos = 'Pérez';

MOSTRAR DUPLICADOS AGRUPADOS
                select apellidos, COUNT(*) as veces_duplicados 
                FROM empleados
                GROUP BY apellidos HAVING COUNT(*) > 1;

MOSTRAR SIN DUPLICADOS
                SELECT DISTINCT(apellidos) from empleados;

BUSCAR USUARIO CON EDADES DE ENTRE
                select * from user where edad between 30 and 40;

BUSCAR A TODOS LOS USUARIOS CON EDAD 6 o mayores Y CORREO ''
(tiene que estar escrito completo)
                select * from user where edad = 6 or correo = 'michella@me.com';
                select * from user where edad > 6 or correo = 'michella@me.com';

BUSCAR QUE CONTENGAN mi AL INICIO
                select * from user where correo like 'mi%';
                select * from user where correo like '%mi%'; o donde sea

BUSCAR POR MAYOR QUE
                select * from user where edad > 15;
                select * from user where edad >= 15;

ELIMINAR BS & TABLA
                drop database nombre_bd;
                drop table nombre_tabla;

ELIMINAR FILA DE TABLA user
                delete from user where id = 4;  

LEFT RIGHT INNER CROSS / JOIN
(a menos que tengan el mismo nombre en columnas separarlas d. e.)
REGLA:   (pkey primary key - fkey foreign key)
                select .#. from departamento d left join empleados e on d.pkey = e.fkey;
                select .#. from departamento d left join empleados e on d.clave_depto = e.cv_depto;
                select u.id,  u.email, p.name from user u left join product p on u.id = p.created_by;
                select u.id,  u.email, p.name from user u right join product p on u.id = p.created_by;
                select u.id,  u.email, p.name from user u inner join product p on u.id = p.created_by;
                select u.id,  u.name, p.id, p.name from user u cross join product p;

MUESTRA CANTIDAD DE PRODUCTOS (con # de duplicados)
                SELECT count(id), marca from product group by marca;

MUESTRA CANTIDAD DE PRODUCTOS POR USUARIO                 select count(p.id), u.name from product p left join user u on
                u.id = p.created_by group by p.created_by;
    
MUESTRA CANTIDAD DE PRODUCTOS POR USUARIO QUE
SON MAYORES O IGUAL A 2
                select count(p.id), u.name from product p left join user u on
                u.id = p.created_by group by p.created_by having count(p.id) >=2;

        <span>CSS</span>
            white-space: pre-line;
            line-height: 20px;

AJUSTES DE COLORES PARA APLICACION MYSQL WORKBRENCH
ABRIRLA CON VSC PARA EL AJUSTE, ES MÁS RÁPIDO
ID
0 back-color-light / Text Background 6 fore-color-light / Valores numeros 8 fore-color-light / Lo que escribimos 12 fore-color-light / Valores letras 16 fore-color-light / Palabras id y despues de where 32 back-color-light / Background 33 fore-color-light / List style númbero

No hay comentarios:

Publicar un comentario

Documental de Hackers