SQL Flashcards

1
Q

¿Que significa SQL?

A

La traducción es: Structured Query Language o traducido al español, “Lenguaje de consulta estructurado”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué es SQL?

A

Es un lenguaje que sirve para modificar, insertar y acceder a datos de tablas en una base de datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Que son las tablas?

A

Son como hojas de cálculo (tipo excel) que almacenan información sobre un tipo específico de datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué representa una fila en una tabla?

A

Representa un elemento o también conocido como registro. Si en una tabla tengo 30 filas, tengo 30 elementos o registros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Que representa una columna en una tabla?

A

Cada columna representa una “propiedad” de cada elemento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué instrucción podemos utilizar para seleccionar datos en una base de datos?

A

SELECT

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Cada “mesa” o tabla tiene un nombre. ¿Cómo hago para seleccionar el dato “name” de una tabla llamada “users”?

A

SELECT name
FROM users;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Cuando solicitamos datos con sentencias SQL como SELECT, decimos que estamos haciendo…

A

Una consulta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué se suele hacer para diferenciar las palabras clave SQL de los nombres de columnas y tablas?

A

Se escribe en mayúscula, por ejemplo:
SELECT name
FROM users;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Si bien no es necesario, se considera una buena práctica finalizar las consultas SQL…

A

Con punto y coma “ ; “

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Si “SELECT name” selecciona la columna “name” de la tabla “users”. ¿Qué cree que podría hacer esta consulta?:
SELECT name, email
FROM users;

A

Selecciona valores de las columnas “name” y “email”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué utilizamos para separar los nombres de las columnas?

A

Utilizamos la coma “ , “ como en este caso:
SELECT name, country

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Cuál es el símbolo que permite “seleccionar todo”?

A

El asterísco “ * “. Podría traducirse como “all” o “todo”. Entonces, cuando escribimos la sentencia:
SELECT *
FROM users;

Podemos pensarlo como “Seleccioname todo de la tabla usuarios”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué “palabra clave” nos permite seleccionar valores de una columna, eliminando duplicados?

A

DISTINCT. Esta palabra clave solo nos muestra el valor una (1) sola vez, por más que se repita varias veces.
Supongamos que tengo una tabla con 3 personas que se llaman “Juan”, 2 que se llaman “Pedro” y una que se llama “Lucia” y ejecuto la siguiente sentencia:
SELECT DISTINCT name
FROM users;

El resultado sería “Juan”, “Pedro” y “Lucia”, una vez cada uno.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Para ordenar elementos en una tabla, ¿Qué es lo que primero tengo que hacer?

A

Primero tengo que seleccionarlos con el SELECT. En caso de querer seleccionar todos los elementos puedo utilizar SELECT *

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Puedo seleccionar elementos de una tabla sin nombrarla?

A

No. Supongamos que quiero seleccionar los elementos “name” de una tabla “users”. Es incorrecto si utilizo la siguiente sentencia:
SELECT name

Siempre que esté seleccionando elementos tengo que hacer mención a la tabla a la que pertenecen, entonces la sentencia correcta sería:
SELECT name
FROM users;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Que “palabra clave” me sirve para ordenar una propiedad?

A

ORDER BY

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Es necesario utilizar el nombre de la propiedad por la cuál quiero ordenar los elementos?

A

Si, en el caso de que quiera ordenar una tabla por su nombre, debo utilizar el ORDER BY seguido de la propiedad por la cuál deseo ordenar, en este caso “name”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Para qué nos podría servir ordenar artículos en una tabla?

A

Para comprender y gestionar más facilmente los datos almacenados

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Si utilizamos la “palabra clave” ORDER BY en valores de texto ¿Como los ordena?

A

Por orden alfabético, ascendentemente de manera predeterminada:
A
B
C
D…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Si utilizamos la “palabra clave” ORDER BY en valores numéricos ¿Como los ordena?

A

Por orden numérico,ascendentemente de manera predeterminada:
1
2
3
4…

22
Q

La “palabra clave” ORDER BY me permite ordenar de 2 maneras los elementos ¿Cuáles son estas formas? y ¿Cómo las puedo utilizar?

A

De manera ascendente o de manere descendente.
Para la manera ascendente puedo hacerlo con el mismo ORDER BY, ya que de manera predeterminada al “ordenar” elementos lo hará ascendentemente; aunque sí quisiera puedo agregar la “palabra clave” ASC al final de la sentencia.
Para el caso en el que quiera ordenar elementos de manera descendente si o si tengo que agregar a la sentencia la “palabra clave” DESC al final. Ejemplos:

SELECT *
FROM patients (pacientes)
ORDER BY age (edad) DESC;

23
Q

Supongamos que tengo una tabla donde estan los estudiantes de cada materia y solo quiero ver los estudiantes de la matería biología. ¿Es posible filtrar la tabla para ver sólo los estudiantes de biología? En caso de que la respuesta sea si, ¿Cómo lo puedo hacer?

A

Debo definir la propiedad, en esta caso “major” (asignatura en inglés), agregar un igual “ = “ (igual) y el nombre de la asignatura entre comillas simples ‘Biology’ (Biología). La consulta me quedaría como la siguiente:

SELECT *
FROM students
WHERE major = ‘Biology’;

24
Q

¿Porqué podría resultar útil filtrar elementos de una tabla?

A

Para obtener sólo artículos que cumplas ciertas condiciones.

25
Q

¿Donde “codificamos” la condición al filtrar? ¿Después del SELECT y antes del WHERE? o ¿Después del WHERE?

A

Después del WHERE

26
Q

¿Qué operador se utiliza para comprar si dos valores son iguales?

A

Se utiliza el operador igual “=”

27
Q

¿Cómo se escriben los valores de texto en SQL?

A

Entre comillas simples ‘ ‘. Estos tipos de valores son considerados “String”. Por ejemplo:
‘Biology’

28
Q

¿Los valores numéricos en SQL se escriben igual que los valores de texto?

A

No. Los valores de tipo texto se escriben entre comillas simples, mientras que los valores numéricos se escriben sin comillas, por ejemplo:
year = 1
year = ‘one’

29
Q

¿A la hora de usar condiciones como “filtrar” u “ordenar” es necesario seleccionar todas las columnas con el asterísco?

A

No es necesario, podemos seleccionar solo un par, si quisieramos.

30
Q

En el caso de aplicar una condición una columna específica ¿Es necesario seleccionarla?

A

No, no es necesario. Por ejemplo podemos seleccionar de una tabla la propiedad “name” pero filtrar por “age”, por ejemplo:

SELECT name
FROM students
WHERE age = 20

En este caso me va a mostrar los nombres (name) de los estudiantes (students) que cumplan con la condición de tener 20 años (age). Esta consulta no me va a mostrar el age, pero si los nombres que cumplen esa condición, están implicitos, porque si no, no me los mostraría.

31
Q

Así como existe un operador igual “=” existe uno desigual, el que implica que, a la hora de realizar una consulta quiero filtrar los resultados que NO cumplen una determinada condición. ¿Cuál es ese operador?

A

El operador “desigual” se realiza con el símbolo “<>” (menor que y mayor que) que representa el desigual o diferente.

32
Q

¿Con que tipo de valores podemos usar el operador de desigualdad?

A

Cualquier tipo, tanto texto como números.

33
Q

A veces, las comparaciones con el “igual” o el “desigual” no son lo suficientemente flexibles, por ello, podemos utilizar una condición que tenga una “propiedad inferior” a un “valor umbral”. ¿Qué operadores me permiten realizar alguna operación de este estilo?

A

Los operadores menor que “<” o mayor que “>” me permiten filtrar en base a un umbral.

34
Q

¿Los operadores que trabajan con umbral contienen el valor consultado? por ejemplo:

SELECT *
FROM chocolate
WHERE price < 2;

A

No. En este caso, esta consulta nos va a traer los chocolates que valgan menos de 2. Existen otros operadores como el “menor o igual que” ( <= ) o el “mayor o igual que” ( >= ). En ese caso ahí si incluiría el valor 2.

35
Q

Al realizar una consulta existe un término llamado “Alias”¿Qué es? y ¿Cómo se codifica?

A

El alias es un sobrenombre que se le puede poner a una propiedad en una tabla. Esto no modifica el nombre de la columna, si no que muestra el resultado bajo este nuevo nombre. Por ejemplo, supongamos que tengo una propiedad/columna “years” pero como quiero saber cuales son las más “viejas” quiero que el resultado de esta columna me lo dé bajo el alias “oldests”, para ello puedo utilizar el operador “AS”:
SELECT years AS oldests
FROM movies

36
Q

¿Se puede agregar datos a una tabla? ¿Cómo lo podría hacer?

A

Si, es posible agregar datos a una tabla existente. Para ello existe un codificador:
INSERT INTO

