Está en la página 1de 11

Crear Tabla: CREATE TABLE + NOMBRE

Modificar tabla: ALTER TABLE + NOMBRE

Eliminar tabla: DROP TABLE + NOMBRE

Usar una base de datos: Use + nombre de la base de datos

Crear una base de datos: CREATE DATABASE + Nombre

#: comentario

<>: es para decir excluye a tal cosa. Por ejemplo: select * from marca <> ‘Samsung’;
mostraria todas las marcas menos Samsung.

EN PRIMER LUGAR

DOUBLE: tipo de dato numérico que acepta valores con decimales.

INT: tipo de datos que se almacena, es entero

UNSIGNED: sin signo, no admite valores números negativos y solo acepta valores numéricos
enteros.

(se suele poner INT UNSIGNED)

ENUM: Para poner los valores que únicamente pueden ir ahí en esa columna.

INT NOT NULL: entero, que tiene que llenarse sí o sí.

Para crear una tabla:

create table Clientes(

ClienteID int primary KEY,

Nombre VARCHAR(25),

Apellido VARCHAR(25),

CUIT char(16),

Direccion VARCHAR(50),

Comentarios VARCHAR(50)

);

Para cambiar el nombre de una tabla:

RENAME TABLE CLIENTES TO CONTACTOS;

Para modificar una tabla:

ALTER TABLE Facturas


change ClienteID IDCLIENTE INT,

CHANGE ARTICULOID IDARTICULO INT,

MODIFY MONTO DOUBLE UNSIGNED ;

Otro ejemplo :

ALTER TABLE Articulos

change ARTICULOID IDARTICULO INT,

MODIFY NOMBRE VARCHAR(75),

MODIFY PRECIO DOUBLE UNSIGNED NOT NULL,

MODIFY STOCK INT UNSIGNED NOT NULL;

Nota : tene en cuenta que si queres mantener el tipo de dato de alguna tabla, tenes que
poner ese dato en el MODIFY. Por ejemplo, como Precio ya era double, se le pone igual
double en el modify asi no se le elimina el double.

PARA INSERTAR MUCHOS DATOS DE UNA:

Nota: las letras con números , letras solas o fechas con guiones hay que ponerlas con ‘ .

Los números solos o los TRUE/FALSE pueden ir sin ‘ comillas

INSERT INTO Productos (nombre de la tabla)

(idProducto,Nombre,Precio,Marca,idCategoria,Stock,Disponible) (las columnas de la tabla)

VALUES (valores)

(null,'SNS1234',23123,'Samsung',3,6,FALSE),

(null,'SNS543',45632,'Samsung',3,7,TRUE),

(null,'DRN234',34231,'Dream',2,2,TRUE),

(null,'DRN3424',45321,'Dream',2,9,TRUE),

(null,'GF3443',65643,'Gafa',4,8,FALSE)

Otro ejemplo :

INSERT INTO Facturas

(Letra, Numero, IDCLIENTE, IDARTICULO, Fecha, MONTO)

VALUES

('A',28,14,335,'2021-03-18',1589.50),
('A',39,26,157,'2021-04-12',979.75),

('B',8,17,95,'2021-04-25',513.35),

('B',12,5,411,'2021-05-03',2385.70),

('B',19,50,157,'2021-05-26',979.75);

Para importar una tabla:

Click derecho sobre la base de datos que se está usando, tabla data import wizard.

Para seleccionar para mostrar una tabla:

Para consultar una tabla

Select (columnas que queremos que aparezcan)

Puede ser Select * (porque el * significa todo)

Ejemplos:

SELECT * FROM CLIENTES_NEPTUNO;

(Muestra todo el contenido de la tabla CLIENTES_NEPTUNO)

SELECT NOMBRECOMPANIA, CIUDAD, PAIS FROM CLIENTES_NEPTUNO

