13 comandos SQL más importantes que cualquier programador debe saber

  • Lesley Fowler
  • 0
  • 1417
  • 71
Anuncio

Las bases de datos manejan la web moderna. Cada sitio web grande o dinámico utiliza una base de datos de alguna manera, y cuando se combina con Lenguaje de consulta estructurado (SQL), Las posibilidades de manipulación de datos son realmente infinitas. Si ya conoce SQL, asegúrese de verificar estas habilidades de programación 7 Habilidades de programación que todos los desarrolladores de sitios web deben saber 7 Habilidades de programación que todos los desarrolladores de sitios web deben saber El diseño y desarrollo del sitio web ofrece buenos salarios y beneficios, horas de trabajo decentes y la posibilidad de avance. Le mostraremos qué habilidades esenciales puede comenzar a aprender ahora para ingresar a este emocionante campo. todos los desarrolladores de sitios web deben saber.

Hoy te mostraré algunos de los comandos principales que necesitas saber como programador.

Hay muchos nombres para los datos devueltos desde una tabla de base de datos. Los datos se conocen comúnmente como Filas, Archivos, o Tuplas. Usaré estos términos indistintamente a lo largo de este artículo.

Prefacio

Todos los ejemplos de hoy se basarán en cuatro tablas de ficción. los cliente La tabla contiene el nombre y la edad de los clientes:

los alturas La tabla contiene el nombre y la altura de cualquier persona:

los personal La tabla contiene el nombre y la edad de los miembros del personal, exactamente igual que la tabla del cliente:

La mesa final llamada gente contiene el nombre y la edad de las personas, al igual que las tablas de clientes y personal:

1. Seleccione

los seleccionar La declaración es la más simple y es esencial que la comprenda, ya que sustenta casi todos los demás comandos. Se considera una práctica recomendada escribir sus palabras SQL reservadas en mayúsculas, ya que hace que el comando sea más fácil de leer y comprender.

Como su nombre lo indica, select se usa para seleccionar datos de una base de datos. Aquí está el uso más simple:

SELECCIONAR * DE la tabla;

Hay dos partes para esto. La primera parte (SELECCIONAR *) especifica qué columnas le gustaría seleccionar. El asterisco indica que desea seleccionar todas las columnas de la tabla. La segunda parte (DE mesa) le dice a su motor de base de datos de dónde desea recuperar estos datos. Reemplazar “mesa” con el nombre de su tabla de base de datos.

Esta selección se conoce como “seleccione estrella.” Usar el asterisco es una buena manera de averiguar qué datos hay en una tabla, pero no le recomiendo que lo use para ningún código de producción. Cuando se usa una estrella seleccionada, depende del motor de la base de datos presentarle los datos que desea. No tiene ningún control sobre el orden en que se devuelven los datos, por lo que si alguien agrega una nueva columna a la tabla, puede encontrar que sus variables en su lenguaje de programación ya no representan los datos correctos. Afortunadamente, hay una solución.

Puede indicar explícitamente qué columnas desea recuperar, de esta manera:

SELECCIONE la edad, nombre de las personas;

Esta consulta recupera el “años” y “nombre” columnas de la “gente” mesa. Ser así de explícito puede ser un poco tedioso si tiene muchos datos, pero hacerlo reducirá los problemas en el futuro, junto con hacer que su SQL sea más fácil de entender para futuros programadores..

Si desea seleccionar un dato adicional, pero no está almacenado en ninguna de sus tablas, puede hacerlo así:

SELECCIONE la edad, '1234' DE las personas;

Se devolverá cualquier cadena dentro de comillas simples en lugar de coincidir con el nombre de una columna.

2. Donde

El comando de selección es excelente para recuperar datos, pero ¿qué sucede si desea filtrar los resultados un poco más? ¿Qué hay de recuperar solo a las personas que tienen ojos azules? ¿Qué pasa con las personas nacidas en enero que trabajan como mecánicos? Aquí es donde el dónde entra el comando. Esto le permite aplicar condiciones a la selección, y simplemente lo agrega al final de la declaración:

SELECCIONE la edad, nombre de personas DONDE edad> 10;

Esta consulta ahora está restringida a personas mayores de 10 años. Puede combinar múltiples condiciones usando el Y operador:

SELECCIONE edad, nombre de personas DONDE edad> 10 Y edad < 20;

