MySQL


Comandos basicos:

Los comandos van en mayusculas como buenas prácticas y siempre poner al final el punto y coma.

USE world; para que muestre la base de datos
SELECT* FROM city; 
SELECT * FROM country;
SELECT*  FROM countrylanguage;

Con el icono del rayo se ejecuta el comando

Nota: Si se hace hover sobre el comando y se le da click al rayo se habre solo es o esos comandos subrayados

Creando una nueva base de datos

Le damos clic al primer icono crear una nueva sql tab para habrir una pestaña nueva

luego 

CREATE DATABASE jugos; 

y precionamos el icono del rayo

luego en la parte izquierda le damos clic derecho y le damos refresh all para verla

*************************************************************
Nota squema == database 

-------------------------------------------------------------------------------------------

luego en la parte izquierda le damos clic derecho y le damos crear squema luego en charset UTF8
y en el otro utf8_general_ci

luego abajo aply

---------------------------------------------------------------------------------------------
Eliminar DB

Con el comando DROP  SCHEMA <nombre de la DB> lo marcamos con el mose para seleccionar el comando y le damos al rayo

O darle click derecho y darle drop db

Crear una tabla

1- Con la interfaz que biene numerada

USE jugos2;

CREATE TABLE TBCLIENTES(
DNI VARCHAR (20),
NOMBRE VARCHAR (150),
DIRECCION1 VARCHAR (150),
DIRECCION2 VARCHAR (150),
BARRIO VARCHAR (50),
CIUDAD VARCHAR (50),
ESTADO VARCHAR (50),
CP VARCHAR (10),
EDAD SMALLINT, 
SEXO VARCHAR (1),
LIMITE_CREDITO FLOAT,
VOLUMEN_COMPRA FLOAT,
PRIMERA_COMPRA BIT(1));

2-Con el asistente que esta al darle click derecho en la parte izquierda de la pantalla y la opcion crear tabla

En la tabla se le da el nombre primero, luego en la flecha de la derecha se preciona y luego se le da doble click en la parte que dice column name
le ponemos el nombre y el tipo de variable
y en la siguiente linea hacemos lo mismo con la siguiente fila
y luego le damos apply

Copiar tablas 

solo hay que seleccionarlas con el mouse y darle click al rayo

Eliminar tabla 

con click derecho, drop table, drop now

La otra forma es por linea de comando
DROP TABLE <nombre de la tabla>;

Ingresar datos de Tablas de excel en la DB

Sku ; es la cantidad que se mantiene en stock

habrimos una pestaña nueva y nos aseguramos que se valla a escribir en la base adecuada con

USE <nombre de la tabla>

INSERT INTO tbproductos(
producto, nombre, envase, volumen,
sabor, precio) VALUES ('773912', 
'clean', 'botella pet', '1 litro', 
'naranja', 8.01);

Luego de copiados los datos los seleccionamos y clickamos el rayo

Para veridicar usamos el comando

SELECT * FROM tbproductos;

lo seleccionamos y clickamos el rayo.

Alterar datos en la DB

Ejem; pegamos esto

USE jugos2;

INSERT INTO tbproductos(
producto, nombre, envase, volumen, sabor,
precio) VALUES ('695594', 'Festival de Sabores', 'Botella PET',
'1.5 Litros', 'Asaí', 18.51);

INSERT INTO tbproductos(
producto, nombre, envase, volumen, sabor,
precio) VALUES ('1041119', 'Línea Citrus', 'Botella de Vidrio',
'700 ml', 'Lima', 4.90);

SELECT * FROM tbproductos 

Habrimos una nueva pestaña para corregir valores equivocados y usamos el comando  UPDATE


UPDATE tbproductos SET precio = 28.51
WHERE producto = '695594';

UPDATE tbproductos SET sabor = 'Lima/Limon', precio = 4.90
WHERE producto = '1040107';

Ahora si no tenemos una llave privada el workbench nos exige crear uno

vamos a edit preferences, SQL Editor, en la parte de abajo donde esta marcado con un check safe Updates lo desmarcamos y le damos ok para salirnos y después ya podemos hacer el update

Si nos da el error hay que reinicial el workbench

Delete productos

No se usa el comando drop se usa delete, en este caso se usa delete por que queremos borrar registros

Nota: Si es para remover un campo o una tabla se usa drop

// DELETE FROM tbproductos , si escribimos esto borra toda la tabla

Por eso hay que ser más especifico con el comando ejemplo

DELETE FROM tbproductos WHERE producto = '773912';

Si ya se borro no importa si se ejecuta el comando por que el registro no existe

--------------------------------

Siempre es bueno tener una llave primaria para evitar la duplicidad de los datos

LLave primaria

Es el campo o los campos en los cuales los registros no se pueden repetir
comando para crearla:

ALTER TABLE tbproductos ADD PRIMARY KEY(PRODUCTO);

*-* Entoces una buena práctica es crear una llave primaria al principio de una tabla

Crear un nuevo campo con llave primaria ejemplo 2:

USE jugos2;

ALTER TABLE tbclientes ADD PRIMARY KEY (DNI);

ALTER TABLE tbclientes ADD COLUMN (FECHA_NACIMIENTO DATE);

----------------------------------------------------
Nota aparte:
Nota para recordar el campo bit solo acepta 0 y 1
Nota2 en el formato date es AÑO-DIA-MES
----------------------------------------------------

