SQL
SQL
MySQL
Postgres
MariaDB
Oracle
Intormix
Tambien ayuda para importar, exportar datos, realizar concurrencias y hacer respaldos.
1.- Leer
2.- Delete
Esto para que la concurrencia funcione. De otra manera habría conflicto con la información.
Query = consulta
Ejemplos:
Buscando Google
Ver fotos
Ver perfil
Facebook por ejemplo a travez de la página web, a través de un software de gestión de base de datos
realizan consultas a la base de datos, para devolverla a la pagina web y finalmente se regresa hacia
facebook.
Amazon – Al ver un producto se toman los datos de un RDBMS, los datos son devueltos a la pagina y
finalmente es recibido por el usuario.
Almacenan la información en forma de tablas con filas y columnas. Como las de excel.
Json
Bson
Blob
Key-Value
Columnas:
Hacen referencia al dato mismo que se está guardando.
Ejemplo:
En columna de Nombre se coloca “Felipe”
La columna de id es un registro único relacionados con todos los datos de felipe. Este valor será
autoincremental, de tal manera que si el primer dato es la información de felipe, el recibiría el 1`.
Si se agregara otra persona, se le asignaría el 2 y así sucesivamente.
Cuando a toda la tabla se le asigna el nombre de User o tabla usuario, entonces los datos guardados en
la tabla hacen referencia a un usuario y de esta manera se obtiene la información.
La tabla de usuarios es la tabla mas importante de una base de datos, ya que a partir de ella podemos
crear nuevos registros que se asignen a alguien.
En otro ejemplo, tenemos la tabla de productos. Usuarios podemos tener diferentes:
- Administradores
Etc.
Ahora veremos el tipo de Administrador, que es quien puede crear productos dentro de un software.
El usuario 1 puede crear muchos mas productos, pero puede haber mas de un administrador.
El otro administrador, podría tener el número 2 asignado, por ejemplo:
La razón por la cual se pasa un id en lugar del nombre del usuario es debido a que los datos de el podrían
cambiar y para evitar duplicar la información.
Esto significa que en el disco solo se grabará el numero 2 y no toda su información completa, por
consecuencia se ahorra memoria.
Esto se reconoce como una relación de 1-n. En estas, un usuario puede haber creado muchos productos,
pero un producto solo pudo haber sido creado por un usuario.
Si tenemos una relación por ejemplo alumnos que pertenecen a un deporte. Para pode relacionar las
tablas se crea una tabla intermedia donde se juntan estas dos tablas:
Dentro de esta nueva tabla se tienen que agregar dos columnas mas:
- 1.- Alumno_id
- 2.- Deporte_id
Esto podría servir para indicar que un alumno con id: 1 pertenece al deporte con id: 1 y a otro con id: 2
Otro alumno además (alumno con id: 2) podría también estar inscrito al deporte con id 1.
Ya que un alumno puede estar inscrito a varios deportes y 1 deporte puede tener muchos alumnos.
Primary key
Las columnas que tienen el nombre de id son conocidas como primary key.
Foreign Key
Si por ejemplo el primary key del usuario se encuentra en la de productos para identificar quien hizo
algo, entonces se conocería como Foreign Key.
Ejemplo:
El id de la relación que tiene alumnos con deporte sería el Primary Key de esta tabla, mientras que
alumno_id y deporte_id serían llaves foráneas (debido a que ya existían fuera de la tabla)
MY SQL
Root user:
Al ingresar te pide que pongas una contraseña. Basicamente sería el usuario de superadmnistrador.
Ejemplo:
My sql Workbench
Es la interfaz gráfica que permite visualizar lo que se tiene en la base de datos y automaticamente
analiza los servicios que se encuentran corriendo dentro de la máquina.
Local host:
Después el tipo de datos que contendrá. En el ejemplo utilizaremos “int” de número entero.
id int,
Las columnas deben ir separadas por una coma.
Los datos pueden ser int (enteros), float (flotantes o decimales), varchar (cadena de caracteres,
palabras u oraciones. Si fuera una oración tendría que estar dentro de comillas).
Agregando como ejemplo la columna tipo, debido a que son palabras debe ser dato varchar, y
estas deben ser escritas de la siguiente manera
(nombre de columna) varchar (# de caracteres que contendrá de límite)
tipo varchar (255)
estado varchar (255)
Paso 3
Dentro de las columnas creadas, necesitamos determinar cual es nuestra primary key con el
comando:
PRIMARY KEY (nombre de columna)
Ejemplo:
Antse de poder ejecutar la consulta de CREATE TABLE, necesitamos indicar que base de
datos tenemos que utilizar. Aunque hola mundo ha sido creada, no sabe que base de datos
utilizar, por lo tanto debemos indicar que base utilizaremos.
Esto será de la siguiente manera.
Paso 4
Para utilizar una base de datos especifica, necesitamos especificarlo con el comando:
use (nombre de base de datos);
Ejemplo:
Paso 5
El campo de id siempre tiene que tener un valor por defecto, aunque está definido como una
llave primaria y el tipo de valor por defecto. Necesitamos indicarle que se autoincremente en su
valor por dato.
Para modificar una tabla ya creada se utiliza:
ALTER TABLE (nombre de tabla) MODIFY COLUMN (nombre de columna) (tipo de valor)
auto_increment;
Ejemplo:
Paso 6
Ya que la tabla ha sido insertada con éxito:
Ejemplo:
Esto aparece completamente en rojo porque está definido el valor como si hubiera un string,
por lo tanto solo borramos la comilla del principio y el final.
Posteriormente borraremos todo lo que se encuentra en el parentesis (borrando lo de engine)
En el segundo renglón apareze “not null”lo que indica que el auto incremento está activo.
Ahora podemos proceder a agregar elementos:
Debajo del comando agregaremos el “insert into” pero agregaremos dos valores mas.
En el screenshot de arriba, aparece en rojo debido a que el comando de create table no
terminó en punto y coma, por lo cual al agregarlo no debe arrojar error.
Después ya podemos ejecutarlo.
Para ejecutar linea por linea, solo hay que subrayar el comando que se desea ejecutar.
Se utiliza el comando
SELECT (nombres de columnas que queremos mostrar)
También se puede utilizar SELECT * FROM (nombre de la tabla);
Ejemplo:
Ahora nos muestra todas las columnas que tienen un estado que sea “Feliz”
Ejemplo:
Solo aparece una porque solo un registro cumple con estado feliz y tipo chanchito.
Si en el ejemplo reemplazamos chanchito por felipe:
.
De tal manera que en la tabla de animales, el estado se está cambiando a “feliz” para el dato
con id = 3.
Resultado:
Si no podemos ver el error completo podemos copiarlo con click derecho y haciendo click en
copy response. Lo ponemos como comentario y vemos lo siguiente:
-- Error Code: 1175. You are using safe update mode and you tried to update a table without a
WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences ->
SQL Editor and reconnect.
Esto es debido a que SQL tiene un modo en el que no se agregó un WHERE como modo
seguro no nos permite borrar todo. El mismo error nos indica como borrarlo. No es conviniente
cambiarla, debido a que no agregar un where o especificar, puede hacer que borremos todo en
una base de datos.
Ejemplo:
Que retorna todos los datos de la tabla donde la edad es mayor a 15:
Si quitamos por ejemplo el porcentaje del final, nos arrojaría resultado con esta tabla, porque
estaría indicando todo lo que termina en gmail (sin tener el .com)
Ejemplo:
Arroja Oscar porque está buscando algo que en la columna name empieze con “os”, si
cambiamos el porcentaje al principio, no arrojará nada, porque no hay nombres que termine en
Os en nuestra tabla.
De tal manera que dos % o “% (letras) %” - Arroja todo lo que contenga esos caracteres
% al final o “%(letras)” – Arroja todo lo que termine con esas letras
% al principio o “(letras)%” – Arroja todo lo que empieze con esas letras
Comando order by
Order by reordena los datos mostrados en el orden que selecciones, de tal manera que tiene
que ser
“order by (columna a ordenar) (asc/desc)” – Dependiendo si es ascendente o descendente.
De manera descendente.
Si por ejemplo solo requieres ver 2 columnas, puedes utilizar el siguiente comando:
Ahora estamos agregando una llave foránea a la que estamos nombrando (created_by) (dentro
de la tabla) y se refiere a la tabla que ya existía llamada user, especificamente la columna (id)
Ejemplo:
Uniendo tablas:
SELECT (alias asignado).(columna deseada) (tabla) from (Alias que se desea poner a la tabla)
De tal manera que siempre escribiremos select from (alias) primero y luego asignamos la parte
media que sería (alias asignado).(columna deseada)
Ejemplo:
De tal manera que user se está usando con el alias “u” y dentro de esta tabla de “u” se está
buscando mostrar la columna “id”
Así nos muestra este resultado:
Si requerimos ver mas datos de esta tabla, podemos agregarlos con la misma forma de
sintaxis.
Si quisieramos agregar mas columnas a esta tabla, podemos utilizar el comando left join
agregandolo a lo anterior, y para esto se utiliza la siguiente sintaxis:
Select (columnas separadas por coma) (columna(s) de la tabla que se está trayendo) from
(tabla) (alias de tabla) left join product (alias nuevo) on (columna 1 que se juntará) = (columna 2
que se juntará);
Ejemplo:
La columna de created by es la que tiene el id de usuario (su relación), por lo tanto hay que
indicar que la columna que se encuentra en created_by, se una con la de id.
Por ejemplo, que el usuario 1 de created_by se una con id, ya que es el mismo dato.
Right join:
Es lo mismo que left join pero por la derecha. Por lo tanto los datos se traen de la tabla de la
derecha a la izquierda.
El usuario de chanchito no está mostrandose porque no hay ningun producto que se relacione
con ese usuario. Esto debido a que chanchito no ha creado ningun producto.
Inner join:
Se trae la intersección de las dos tablas.
Ejemplo:
Función Having:
Sirve para limitar los datos mostrados por medio de una condición. Por ejemplo:
Ejemplo:
drop table product;