los Y El comando funciona exactamente igual que en el idioma inglés: aplica otra condición a la declaración. En este ejemplo, los datos devueltos serían cualquier registro con una edad entre 10 y 20. Como no hay resultados coincidentes, no se devuelven datos.

Otro comando que se puede usar junto con esto es O. Aquí hay un ejemplo:

SELECCIONE edad, nombre DE personas DONDE edad> 10 O nombre = 'Joe';

Esta consulta devuelve registros donde la edad es mayor de 10 años o el nombre es igual a “Joe”. ¿Te das cuenta de que solo hay un signo igual? La mayoría de los lenguajes de programación usan dobles iguales (==) para verificar la equivalencia. Esto no es necesario para la gran mayoría de los motores de bases de datos (pero puede ser muy por entorno, por lo que debe verificar primero).

3. Orden

los orden El comando se utiliza para ordenar los resultados devueltos. Es otro fácil de usar. Simplemente agréguelo al final de su estado de cuenta:

SELECCIONE el nombre, edad de las personas ORDEN POR edad DESC;

Debe especificar la columna y el orden, que puede ser ASC para ascender o DESC para descender Puede ordenar por múltiples columnas como esta:

SELECCIONE el nombre, edad de las personas ORDEN POR nombre ASC, edad DESC

ORDENAR POR es quizás el más útil cuando se combina con otros comandos. No todas las consultas devolverán datos de forma lógica u ordenada: este comando le permite cambiar eso.

4. Únete

los unirse el comando se usa para unirse datos relacionados almacenados en una o más tablas. usted unirse la segunda tabla a la primera tabla y especifique cómo se conectan los datos. Aquí hay un ejemplo básico:

SELECCIONE la edad, el nombre, la estatura DE las personas IZQUIERDA UNIRSE a las alturas USANDO (nombre);

Hay algunas cosas pasando aquí. Tienes que comenzar con el “IZQUIERDA UNIRSE” sintaxis, que especifica que desea unir una tabla usando una combinación de tipo left. A continuación, especifique la tabla que desea unir (alturas). los USANDO (nombre) la sintaxis indica que la columna “nombre” se puede encontrar en ambas tablas, y esto debería usarse como una clave para unir las tablas.

No se preocupe si sus columnas tienen nombres diferentes en cada tabla. Puedes usar “EN” en vez de “UTILIZANDO”:

SELECCIONE la edad, el nombre, la estatura DE las personas IZQUIERDA UNIRSE a las alturas ON (namea = nameb);