Crear un nuevo campo con llave primaria en tabla ya creada:

USE jugos2;

ALTER TABLE tbclientes ADD PRIMARY KEY (DNI);

ALTER TABLE tbclientes ADD COLUMN (FECHA_NACIMIENTO DATE);

INSERT INTO tbclientes(
DNI, 
NOMBRE, 
DIRECCION1, 
DIRECCION2, 
BARRIO, 
CIUDAD, 
ESTADO, 
CP, 
EDAD, 
SEXO, 
LIMITE_CREDITO, 
VOLUMEN_COMPRA,
PRIMERA_COMPRA,
FECHA_NACIMIENTO)VALUES(
'456879548','Pedro el Escamoso', 'calle del sol, 25','','Los Laureles', 'CDMX','Mexico', '65784', 55, 'M', 1000000, 2000, 0, '1971-05-25');

//para ver la tabla que acabamos de crear
SELECT * FROM tbclientes;

----------------------------------------------------
Abrir un archivo SQL desde la IDE

File, SQL script, y seleccionamos el archivo

-----------------------------------------------------

Iterando datos desde el IDE

SELECT * FROM tbcliente;

SELECT DNI, NOMBRE, DIRECCION1, DIRECCION2, BARRIO, CIUDAD,
ESTADO, CP, FECHA_NACIMIENTO, EDAD, SEXO, LIMITE_CREDITO,
 VOLUMEN_COMPRA, PRIMERA_COMPRA FROM tbcliente;
 
 SELECT DNI, NOMBRE FROM tbcliente;
 
 SELECT NOMBRE, SEXO, EDAD, DIRECCION1 FROM tbcliente;
 
 SELECT NOMBRE AS Nombre_Completo, SEXO AS Genero, EDAD AS Años, DIRECCION1 AS Domicilio FROM tbcliente;
 
 SELECT NOMBRE, SEXO, EDAD, DIRECCION1 FROM tbcliente Limit 6;

Iterando valores especificos

SELECT * FROM tbproducto;

SELECT * FROM tbproducto WHERE SABOR = 'Maracuyá';

SELECT * FROM tbproducto WHERE ENVASE = 'Botella de vidrio';

UPDATE tbproducto SET SABOR = 'citrico' WHERE SABOR = 'limón';

SELECT * FROM tbproducto WHERE Sabor = 'limón';

SELECT * FROM tbproducto WHERE Sabor = 'citrico';

Iteraciones con >< <>

SELECT * FROM tbcliente;

SELECT * FROM tbcliente WHERE EDAD > 27;

SELECT * FROM tbcliente WHERE EDAD < 27;

SELECT * FROM tbcliente WHERE EDAD >= 27;

SELECT * FROM tbcliente WHERE EDAD <> 26;

SELECT * FROM tbcliente WHERE NOMBRE > 'Erica Carvajo';

SELECT * FROM tbcliente WHERE NOMBRE <= 'Erica Carvajo';

SELECT * FROM tbproducto;

SELECT * FROM tbproducto WHERE PRECIO_LISTA = 28.51;  //NO LO DEVUELVE

SELECT * FROM tbproducto WHERE PRECIO_LISTA > 28.51;

SELECT * FROM tbproducto WHERE PRECIO_LISTA < 28.51; //NO LO DEVUELVE

Para que lo devuelva tenemos que establecer un rango de valores

SELECT * FROM tbproducto WHERE PRECIO_LISTA BETWEEN 28.51 AND 28.52;

Iterar por fecha

SELECT * FROM tbcliente;

SELECT * FROM tbcliente WHERE FECHA_NACIMIENTO = '1995-01-13'; //año, mes, día

SELECT * FROM tbcliente WHERE FECHA_NACIMIENTO < '1995-01-13'; 

SELECT * FROM tbcliente WHERE FECHA_NACIMIENTO >= '1995-01-13'; 

//Todas las que nacieron en el 95
SELECT * FROM tbcliente WHERE YEAR(FECHA_NACIMIENTO) >= '1995-01-13'; 

//Todos los que nacieron el día 20
SELECT * FROM tbcliente WHERE DAY (FECHA_NACIMIENTO) = 20; 

//cuáles son los vendedores que fueron admitidos en la empresa a partir del 2016.
SELECT * FROM TABLA_DE_VENDEDORES WHERE YEAR(FECHA_ADMISION) >= 2016;

Filtros compuestos

//Cuando son botella pet o son latas
SELECT * FROM tbproducto WHERE ENVASE = 'Lata' OR ENVASE = 'Botella PET';

//precio mayor que 15 y menor que 25
SELECT * FROM tbproducto WHERE PRECIO_LISTA >= 15 AND PRECIO_LISTA <= 25;

//precio de lista mayor a 15 y menor a 25 o es lata o es botella pet
 SELECT * FROM tbproducto WHERE (PRECIO_LISTA >= 15 AND PRECIO_LISTA <= 25) OR ENVASE = 'Lata' OR ENVASE = 'Botella PET';


  SELECT * FROM tbproducto WHERE (PRECIO_LISTA >= 15 AND TAMANO = '1 litro') OR ENVASE = 'Lata' OR ENVASE = 'Botella PET';









Comentarios

Entradas populares de este blog

Second Part

Curso de google