(Muestra todos los registros de la tabla CLIENTES_NEPTUNO. En el resultado de la consulta


sólo se deben observar las columnas NOMBRECOMPANIA, CIUDAD y PAIS.)

SELECT NOMBRECOMPANIA, CIUDAD, PAIS FROM CLIENTES_NEPTUNO

ORDER BY PAIS ASC;

(Ordena el resultado de la consulta alfabéticamente por los nombres de los países.)

SELECT NOMBRECOMPANIA, CIUDAD, PAIS FROM CLIENTES_NEPTUNO

ORDER BY PAIS ASC, CIUDAD ASC;

(Ordena el resultado de la consulta alfabéticamente por los nombres de los países. Para
aquellos países que se repiten, ordena las ciudades alfabéticamente)

select nombrecompania, ciudad, pais from clientes_neptuno

order by pais
limit 10;

(Muestra únicamente los 10 primeros clientes).

SELECT NOMBRECOMPANIA, CIUDAD, PAIS FROM CLIENTES_NEPTUNO

ORDER BY PAIS, CIUDAD

LIMIT 5

OFFSET 10;

(Muestra únicamente los clientes ubicados desde la posición 11 hasta la 15)

SELECT * FROM NACIMIENTOS

WHERE NACIONALIDAD ='EXTRANJERA'

(lista de todos aquellos bebés nacidos de madres extranjeras. Muestra todos los campos de la
tabla en el resultado de la consulta)

select * from nacimientos

where EDAD_MADRE <18

ORDER BY EDAD_MADRE ASC

(obtén una lista de todos aquellos bebés nacidos de madres menores de edad. Muestra todos
los campos de la tabla en el resultado de la consulta y ordena el resultado de menor a mayor
por la edad de las madres).

SELECT * FROM CLIENTES_NEPTUNO WHERE PAIS <> 'ARGENTINA'

(De la tabla CLIENTES_NEPTUNO, obtén una lista de todos los clientes con excepción de los que
residen en Argentina).

select * from NACIMIENTOS

where SEMANAS < '20'

ORDER BY SEMANAS DESC;


(De la tabla NACIMIENTOS, obtén una lista de todos aquellos bebés que nacieron con menos de
20 semanas de gestación. Muestra todos los campos de la tabla en el resultado de la consulta y
ordena dicho resultado de mayor a menor por los valores de la columna SEMANAS)

SELECT

(entre el SELECT y el FROM van las columnas que queremos ver)

FROM

(Tablas)

WHERE

(Condiciones para que el registro forme parte del conjunto de salida)

GROUP BY

(Determinar grupos y calcular totales/ sumarizadores) separar por categoría, por ejemplo,
cuanto es el promedio o máximo de una categoría, etc.

HAVING

(Filtrar sobre lo agrupado) como el where pero para los totalizadores.

ORDER BY

(Ordenar los resultados) ordenarlo por promedio de mayor a menor, alfabetico, etc.

Ejemplo:

Select nombre, precio, stock, precio * 1.21 AS precio_iva, precio * stock stock_valorizado from
productos;

Offset: Lo que se saltea. Se puede poner después del order by, es cuando queres que empiece
a mostrar. Por ejemplo, offset 3; significa que empieza a mostrar recién a partir del 4.

Limit: también se pone si uno quiere abajo del order by. Es el limite de lo que queremos que
nos muestre. El limite de la cantidad de datos. Si es 5, se mostrarán 5 filas.

Una condición lógica solo puede tener dos resultados posibles: true o false.

Condiciones: = , <= , =>, <> (distinto), < , >.

nos aparece todas las que empiecen con S.

select * from productos

where marca like 'S%';


nos aparece todas las que contengan S.

select * from productos

where marca like '%S%';

%: cualquier carácter y cualquier cantidad aparece.

El guion bajo “_” representa caracteres cuya presencia sea obligatoria.

select * from productos

where marca like '___a_';