La instrucción on establece explícitamente qué columnas se deben activar. Hay muchos tipos de unión, y tomaría mucho tiempo entrar en detalles para cada uno, así que aquí hay un resumen rápido de sus usos:

  • (UNIR INTERNAMENTE - Devuelve filas con una coincidencia en ambas tablas.
  • IZQUIERDA COMBINACIÓN EXTERNA - Devuelve todas las filas de la tabla izquierda, con cualquier coincidencia de la tabla derecha. Si no hay coincidencias, los registros de la tabla izquierda aún se devuelven.
  • DERECHA (EXTERIOR) UNIRSE - Esto es lo opuesto a una unión izquierda: se devuelven todas las filas de la tabla derecha, junto con cualquier coincidencia en la tabla izquierda.
  • UNIÓN COMPLETA (EXTERIOR) - Devuelve cualquier registro con una coincidencia en cualquier tabla.

los “INTERIOR” o “EXTERIOR” La sintaxis es opcional. Puede hacer que las cosas sean más fáciles de entender, pero no tiene que especificarlo la gran mayoría de las veces.

5. Alias

Ahora que conoce los conceptos básicos, echemos un vistazo a alias mando. Esto se usa para renombrar temporalmente una tabla, más un apodo que otra cosa, ya que este nuevo nombre solo existe dentro de la transacción individual que está ejecutando. Así es como lo usa:

SELECCIONE A.age DE las personas A;

Puedes usar cualquier nombre válido que quieras, pero a mí me gusta usar letras del alfabeto. Antes de cada nombre de columna, el alias tiene el prefijo. Este alias se asigna a la tabla inmediatamente después de que se declara. Esto es exactamente lo mismo que hacer esto:

SELECCIONE people.age FROM people;

En lugar de tener que escribir un nombre de tabla largo, puede escribir una letra simple y fácil de recordar, pero ¿cuál es el punto? Bueno, si está seleccionando de más de una tabla, es fácil confundirse acerca de qué columnas pertenecen a qué tabla. Si ambas tablas tienen columnas con el mismo nombre, su consulta de base de datos puede incluso no ejecutarse sin hacer referencia explícita al nombre o alias de la tabla. Aquí hay un ejemplo con dos tablas:

SELECCIONE staff.age, staff.name, customers.age, clients.name FROM staff, clients;

Y aquí está esa misma consulta con alias:

SELECCIONE A.age, A.name, B.age, B.name DEL personal A, clientes B;

La tabla de personal recibe el alias de “UNA”, y la tabla de clientes recibe el alias de “segundo”. Las tablas de alias realmente ayudan a que su código sea más fácil de entender, y reduce la cantidad de tipeo que tiene que hacer.

También puede cambiar el nombre de una columna con un alias utilizando el “COMO” mando:

SELECCIONE la edad COMO person_age DE personas;

Cuando se ejecuta esta consulta, la columna ahora se llamará “personaje” en vez de “años”.

6. Unión

Unión Es un gran comando. Le permite agregar filas entre sí. A diferencia de las combinaciones que agregan columnas coincidentes, union puede agregar filas no relacionadas siempre que tengan el mismo número y nombre de columnas. Así es como lo usa:

SELECCIONE la edad, nombre de los clientes UNION SELECCIONE la edad, nombre del personal;

Puede pensar en la unión como una forma de combinar los resultados de dos consultas. Una unión solo devolverá resultados cuando haya una fila única entre las dos consultas. Puedes usar el “UNIÓN TODO” sintaxis para devolver todos los datos, independientemente de los duplicados:

SELECCIONE la edad, nombre de los clientes UNIÓN TODOS SELECCIONE la edad, nombre del personal;

¿Observa cómo cambia el orden de las filas? Union opera de la manera más eficiente, por lo que los datos devueltos pueden variar en orden.

Un posible caso de uso para la unión es un subtotal: podría unir una consulta del total de la suma en una consulta de los totales individuales para un escenario particular.

7. Insertar

Ahora ya sabe todo acerca de la recuperación de datos de una base de datos, pero ¿qué hay de insertarlos? Aquí es donde el insertar entra el comando. Aquí hay un ejemplo:

INSERTE EN LOS VALORES de las personas (nombre, edad) ('Joe', 102);

Debe especificar el nombre de la tabla (personas) y las columnas que desea utilizar (nombre y edad). los “VALORES” La sintaxis se utiliza para proporcionar los valores para insertar. Deben estar en el mismo orden que las columnas que se especificaron previamente..

No puede especificar una cláusula where para inserciones, y debe asegurarse de seguir las restricciones de tabla necesarias que estén presentes.

8. Actualización

Después de insertar algunos datos, es natural que necesite cambiar filas específicas. Aquí esta la actualizar sintaxis de comando:

ACTUALIZAR personas SET nombre = 'Joe', edad = 101;

Debe especificar la tabla que desea cambiar y luego usar el “CONJUNTO” sintaxis para especificar las columnas y sus nuevos valores. Este ejemplo es bueno, pero actualizará cada registro, algo que no siempre es deseable.!

Para ser más específico, puede usar “DÓNDE” cláusulas como cuando se hace una selección:

ACTUALIZAR personas SET name = 'Joe', age = 101 WHERE name = 'James';

Incluso puede especificar múltiples condiciones usando “Y” y “O”:

ACTUALIZAR personas SET name = 'Joe', age = 101 WHERE (name = 'James' AND age = 100) OR name = 'Ryan';

Observe cómo se utilizan los corchetes para restringir las condiciones..

9. Upsert

Upsert es una palabra que suena extraña, pero es un comando increíblemente útil. Supongamos que tiene una restricción en su tabla y ha especificado que solo desea registros con nombres únicos; por ejemplo, no desea almacenar dos filas con el mismo nombre. Si trató de insertar varios valores de 'Joe', su motor de base de datos arrojaría un error y se negaría a hacerlo (con bastante razón). Un UPSERT le permite actualizar un registro si ya existe. ¡Esto es increíblemente útil! Sin este comando, tendría que escribir mucha lógica para verificar primero si existe un registro, insertar si no existe, de lo contrario recuperar la clave primaria correcta y luego actualizar.

Desafortunadamente, los upserts se implementan de manera diferente en diferentes motores de bases de datos. PostgreSQL solo recientemente ha adquirido esta capacidad, mientras que MySQL la ha tenido durante bastante tiempo. Aquí está la sintaxis de MySQL como referencia:

INSERTE EN LOS VALORES de las personas (nombre, edad) ('Joe', 101) EN LA ACTUALIZACIÓN DE LA CLAVE DUPLICADA age = 101;

Observe cómo esto es esencialmente una actualización y una declaración de inserción, que se puede resumir como “actualizar si falla la inserción.”

10. Eliminar

Borrar se usa para eliminar registros por completo, ¡puede ser bastante dañino si se abusa de él! La sintaxis básica es muy fácil de usar:

BORRAR DE las personas;

Como la mayoría de los otros comandos, esto eliminará todo! Debe usar un lugar para restringirlo a un número un poco más sensato de filas, idealmente una:

ELIMINAR DE personas DONDE name = 'Joe';

Si está desarrollando un sistema, a menudo es aconsejable implementar un “eliminación suave.” En realidad, nunca ejecuta el comando eliminar, sino que crea una columna eliminada y luego verifica esa columna en sus selecciones; puede evitar mucha vergüenza potencial si puede recuperar rápida y fácilmente los registros supuestamente eliminados. Sin embargo, esto no sustituye a las copias de seguridad adecuadas.

11. Crear tabla

los crear mesa El comando se utiliza para crear tablas. Es otra muy simple:

CREAR TABLA personas (nombre TEXTO, edad, INTEGER, PRIMARY KEY (nombre));

Observe cómo los nombres y las restricciones de las columnas están entre corchetes, y las columnas reciben un tipo de datos apropiado. Se especifica una clave principal, como se requiere en cualquier buen diseño de base de datos.

12. Alterar la mesa

los alterar tabla El comando se utiliza para modificar la estructura de una tabla. Esto es un poco limitado, ya que su base de datos no le permitirá alterar una tabla si los datos existentes causan un conflicto, por ejemplo, cambiar una cadena a un entero. En esos casos, primero corrija los datos y luego modifique la tabla. Aquí hay un ejemplo:

ALTER TABLE personas AGREGAR altura entero;

Este ejemplo agrega una columna llamada “altura” de tipo entero a la tabla de personas. No hay realmente un límite en lo que puedes alterar.

13. Drop Table

El comando final es mesa plegable. ¡Piense en esto como eliminar, pero en lugar de eliminar un solo registro, elimina todos los registros junto con la tabla! Así es como lo usa:

TABLE DROP people;

Es un comando bastante drástico, y no hay razón para que deba programarse en su sistema. Solo debe realizarse manualmente en la gran mayoría de los casos, y puede ser muy destructivo.

Eso es todo por hoy. ¡Espero que hayas aprendido algunos trucos útiles! Puede aprender cómo hacer un sitio web Cómo hacer un sitio web: Para principiantes Cómo hacer un sitio web: Para principiantes Hoy lo guiaré a través del proceso de hacer un sitio web completo desde cero. No te preocupes si esto suena difícil. Te guiaré a través de cada paso del camino. , y luego use sus habilidades recién descubiertas para hacerlo dinámico: solo asegúrese de no cometer estos errores 9 Errores que no debe cometer al construir una página web 9 Errores que no debe cometer al construir una página web Estos siguientes códigos HTML los errores son fáciles de cometer, pero si los elimina más temprano que tarde, su página se verá mejor, será más fácil de mantener y funcionará como lo desea. o dejarlo vulnerable a la inyección SQL ¿Qué es una inyección SQL? [MakeUseOf explica] ¿Qué es una inyección SQL? [MakeUseOf explica] El mundo de la seguridad en Internet está plagado de puertos abiertos, puertas traseras, agujeros de seguridad, troyanos, gusanos, vulnerabilidades de firewall y una serie de otros problemas que nos mantienen alerta todos los días. Para usuarios privados, ... Si no está seguro de que necesita aprender SQL, ¿ha considerado un generador de sitio estático? 7 razones para deshacerse de su CMS y considerar un generador de sitio estático 7 razones para deshacerse de su CMS y considerar un generador de sitio estático Durante muchos años, publicando un sitio web Fue difícil para muchos usuarios. Los CMS como WordPress lo cambiaron, pero aún pueden ser confusos. Otra alternativa es un generador de sitio estático. ?

¿Por qué no dejar un comentario a continuación con tus consejos y trucos favoritos de SQL??

Créditos de imagen: HYS_NP / Shutterstock




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.