13 Comandos SQL más importantes que cualquier programador debería saber
Las bases de datos impulsan la web moderna. Cada sitio web grande o dinámico usa una base de datos de alguna manera, y cuando se combina con Lenguaje de consulta estructurado (SQL), Las posibilidades para manipular datos realmente son infinitas. Si ya sabe SQL, asegúrese de verificar estas habilidades de programación 7 Habilidades de programación Todos los desarrolladores de sitios web deben saber 7 Habilidades de programación Todos los desarrolladores de sitios web deben saber El diseño y desarrollo de sitios web ofrece buenos salarios y beneficios, horas de trabajo decentes y la posibilidad de avanzar. Le mostraremos qué habilidades esenciales puede comenzar a aprender ahora para ingresar a este emocionante campo. Leer más todos los desarrolladores de sitios web deben saber.
Hoy te mostraré algunos de los comandos principales que debes conocer 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 ficticias. los cliente tabla contiene el nombre y la edad de los clientes:
los alturas 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 de clientes:
La mesa final llamada gente contiene el nombre y la edad de las personas, al igual que las tablas de clientes y empleados:
1. Seleccione
los seleccionar La declaración es la más simple, y es esencial que la entiendas, ya que subyace a casi todos los demás comandos. Se considera una práctica recomendada escribir las palabras SQL reservadas en mayúsculas, ya que hace que el comando sea más fácil de leer y entender..
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 en 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 la mesa) le dice a su motor de base de datos de dónde desea recuperar estos datos. Reemplazar “mesa” con el nombre de tu tabla de base de datos.
Esta selección se conoce como “seleccionar estrella.” Usar el asterisco es una buena manera de averiguar qué datos hay en una tabla, pero no recomiendo que lo use para ningún código de producción. Cuando se utiliza 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, es posible que sus variables en su lenguaje de programación ya no representen los datos correctos. Afortunadamente, hay una solución.
Puede indicar explícitamente qué columnas desea recuperar, de la siguiente manera:
SELECCIONE la edad, nombre DE la gente;
Esta consulta recupera el “años” y “nombre” columnas de la “gente” mesa. Ser explícito puede ser un poco tedioso si tiene una gran cantidad de datos, pero hacerlo reducirá los problemas en el futuro, además de hacer que su SQL sea más fácil de entender por cualquier programador futuro..
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 un nombre de 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 las personas DONDE la edad> 10;
Esta consulta ahora está restringida a personas mayores de 10 años. Puedes combinar múltiples condiciones usando el Y operador:
SELECCIONE la edad, nombre DESDE las personas DONDE la edad> 10 Y la edad < 20;
los Y El comando funciona exactamente como lo hace 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 años. Como no hay resultados coincidentes, no se devuelven datos.
Otro comando que puede usarse junto con esto es O. Aquí hay un ejemplo:
SELECCIONE la edad, nombre DE las personas DONDE la edad> 10 O nombre = 'Joe';
Esta consulta devuelve registros donde la edad es más de 10, 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 base de datos (pero puede ser muy adecuado para cada entorno, por lo que primero debe verificarlo).
3. Orden
los orden El comando se utiliza para ordenar los resultados devueltos. Es otro fácil de usar. Simplemente adjúntelo al final de su declaración:
SELECCIONAR nombre, edad DE LA ORDEN DE PERSONAS POR edad DESC;
Debe especificar la columna y el orden, que pueden ser ASC para ascender o DESC para descender. Puedes ordenar por múltiples columnas como esta:
SELECCIONAR nombre, edad DE la gente ORDENAR POR nombre ASC, edad DESC
ORDEN 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 o ordenada: este comando le permite cambiar eso.
4. Únete
los unirse comando se utiliza para unirse Datos relacionados almacenados en una o más tablas. Tú 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 altura DE las personas IZQUIERDA ÚNASE a las alturas USANDO (nombre);
Hay algunas cosas que suceden aquí. Tienes que empezar con el “UNIRSE IZQUIERDO” sintaxis, que especifica que desea unirse a una tabla utilizando una combinación de tipo izquierda. A continuación, especifique la tabla a la que desea unirse (alturas). los USANDO (nombre) sintaxis indica que la columna “nombre” se puede encontrar en ambas tablas, y esto debe usarse como una clave para unir las tablas.
No se preocupe si sus columnas tienen nombres diferentes en cada tabla. Puedes usar “EN” en lugar de “UTILIZANDO”:
SELECCIONE la edad, el nombre, la altura DE las personas IZQUIERDA UNIR las alturas ON (namea = nameb);
La instrucción on indica explícitamente en qué columnas se debe teclear. Hay muchos tipos de unión, y llevaría mucho tiempo entrar en detalles para cada uno, así que aquí hay un breve resumen 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 siguen siendo devueltos.
- DERECHO (EXTERIOR) UNIRSE - Esto es lo contrario de una combinación izquierda: se devuelven todas las filas de la tabla derecha, junto con cualquier coincidencia en la tabla izquierda.
- UNIR COMPLETO (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 es necesario que lo especifique la gran mayoría de las veces.
5. alias
Ahora que sabes lo básico, echemos un vistazo a la alias mando. Esto se usa para cambiar temporalmente el nombre de una tabla, más que un apodo que cualquier otra cosa, ya que este nuevo nombre solo existe dentro de la transacción individual que está ejecutando. Así es como lo usas:
SELECCIONE A.age DE la gente A;
Puedes usar cualquier nombre válido que quieras, pero me gusta usar letras del alfabeto. Antes de cada nombre de columna, el alias es prefijado. Este alias se asigna a la tabla inmediatamente después de su declaración. Esto es exactamente lo mismo que hacer esto:
SELECCIONA people.age DE people;
En lugar de tener que escribir un nombre largo en la tabla, puede escribir una letra simple y fácil de recordar, pero ¿cuál es el punto? Bueno, si selecciona de más de una tabla, es fácil confundirse acerca de qué columnas pertenecen a qué tabla. Si las dos tablas tienen columnas con el mismo nombre, es posible que la consulta de la base de datos no se ejecute 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 DE staff, clientes;
Y aquí está la 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 hacer que su código sea más fácil de entender y reduce la cantidad de escritura que tiene que hacer.
También puede cambiar el nombre de una columna con un alias usando la “COMO” mando:
SELECCIONE la edad COMO persona en lugar de las personas;
Cuando se ejecuta esta consulta, ahora se llamará la columna “personaje” en lugar de “años”.
6. unión
Unión Es un gran comando. Te permite añadir filas entre sí. A diferencia de las combinaciones que agregan columnas coincidentes, la unión puede agregar filas no relacionadas siempre que tengan el mismo número y nombre de columnas. Así es como lo usas:
SELECCIONE la edad, nombre DE los clientes UNION SELECCIONE la edad, nombre DESDE el personal;
Puede pensar en la unión como una forma de combinar los resultados de dos consultas. Una unión solo devolverá resultados donde haya una fila única entre las dos consultas. Puedes usar el “UNION TODO” Sintaxis para devolver todos los datos, independientemente de los duplicados:
SELECCIONE la edad, nombre DE los clientes UNION ALL SELECT edad, nombre DEL personal;
¿Observa cómo cambia el orden de las filas? Union funciona 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 de la suma total en una consulta de los totales individuales para un escenario particular.
7. Insertar
Ahora sabe todo sobre la recuperación de datos de una base de datos, pero ¿qué hay de insertarlo? Aquí es donde el insertar el comando entra. Aquí hay un ejemplo:
Insertar en las personas (nombre, edad) VALORES ('Joe', 102);
Debe especificar el nombre de la tabla (personas) y las columnas que desea usar (nombre y edad). los “VALORES” La sintaxis se utiliza para proporcionar los valores para insertar. Estos 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 todas las restricciones de tabla necesarias que están presentes.
8. Actualizar
Después de insertar algunos datos, es natural que necesite cambiar filas específicas. Aquí esta la actualizar sintaxis del comando:
ACTUALIZAR personas SET nombre = 'Joe', edad = 101;
Debe especificar la tabla que desea cambiar y luego usar la “CONJUNTO” Sintaxis para especificar las columnas y sus nuevos valores. Este ejemplo es bueno, pero actualizará cada registro individual, algo que no siempre es deseable!
Para ser más específico, puedes usar “DÓNDE” cláusulas al igual que cuando se hace una selección:
ACTUALIZAR personas SET nombre = 'Joe', edad = 101 DÓNDE nombre = 'James';
Incluso puedes especificar múltiples condiciones usando “Y” y “O”:
ACTUALIZAR a la gente SET nombre = 'Joe', edad = 101 DÓNDE (nombre = 'James' Y edad = 100) O nombre = 'Ryan';
Observe cómo se utilizan los soportes 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 que ha especificado que solo desea registros con nombres únicos; por ejemplo, no desea almacenar dos filas con el mismo nombre. Si intentara insertar varios valores de 'Joe', el motor de su base de datos arrojaría un error y se negaría a hacerlo (con 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 principal correcta y luego actualizar.
Desafortunadamente, las actualizaciones se implementan de manera diferente en diferentes motores de base de datos. PostgreSQL solo ha ganado esta capacidad recientemente, mientras que MySQL la ha tenido durante bastante tiempo. Aquí está la sintaxis de MySQL para referencia:
Insertar en las personas (nombre, edad) VALORES ('Joe', 101) EN ACTUALIZACIÓN CLAVE DUPLICADA edad = 101;
Observe cómo esto es esencialmente una actualización y una declaración de inserción, que se pueden resumir como “actualizar si la inserción falló.”
10. Eliminar
Borrar se utiliza para eliminar registros por completo. ¡Puede ser bastante perjudicial si se abusa de ellos! 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 donde restringirlo a un número de filas un poco más sano, idealmente uno:
ELIMINAR DE LAS personas DONDE nombre = 'Joe';
Si está desarrollando un sistema, a menudo es aconsejable implementar un “borrado suave.” Nunca ejecuta realmente el comando de eliminar, en lugar de crear una columna eliminada y luego revisar esa columna en sus selecciones, puede evitar una gran vergüenza si puede recuperar rápida y fácilmente los registros supuestamente eliminados. Esto no es un sustituto para las copias de seguridad adecuadas, sin embargo.
11. Crear tabla
los crear mesa El comando se utiliza para crear tablas. Es otra muy simple:
CREAR TABLA personas (nombre TEXTO, edad, INTEGER, CLAVE PRIMARIA (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 tabla
los alterar tabla El comando se utiliza para modificar la estructura de una tabla. Esto está ligeramente limitado, ya que su base de datos no le permitirá alterar una tabla si los datos existentes podrían causar un conflicto, por ejemplo, cambiar una cadena a un entero. En esos casos, arregle los datos primero, luego modifique la tabla. Aquí hay un ejemplo:
ALTER TABLE personas ADD altura entero;
Este ejemplo agrega una columna llamada “altura” de tipo entero a la tabla de personas. Realmente no hay un límite en lo que puedes alterar.
13. Tabla de caída
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 usas:
DROP TABLE personas;
Es un comando bastante drástico, y no hay ninguna razón por la 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 creación de un sitio web completo desde cero. No te preocupes si esto suena difícil. Te guiaré en cada paso del camino. Lea más, y luego use sus nuevas habilidades para hacerlo dinámico. Solo asegúrese de no cometer estos errores 9 Errores que no debe cometer al crear una página web Errores que no debe cometer al crear una página web A continuación Los errores de codificación HTML 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á de la manera que desee. Lea más o déjelo 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 de Internet está plagado de puertos abiertos, puertas traseras, agujeros de seguridad, troyanos, gusanos, vulnerabilidades de cortafuegos y una gran cantidad de otros problemas que nos mantienen en alerta todos los días. Para usuarios privados,… Leer más. Si no está seguro de que necesita aprender SQL, ha considerado un generador de sitios estáticos 7 Razones para deshacerse de su CMS y Considerar un generador de sitios estáticos 7 Razones para deshacerse de sus CMS y Considerar un generador de sitios estáticos Durante muchos años, publicar un sitio web Fue difícil para muchos usuarios. Los CMS como WordPress cambiaron eso, pero todavía pueden ser confusos. Otra alternativa es un generador de sitio estático. Lee mas ?
¿Por qué no dejar un comentario a continuación con sus consejos y trucos de SQL favoritos??
Créditos de imagen: HYS_NP / Shutterstock
Explorar más sobre: Programación, SQL.