aca nos aparece solo la “a” que esta ubicada en cuarta posición, cuarta letra. Como habíamos
ingresado la marca “Dream”, nos aparece solo esa. Porque justamente la “a” en esa palabra se
encuentra en cuarta posición.

Like: para los textos. No para los números.

También se puede invertir el like y el between, poniendo “not like” o “not between”.

select CONCAT (nombre, '-' , marca, '-', precio) from productos;

con esto se une todos los valores en uno.

Por ej:

TVXS1234-LG-12345

LC12345-Dream-23123

select marca, upper(marca), lower(marca) from productos;

para mostrar las columnas marca, upper marca, lower marca (uppercase y lowercase, o sea
mayuscula y minúscula).

Curtime (componente de la hora para el momento en que se ejecutó) y curdate (componente


de la fecha pero la hora situada en el inicio del dia) son las fechas completas. CURTIME es mas
utilizado.

DATEDIFF : diferencia de dia entre dos fechas.

Ejemplo:

select datediff('2022-04-15', curdate()), datediff(curdate(), '2022-04-15');

round: para redondear


ceil: el entero posterior/superior te da.

Floor: siempre el entero inferior.

Siempre que tengamos que mostrar un resultado redondeado, lo redondeamos al final para
mostrarlo. Se redondea en la ultima consulta. En el último select. Porque si vamos
redondeando en el camino, en el medio de los cálculos, vamos a empezar a perder precisión.

Mod: resto de la división nos devuelve. NO el resultado.

select min(stock), max(stock), avg(stock), count(stock), sum(stock) from productos;

count: solo cuenta registros donde la columna donde se le indico, no sea nula. Solo devuelve
cantidad de registros donde no hay null.

select count(*), count(1), count(idproducto) from productos;

count * cuenta todo (ES LA QUE MAS SE USA)

Siempre que lo que tengamos que hacer es crear una tabla nueva en base a un proyecto o
tarea, etc, esa tabla la tenemos que crear con CREATE TABLE.

Cuando necesitamos una tabla para pruebas, resguardo, uso el select .

Al lado del Limit to 1000 rows se puede habilitar el commit( guarda todo. La cuenta de lo que
se puede desahacer arranca de nuevo) y el rollback. (VA HACIA ATRÁS, HASTA EL ULTIMO
COMMIT O INICIO DE SESION).

TENER EL COMMIT Y EL ROLLBACK HABILITADOS SIEMPRE

con esto se puede insertar datos en una tabla.

insert into productos4

select * from productos where idcategoria=2;

SET SQL_SAFE_UPDATES = 0;

PARA DESACTIVAR EL SAFE UPDATE

Lenguaje de definición de datos (DDL)

Las sentencias DDL se utilizan para crear y modificar la estructura de las tablas así como otros
objetos de la base de datos.

CREATE - para crear objetos en la base de datos.

ALTER - modifica la estructura de la base de datos.

DROP - borra objetos de la base de datos.


TRUNCATE - elimina todos los registros de la tabla, incluyendo todos los espacios asignados a
los registros.

Lenguaje de manipulación de datos (DML)

Las sentencias de lenguaje de manipulación de datos (DML) son utilizadas para gestionar datos
dentro de los schemas. Algunos ejemplos:

SELECT - para obtener datos de una base de datos.

INSERT - para insertar datos a una tabla.

UPDATE - para modificar datos existentes dentro de una tabla.

DELETE - elimina todos o algunos (según lo que quiera) de los registros de la tabla; no borra los
espacios asignados a los registros.

TRUNCATE: eliminar la tabla y volver a crearla. Acciones mas masivas.

Delete: es una instrucción DLM (MANIPULACION DE DATOS). Genera información para el


rollback. Siempre usar cuando se quiera eliminar algo de una tabla.
Pregunta de examen:

Si en una consulta se especifica la condición 1=2 en el predicado (clausula WHERE), esta


consulta:

Dado que la condición 1=2 jamás se cumple, la consulta no retorna resultados.

Pregunta de examen:

¿Cuál o cuáles de las siguientes consultas se utilizaría para obtener en una misma columna los
datos contenidos en el campo NOMBRE unido a los datos contenidos en el campo APELLIDO
separados por un guión?

el operador (+) no permite concatenar campos y/o expresiones de texto. En la consulta SELECT
CONCAT(NOMBRE,-,APELLIDO) FROM CLIENTES; el guión debería estar encerrado entre
comillas.

Forma posible: SELECT CONCAT(NOMBRE, ‘-‘ , APELLIDO) FROM CLIENTES;

Pregunta de examen:

¿Cuál o cuáles de las siguientes consultas se utilizaría para obtener la letra inicial del campo
NOMBRE de la tabla CLIENTES?

SELECT SUBSTRING (NOMBRE, 1,1) FROM CLIENTES ;

Select left (nombre,1) from clientes ;

Pregunta de examen:

La cláusula LIMIT permite:

La cláusula LIMIT establece la cantidad de registros que serán visualizados como resultado de
una consulta.

Pregunta de examen:

La cláusula WHERE permite:

Filtrar registros de una tabla.

Pregunta de examen:

Si se requiere copiar todos los registros desde una tabla a otra existente con la misma
estructura, se utiliza la sentencia

INSERT INTO TABLA2 SELECT CAMPO/S FROM TABLA1;

Pregunta de examen:

¿Con cuál de las siguientes consultas podría crear una tabla con el nombre
CLIENTES_BUENOSAIRES a partir de un SELECT en base a una tabla con el nombre CLIENTES y
copiar en esa tabla nueva los clientes que residan en la provincia de Buenos Aires?
CREATE TABLE CLIENTES_BUENOSAIRES SELECT * FROM CLIENTES WHERE Provincia = ‘Buenos
Aires’;

Pregunta de examen:

Si la tabla SOCIOS contiene 5 registros y la tabla SERVICIOS contiene 4 registros, la instrucción


SELECT * FROM SOCIOS, SERVICIOS:

Devuelve 20 registros porque esta consulta genera un producto cartesiano. Por lo tanto, la
consulta devolverá el producto de registros (4 x 5 = 20).

Pregunta de examen:

¿Cuál o cuáles de las siguientes consultas se utilizaría para obtener en una misma columna los
datos contenidos en el campo NOMBRE unido a los datos contenidos en el campo APELLIDO
separados por un guión?

SELECT CONCAT (NOMBRE, ‘-‘, APELLIDO) FROM CLIENTES;

SELECT CONCAT_WS (‘-‘, NOMBRE, APELLIDO) FROM CLIENTES;

Pregunta de examen:

¿Cuáles son los formatos válidos de comentario en MySQL?

“#”, “/*” Y” --“

Pregunta de examen:

¿Qué tipos de PRIMARY KEY existen?

Compuesta y simple.

Pregunta de examen:

El error DUPLICATE PRIMARY KEY se genera:

Al intentar guardar un valor cargado previamente en el campo PRIMARY KEY de una tabla.

Pregunta de examen:

El valor NULL:

Sirve para representar valores desconocidos.

Pregunta de examen:

Si necesitamos consultar una tabla (por ejemplo, con el nombre TABLA_1) que se encuentra en
una base de datos distinta a la que está en uso (por ejemplo, con el nombre BASE_2), en la
consulta

Debemos especificarla de la siguiente forma: FROM BASE_2. TABLA_1

En MySQL, se puede referenciar a tablas de otras bases de datos a las cuales se tenga acceso,
desde una base de datos activa. Para esto, no es necesario activar o poner en uso la otra base
de datos, es decir, desconectarse de la base de datos activa, sino solamente especificar la tabla
definiendo su nombre y el nombre de la base a la que pertenece.

También podría gustarte