Este palabra clave agrega una nueva fila llena de datos en una tabla existente.

37
Q

¿Cómo se codifica el INSERT INTO?

A

Primero debo especificar la tabla; luego los nombres de las columnas dentro de parentesis EN ORDEN.
Después debo agregar la palabra clave “VALUES”, que nos permitirá agregar datos específicos a la fila recien agregada, también EN ORDEN y dentro de parentesis. Por ejemplo:

INSERT INTO orders (name, id, price)
VALUES (“teddy bear”, 6574, 13);

SELECT * FROM orders;

Lo que estamos haciendo aquí es agregar una fila nueva en la tabla “orders” donde los valores de dicha fila serán “name”=”teddy bear”, “id”=6574, “price”=13. Y la última sentencia nos muestra dicha consulta.

38
Q

¿Puedo eliminar una fila de una tabla según una condición?

A

Si, es posible. Por ejemplo:

DELETE FROM orders
WHERE price < 10;

En este caso estamos eliminando la fila de la tabla que el precio sea menor que 10.

39
Q

¿A que se le conoce como “truncamiento” en SQL?

A

A eliminar los datos de una tabla completa, debido a que no se especifica una condición en particulas. Por ejemplo:

DELETE FROM orders;

Esta sintáxis puede variar de acuerdo a las diferentes biblotecas SQL. En este caso esta sintáxis está basada en SQL Lite.

40
Q

Existe una forma de actualizar una fila en SQL ¿Que sentencia o palabra clave debo utilizar para hacerlo? ¿Existe otra manera? ¿Cuál es la manera más conveniente?

A

Con la palabra clave UPDATE. Si, puedo “actualizar” un campo eliminandolo y volviendolo a agregar, pero sería un desperdició de tiempo. Lo mejor es utilizar el comando UPDATE.

41
Q

¿Puedo utilizar el comando UPDATE para insertar nuevas entradas en una tabla?

A

No. Solo se puede utilizar para cambiar entradas EXISTENTES.

42
Q

¿Cómo es la sintaxis para actualizar una fila?

A

Siempre comienza con la palabra clave UPDATE, seguido del nombre de la tabla. Luego del nombre de la tabla sigue la palabra clave SET y una expresión que establece una columna en un valor único. Por ejemplo:

UPDATE clients
SET years = 2
WHERE name = ‘roberto’

43
Q

¿Cuál es la sintaxis para crear una tabla SQL?

A

CREATE TABLE y seguido el nombre de la tabla. Luego debemos declarar que columnas queremos crear agregando el nombre de cada columna seguido de su tipo de dato. De esta manera estamos creando la estructura de una tabla y a partir de allí podemos insertar valores.

CREATE TABLE client
(id INTEGER, name TEXT);

44
Q

¿Cuáles son los tipos de datos de columna válidos más comunes?

A

INTEGER (números), REAL y TEXT. También existen otros como BLOB o NULL.

45
Q

¿Cómo puedo cambiar la estructura de una tabla?

A

Codificando ALTER TABLE podemos cambiar la estructura de una tabla. Este comando consta de 2 partes.
Primero, se codifica ALTER TABLE seguido del nombre de la tabla.
Luego podemos agregar, eliminar o modificar columnas según lo deseemos.

46
Q

¿Como hago para agregar una columna de una tabla?

A

Primero codificando ALTER TABLE y luego utilizando la palabra clave ADD, seguido del nombre de la nueva columna y su tipo de dato.

46
Q

¿Cómo hago para eliminar una columna de una tabla?

A

Primero codificando ALTER TABLE y luego utilizando las palabras claves DROP COLUMN, seguido del nombre de la columna a eliminar.

46
Q

¿Cómo hago para cambiar el nombre de una columna de una tabla?

A

Primero codificando ALTER TABLE, luego escribiendo la palabra clave RENAME seguido del nombre de la columna a renombrar.
Después utilizamos la otra palabra clave TO y el nuevo nombre de la columna.

47
Q

¿Cómo puedo enumerar las tablas de toda una base de datos con SQLite?

A

Consultando a sqlite_schema. Esta es una tabla que almacena el esquema de una base de datos.

48
Q

¿Qué es un esquema es SQL?

A

Un esquema contiene información sobre una base de datos, incluido detalles sobre las tablas.

49
Q

¿Cómo hago para ver el esquema de una base de datos?

A

SELECT * FROM sqlite_schema