Cómo escribir consultas SQL: ejemplos detallados. Una selección de materiales para estudiar bases de datos y SQL.

Las consultas se escriben sin comillas de escape, ya que mysql, Microsoft SQL Y PublicarGree ellos son diferentes.

Consulta SQL: obtener los campos especificados (necesarios) de la tabla

SELECCIONE ID, título_país, recuento_personas DESDE nombre_tabla

Obtenemos una lista de registros: TODOS los países y sus poblaciones. Los nombres de los campos obligatorios se indican separados por comas.

SELECCIONAR * DESDE nombre_tabla

* denota todos los campos. Es decir, habrá espectáculos. TODO Campos de información.

Consulta SQL: generar registros de una tabla excluyendo duplicados

SELECCIONE DISTINCT título_país DESDE nombre_tabla

Obtenemos una lista de registros: países donde se encuentran nuestros usuarios. Puede haber muchos usuarios de un país. En este caso es tu petición.

Consulta SQL: muestra registros de una tabla según una condición determinada

SELECCIONE ID, título_país, título_ciudad DESDE nombre_tabla DONDE cuenta_personas>100000000

Obtenemos una lista de registros: países donde el número de personas es superior a 100.000.000.

Consulta SQL: generar registros de una tabla con orden

SELECCIONE id, título_ciudad DESDE nombre_tabla ORDENAR POR título_ciudad

Obtenemos una lista de registros: ciudades en orden alfabético. Al principio A, al final Z.

SELECCIONE id, título_ciudad DESDE nombre_tabla ORDENAR POR título_ciudad DESC

Obtenemos una lista de registros: ciudades al revés ( DESC) bueno. Al principio yo, al final A.

Consulta SQL: contando el número de registros

SELECCIONE RECUENTO(*) DE nombre_tabla

Obtenemos el número (número) de registros en la tabla. En este caso NO hay lista de registros.

Consulta SQL: generando el rango deseado de registros

SELECCIONAR * DESDE nombre_tabla LÍMITE 2, 3

Obtenemos 2 (segundos) y 3 (terceros) registros de la tabla. La consulta es útil al crear navegación en páginas WEB.

Consultas SQL con condiciones.

Mostrar registros de una tabla según una condición determinada mediante operadores lógicos.

Consulta SQL: construcción AND

SELECCIONE id, título_ciudad DESDE nombre_tabla DONDE país="Rusia" Y petróleo=1

Obtenemos una lista de registros: ciudades de Rusia Y tener acceso al petróleo. Cuándo utilizar el operador Y, entonces ambas condiciones deben coincidir.

Consulta SQL: construcción O

SELECCIONE id, título_ciudad DESDE nombre_tabla DONDE país="Rusia" O país="EE.UU."

Obtenemos una lista de registros: todas las ciudades de Rusia O EE.UU. Cuándo utilizar el operador O, entonces AL MENOS una condición debe coincidir.

Consulta SQL: Y NO construcción

SELECCIONE id, inicio de sesión de usuario DE nombre_tabla DONDE país="Rusia" Y NO cuenta_comentarios<7

Obtenemos una lista de registros: todos los usuarios de Rusia. Y quien lo hizo NO MENOS 7 comentarios.

Consulta SQL: construcción IN (B)

SELECCIONE id, inicio de sesión de usuario DESDE nombre_tabla DONDE país EN ("Rusia", "Bulgaria", "China")

Obtenemos una lista de registros: todos los usuarios que viven en ( EN) (Rusia, Bulgaria o China)

Consulta SQL: NO EN construcción

SELECCIONE id, inicio de sesión de usuario DESDE nombre_tabla DONDE el país NO ESTÁ ("Rusia", "China")

Obtenemos una lista de registros: todos los usuarios que no viven en ( NO EN) (Rusia o China).

Consulta SQL: construcción IS NULL (valores vacíos o NO vacíos)

SELECCIONE ID, inicio de sesión de usuario DESDE nombre_tabla DONDE el estado ES NULO

Obtenemos una lista de registros: todos los usuarios cuyo estado no está definido. NULL es una cuestión aparte y, por tanto, se comprueba por separado.

SELECCIONE ID, inicio de sesión de usuario DESDE nombre_tabla DONDE el estado NO ES NULO

Obtenemos una lista de registros: todos los usuarios donde se define el estado (NO NULO).

Consulta SQL: construcción LIKE

SELECCIONE ID, inicio de sesión de usuario DE nombre_tabla DONDE apellido COMO "Ivan%"

Obtenemos una lista de registros: usuarios cuyo apellido comienza con la combinación "Iván". El signo % significa CUALQUIER número de CUALQUIER carácter. Para encontrar el signo % necesitas usar el escape “Ivan\%”.

Consulta SQL: ENTRE construcción

SELECCIONE ID, inicio de sesión de usuario DE nombre_tabla DONDE salario ENTRE 25000 Y 50000

Obtenemos una lista de registros: usuarios que reciben un salario de 25.000 a 50.000 inclusive.

Hay MUCHOS operadores lógicos, así que estudie la documentación del servidor SQL en detalle.

Consultas SQL complejas

Consulta SQL: combinación de múltiples consultas

(SELECCIONE id, inicio de sesión de usuario DE nombre_tabla1) UNION (SELECCIONE id, inicio de sesión de usuario DE nombre_tabla2)

Obtenemos una lista de entradas: usuarios que están registrados en el sistema, así como aquellos usuarios que están registrados por separado en el foro. El operador UNION puede combinar múltiples consultas. UNION actúa como SELECT DISTINCT, es decir, descarta valores duplicados. Para obtener absolutamente todos los registros, debe utilizar el operador UNION ALL.

Consulta SQL: contando valores de campo MAX, MIN, SUM, AVG, COUNT

Mostrando un valor de contador máximo en la tabla:

SELECCIONE MAX(contador) DESDE nombre_tabla

Salida de un valor de contador mínimo en la tabla:

SELECCIONE MIN (contador) DE nombre_tabla

Mostrando la suma de todos los valores de los contadores en la tabla:

SELECCIONE SUMA (contador) DE nombre_tabla

Mostrando el valor promedio del contador en la tabla:

SELECCIONE AVG (contador) DE nombre_tabla

Mostrando el número de contadores en la tabla:

SELECCIONE RECUENTO (contador) DE nombre_tabla

Visualizando el número de metros en el taller nº 1 en la tabla:

SELECCIONE CONTAR(contador) DESDE nombre_tabla DONDE oficina="Taller No. 1"

Estos son los equipos más populares. Se recomienda, siempre que sea posible, utilizar consultas SQL de este tipo para los cálculos, ya que ningún entorno de programación puede compararse en velocidad de procesamiento de datos que el propio servidor SQL al procesar sus propios datos.

Consulta SQL: agrupación de registros

SELECCIONE continente, SUMA(área_país) DEL GRUPO DE PAÍS POR continente

Obtenemos una lista de registros: con el nombre del continente y la suma de las áreas de todos sus países. Es decir, si hay un directorio de países donde cada país tiene registrada su área, entonces usando el constructo GROUP BY puedes averiguar el tamaño de cada continente (basado en la agrupación por continentes).

Consulta SQL: uso de varias tablas mediante alias

SELECCIONE o.order_no, o.amount_paid, c.company DE pedidos COMO o, cliente COMO con DONDE o.custno=c.custno AND c.city="Tyumen"

Recibimos una lista de registros: pedidos de clientes que viven solo en Tyumen.

De hecho, con una base de datos de este tipo diseñada correctamente, la solicitud es la más frecuente, por lo que se introdujo un operador especial en MySQL que funciona muchas veces más rápido que el código escrito anteriormente.

SELECCIONE o.order_no, o.amount_paid, z.company DE los pedidos COMO o IZQUIERDA UNIRSE al cliente COMO z ON (z.custno=o.custno)

Subconsultas anidadas

SELECCIONAR * DESDE nombre_tabla DONDE salario=(SELECCIONAR MAX(salario) DEL empleado)

Obtenemos un registro: información sobre el usuario con el salario máximo.

¡Atención! Las subconsultas anidadas son uno de los mayores cuellos de botella en los servidores SQL. Junto con su flexibilidad y potencia, también aumentan significativamente la carga del servidor. Lo que provoca una desaceleración catastrófica para el resto de usuarios. Los casos de llamadas recursivas en consultas anidadas son muy comunes. Por lo tanto, recomiendo encarecidamente NO utilizar consultas anidadas, sino dividirlas en consultas más pequeñas. O utilice la combinación LEFT JOIN descrita anteriormente. Además, este tipo de solicitud es una fuente cada vez mayor de violaciones de seguridad. Si decide utilizar subconsultas anidadas, deberá diseñarlas con mucho cuidado y realizar ejecuciones iniciales en copias de bases de datos (bases de datos de prueba).

Consultas SQL cambiando datos.

Consulta SQL: INSERTAR

Instrucciones INSERTAR Le permite insertar registros en una tabla. En palabras simples, crea una fila con datos en una tabla.

Opción 1. Una instrucción de uso frecuente es:

INSERTAR EN nombre_tabla (id, inicio de sesión de usuario) VALORES (1, "ivanov"), (2, "petrov")

A la mesa " nombre de la tabla» Se insertarán 2 (dos) usuarios a la vez.

Opcion 2. Es más conveniente utilizar el estilo:

INSERT nombre_tabla SET id=1, user_login="ivanov"; INSERT nombre_tabla SET id=2, user_login="petrov";

Esto tiene sus ventajas y desventajas.

Principales desventajas:

  • Muchas consultas SQL pequeñas se ejecutarán un poco más lentamente que una consulta SQL grande, pero otras consultas se pondrán en cola para recibir servicio. Es decir, si una consulta SQL grande tarda 30 minutos en completarse, durante todo este tiempo las consultas restantes fumarán bambú y esperarán su turno.
  • La solicitud resulta ser más masiva que la versión anterior.

Ventajas principales:

  • Durante consultas SQL pequeñas, otras consultas SQL no se bloquean.
  • Facilidad de lectura.
  • Flexibilidad. En esta opción, no es necesario seguir la estructura, sino agregar solo los datos necesarios.
  • Al crear archivos de esta manera, puede copiar fácilmente una línea y ejecutarla a través de la línea de comando (consola), sin restaurar así todo el ARCHIVO.
  • El estilo de escritura es similar a la declaración ACTUALIZAR, lo que la hace más fácil de recordar.

Consulta SQL: ACTUALIZAR

ACTUALIZAR nombre_tabla SET usuario_login="ivanov", nombre_usuario="Ivanov" DONDE id=1

En la mesa " nombre de la tabla"en el registro con número id=1, los valores de los campos user_login y user_surname se cambiarán a los valores especificados.

Consulta SQL: BORRAR

ELIMINAR DE nombre_tabla DONDE id=3

En la tabla table_name se eliminará el registro con ID número 3.

  1. Se recomienda escribir todos los nombres de los campos en letras minúsculas y, si es necesario, separarlos con un espacio forzado “_” para compatibilidad con diferentes lenguajes de programación, como Delphi, Perl, Python y Ruby.
  2. Escriba comandos SQL en letras MAYÚSCULAS para facilitar la lectura. Recuerde siempre que otras personas pueden leer el código después de usted y, muy probablemente, usted mismo después de N período de tiempo.
  3. Nombra los campos primero con un sustantivo y luego con una acción. Por ejemplo: estado_ciudad, inicio de sesión_usuario, nombre_usuario.
  4. Trate de evitar palabras reservadas en diferentes idiomas que puedan causar problemas en SQL, PHP o Perl, como (nombre, recuento, enlace). Por ejemplo: el enlace se puede utilizar en MS SQL, pero está reservado en MySQL.

Este material es una breve referencia para el trabajo diario y no pretende ser una fuente súper mega autorizada, que es la fuente original de consultas SQL de una base de datos en particular.

Les presento una traducción gratuita del artículo SQL para principiantes.

Cada vez más aplicaciones web modernas interactúan con bases de datos, normalmente utilizando el lenguaje SQL. Por suerte para nosotros, este idioma es bastante fácil de aprender. En este artículo, comenzaremos a aprender los conceptos básicos de las consultas SQL y cómo interactúan con una base de datos. mysql.

Que necesitas

SQL (lenguaje de consulta estructurado) es un lenguaje diseñado para interactuar con sistemas de gestión de bases de datos relacionales (DBMS), como MySQL, Oracle, SQLite y otros. Para ejecutar las consultas SQL en este artículo, asumo que tiene mysql. También recomiendo usar phpMyAdmin como herramienta de visualización para mysql.

Las siguientes aplicaciones facilitarán la instalación. mysql Y phpMyAdmin a tu computador:

  • WAMP para Windows
  • MAMP para Mac

Comencemos a ejecutar consultas en la línea de comando. WAMP ya lo contiene en la consola mysql. Para MAMP, es posible que necesites leer esto.

CREAR BASE DE DATOS: Crear una base de datos

Nuestra primera petición. Crearemos una base de datos con la que trabajaremos.

Primero que nada, abre la consola. mysql e iniciar sesión. Para WAMP De forma predeterminada, se utiliza una contraseña vacía. Para MAMP La contraseña debe ser "root".

Después de iniciar sesión, escriba esta solicitud y haga clic Ingresar:

CREAR BASE DE DATOS my_first_db;

Tenga en cuenta que se agrega un punto y coma (;) al final de la consulta, como al final de una línea en el código.

Además, palabras clave CREAR BASE DE DATOS no distinguen entre mayúsculas y minúsculas, como todas las palabras clave en SQL. Pero los escribiremos en mayúsculas para mejorar la legibilidad.

Nota: juego de caracteres y orden de clasificación

Si desea establecer el juego de caracteres predeterminado y el orden de clasificación, utilice una consulta como esta:

CREAR BASE DE DATOS my_first_db CONJUNTO DE CARACTERES PREDETERMINADO utf8 COLLATE utf8_general_ci;

Encontrará una lista de conjuntos de caracteres e intercalaciones admitidos en mysql.

MOSTRAR BASES DE DATOS: Lista de todas las bases de datos

Esta consulta se utiliza para mostrar todas las bases de datos.

DROP DATABASE: Eliminar una base de datos

Con esta consulta puede eliminar una base de datos existente.

Ojo con esta petición porque no genera ningún aviso. Si tiene tablas y datos en la base de datos, la consulta los eliminará todos en un instante.

Desde un punto de vista técnico, esto no es una solicitud. Este es un "operador" y no requiere punto y coma al final.

El Reporta mysql que necesita seleccionar la base de datos predeterminada y trabajar con ella hasta el final de la sesión. Ahora estamos listos para crear las tablas y todo lo demás en esta base de datos.

¿Qué es una tabla de base de datos?

Puede considerar una tabla en una base de datos como una tabla normal o como un archivo csv que tiene datos estructurados.

Como en este ejemplo, la tabla tiene nombres de filas y columnas de datos. Usando consultas SQL podemos crear esta tabla. También podemos agregar, leer, cambiar y eliminar datos.

CREAR TABLA: Crear una tabla

Con esta consulta podemos crear una tabla en la base de datos. Desafortunadamente, la documentación para mysql No es muy amigable para los nuevos usuarios. La estructura de esta consulta puede ser muy compleja, pero empezaremos de forma sencilla.

La siguiente consulta crea una tabla con dos columnas.

CREATE TABLE usuarios (nombre de usuario VARCHAR(20), create_date DATE);

Tenga en cuenta que podemos escribir la consulta en varias líneas y usar Pestaña para sangría.

La primera línea es sencilla. Creamos una tabla llamada usuarios. A continuación, las columnas de la tabla se enumeran entre paréntesis, separadas por comas. Cada nombre de columna va seguido de un tipo de datos, p. VARCHAR o FECHA.

VARCHAR(20) significa que la columna es de tipo cadena y no puede tener más de 20 caracteres de longitud. FECHA- tipo de datos destinado a almacenar fechas en el formato: "AAAA-MM-DD".

Clave primaria

Antes de ejecutar esta consulta, debemos insertar una columna ID_usuario, que será la clave primaria (CLAVE PRIMARIA). Sin entrar en demasiados detalles, puedes pensar en una clave principal como una forma de identificar cada fila de datos en una tabla.

La solicitud queda así:

CREATE TABLE usuarios (user_id INT AUTO_INCREMENT PRIMARY KEY, nombre de usuario VARCHAR(20), create_date DATE);

EN T- Tipo entero de 32 bits (numérico). AUTOINCREMENTO crea automáticamente un nuevo número de identificación cada vez que se agrega una fila de datos. No es necesario, pero sí más cómodo.

Es posible que esta columna no sea un número entero, aunque este es el tipo de datos más común. Una columna de clave principal es opcional, pero se recomienda para mejorar el rendimiento y la arquitectura de la base de datos.

Ejecutemos la consulta:

MOSTRAR TABLAS: Listar todas las tablas

La consulta le permite obtener una lista de todas las tablas de la base de datos actual.

EXPLICAR: Mostrar estructura de la tabla

Utilice esta consulta para ver la estructura de una tabla existente.

El resultado muestra los campos (columnas) y sus propiedades.

DROP TABLE: Soltar una mesa

Como SOLTAR BASES DE DATOS, esta consulta elimina la tabla y su contenido sin ninguna advertencia.

ALTER TABLA: Cambiar tabla

Una consulta de este tipo puede tener una estructura compleja porque puede realizar varios cambios en la tabla. Veamos ejemplos sencillos.

Gracias a la legibilidad SQL, esta consulta no necesita explicación.

Quitarlo es igual de fácil. Utilice la solicitud con precaución; los datos se eliminan sin previo aviso.

Volvamos a agregar el campo. correo electrónico, Lo necesitarás más tarde:

ALTER TABLE usuarios AGREGAR correo electrónico VARCHAR(100) DESPUÉS del nombre de usuario;

A veces es posible que necesites cambiar las propiedades de una columna; para ello, no es necesario eliminarla y crearla nuevamente.

Esta solicitud cambia el nombre del campo. nombre de usuario V nombre de usuario y cambia su tipo de VARCHAR(20) en VARCHAR(30). Estos cambios no afectan los datos de la tabla.

INSERTAR: Agregar datos a la tabla

Agreguemos registros a la tabla usando consultas.

Como se puede ver, VALORES() contiene una lista de valores separados por comas. Los valores de cadena están entre comillas simples. Los valores deben seguir el orden especificado cuando se creó la tabla.

Tenga en cuenta que el primer valor es NULO para la clave primaria cuyo campo nombramos ID_usuario. Todo porque el campo está marcado como AUTOINCREMENTO y la identificación se genera automáticamente. La primera fila de datos tendrá una identificación de 1. La siguiente fila agregada será 2, etc.

Sintaxis alternativa

Aquí hay otra sintaxis para insertar filas.

Esta vez usamos la palabra clave COLOCAR en lugar de VALORES. Notemos algunas cosas:

  • La columna podrá omitirse. Por ejemplo, no asignamos un valor al campo. ID_usuario, porque está marcado como AUTOINCREMENTO. Si no asigna un valor a un campo con tipo VARCHAR, entonces, de forma predeterminada, tomará el valor de una cadena vacía (si no se especificó otro valor predeterminado al crear la tabla).
  • Se puede acceder a cada columna por nombre. Por tanto, los campos pueden estar en cualquier orden, a diferencia de la sintaxis anterior.

Sintaxis alternativa número 2

Aquí hay otro ejemplo.

Como antes, se puede acceder a los campos por nombre y pueden estar en cualquier orden.

Utilice esta consulta para obtener la identificación de la última fila insertada.

AHORA()

Es hora de mostrarte cómo usar las funciones. mysql en solicitudes.

Función AHORA() devuelve la fecha actual. Úselo para agregar automáticamente la fecha actual a un campo con tipo FECHA.

Tenga en cuenta que hemos recibido una advertencia de mysql, pero eso no es tan importante. La razón es que la función AHORA() en realidad devuelve información de tiempo.

Hemos creado un campo. Fecha de Creación, que solo puede contener una fecha pero no una hora, por lo que los datos se truncaron. En lugar de AHORA() podríamos usar FECHA ACTUAL(), que solo devuelve la fecha actual, pero al final el resultado sería el mismo.

SELECCIONAR: Recuperar datos de una tabla

Obviamente, los datos que escribimos son inútiles hasta que podamos leerlos. Una petición viene al rescate. SELECCIONAR.

El ejemplo más simple de usar una solicitud. SELECCIONAR para leer datos de una tabla:

El asterisco (*) significa que queremos obtener todas las columnas de la tabla. Si solo necesita obtener ciertas columnas, use algo como esto:

La mayoría de las veces, solo queremos recuperar ciertas filas, no todas. Por ejemplo, obtengamos la dirección de correo electrónico del usuario. nettuts.

Es similar a la condición IF. WHERE le permite establecer una condición en una consulta y obtener el resultado deseado.

La condición de igualdad usa un signo simple (=) en lugar del signo doble (==) que podría usar en programación.

También puedes utilizar otras condiciones:

Y Y O se utilizan para combinar condiciones:

Tenga en cuenta que no es necesario encerrar los valores numéricos entre comillas.

EN()

Se utiliza para comparar con múltiples valores.

COMO

Le permite especificar un patrón de búsqueda.

El signo de porcentaje (%) se utiliza para especificar un patrón.

ORDEN POR condición

Utilice esta condición si desea que el resultado se devuelva ordenado:

El orden predeterminado es A.S.C.(Ascendente). Agregar DESC para ordenar en orden inverso.

LÍMITE...DESPLAZAMIENTO...

Puede limitar el número de filas devueltas.

LÍMITE 2 toma las dos primeras líneas. LÍMITE 1 COMPENSACIÓN 2 toma una línea después de las dos primeras. LÍMITE 2, 1 significa lo mismo, solo que el primer número es el desplazamiento y el segundo limita el número de líneas.

ACTUALIZACIÓN: Actualización de datos en una tabla

Esta consulta se utiliza para actualizar datos en una tabla.

En la mayoría de los casos utilizado junto con DÓNDE, para actualizar filas específicas. Si la condición DÓNDE no se especifica, los cambios se aplicarán a todas las filas.

Para limitar las filas que se pueden cambiar, puede utilizar LÍMITE.

ELIMINAR: Eliminar datos de una tabla

Como , esta consulta se utiliza a menudo junto con la condición DÓNDE.

TABLA TRUNCADA

Para eliminar contenido de una tabla, utilice la siguiente consulta:

ELIMINAR DE los usuarios;

Para mejorar el rendimiento, utilice .

El contador de campo también se restablecerá. AUTOINCREMENTO, por lo que las filas recién agregadas tendrán una identificación igual a 1. Cuando se usa esto no sucederá y el contador seguirá creciendo.

Escapar de valores de cadena y palabras especiales

Valores de cadena

Es necesario escapar de algunos caracteres; de lo contrario, puede haber problemas.

La barra invertida (\) se utiliza para escapar.

Esto es muy importante por razones de seguridad. Se debe escapar cualquier dato del usuario antes de escribirlo en la base de datos. EN PHP utilice la función mysql_real_escape_string() o consultas preparadas.

palabras especiales

Desde en mysql muchas palabras reservadas como SELECCIONAR o Para evitar conflictos, incluya los nombres de columnas y tablas entre comillas. Además, es necesario utilizar comillas invertidas (`) en lugar de comillas ordinarias.

Digamos que, por alguna razón, desea agregar una columna llamada :

Conclusión

Gracias por leer el articulo. Espero haber podido mostrarte ese idioma. SQL muy funcional y fácil de aprender.

Consultas: consultas estructuradas a la base de datos. ¿Por qué exactamente? curso de programación? A pesar de que muchos "expertos literarios" argumentarán que SQL no lo es, pero lenguaje de consulta, Creo que los cursos sobre su estudio pueden y deben clasificarse como cursos de programación. En primer lugar, no llamarlos cursos para solicitudes de redacción, ya que esto podría confundirlos con cursos para funcionarios noveles o fiscales. En segundo lugar, trabajar con bases de datos está tan estrechamente relacionado con que la falta de conocimientos de SQL reduce significativamente el alcance de un programador en particular. Y en tercer lugar, las consultas estructuradas (no necesariamente a bases de datos) ya no se encuentran en las proximidades de los límites de los lenguajes de programación; ya los han cruzado y la tecnología puede servir como ejemplo de ello.

Todos los ejemplos se basan en consultas en tres tablas,


que contiene la siguiente información:

  • D_PERSONAL- lista de empleados de la empresa;

    • S_NAME – nombre completo
    • S_POSITION – posición (directorio);
    • S_EXPERIENCE – experiencia laboral (número entero de años);
    • S_CHIEF_ID – empleado senior de la empresa (relación “jefe” - “subordinado”);
    • S_COMMENTS – nota.


  • D_PROFIE- una lista de perfiles de usuario que, según la leyenda, se implementa en el territorio de la empresa en cuestión y ayuda a automatizar algunos de sus procesos comerciales. Este sistema podría ser un desarrollo nacional de “1C – Enterprise” o un sistema basado en el paquete de software SAP R/3, que es el representante más destacado de esta clase de software en el extranjero;

    • XD_IID – Identificador de registro único;
    • P_NAME – nombre del perfil (rol);
    • P_COMMENTS – nota.


  • D_STAFF_PROFILE– una tabla que conecta a los empleados de la empresa (D_STAFF) con los perfiles de usuario del sistema (D_PROFILE). Cada entrada en esta tabla es una relación que determina la capacidad del empleado para iniciar sesión con todos los derechos y permisos del perfil seleccionado para él. A cada empleado se le pueden permitir varios perfiles y cualquier perfil puede asociarse con varios empleados diferentes. Por tanto, la tabla D_STAFF_PROFILE define una relación de muchos a muchos.

Breve descripción general de la sintaxis de las consultas SQL en cuestión

Actualización de datos o comando ACTUALIZAR

El propósito del comando ACTUALIZAR es actualizar los registros existentes en la tabla especificada. Indicamos dónde y qué queremos cambiar, y después de la palabra clave WHERE establecemos criterios para seleccionar registros actualizados. En un comando de actualización de datos, como en otras consultas SQL, puede utilizar subconsultas: por ejemplo, puede definir el resultado de una subconsulta que devuelva solo una columna y una fila como valor asignado a un campo.

ACTUALIZAR CONJUNTO ( = ) o ACTUALIZAR CONJUNTO ( = (SELECCIONAR DESDE DONDE))

Agregar datos o comando INSERT

Agregar nuevos registros a la tabla especificada. Aquí tampoco hay nada complicado. Especificamos la tabla, la lista de campos y la lista de valores agregados a estos campos. También es fácil adivinar lo que puede proporcionar el uso de una subconsulta SQL: copiar la matriz de datos seleccionada usando SELECT en la tabla especificada (en los campos enumerados separados por comas). Naturalmente, el número y tipo de columnas de la consulta SELECT debe corresponder al número y tipo de campos de la tabla en la que se realiza la inserción.

INSERTAR EN [()] VALORES () o INSERTAR EN [()] (SELECCIONAR DESDE DONDE)

Eliminación de datos o comando DELETE

Eliminar filas de una tabla o de varias tablas a la vez, cuyas filas están combinadas por condiciones. Todo aquí también es obvio. Indicamos de qué tabla estamos eliminando datos, y en la parte DÓNDE seleccionamos los datos a eliminar. La segunda versión de la consulta SQL que utiliza la declaración DELETE muestra la sintaxis general para eliminar registros de varias tablas a la vez. En las condiciones de selección (en la parte DÓNDE), también puede utilizar subconsultas.

ELIMINAR DE o ELIMINAR DE

Si todo está más o menos claro, entonces nos familiarizamos o comenzamos el proceso de aprendizaje en sí.

    Ejecutar consultas SQL simples usando el comando SELECT. Definir criterios simples y compuestos para seleccionar registros utilizando la cláusula WHERE. Usando los operadores ENTRE y LIKE. Creación de una consulta jerárquica utilizando alias de tablas y campos.

Una selección de libros, cursos en vídeo y recursos en línea para estudiar bases de datos, los fundamentos de la teoría relacional y el lenguaje SQL.

Libros

Alan Bewley "Aprendiendo SQL" (2007)

Este libro es una excelente opción para aquellos que se encuentran al comienzo del espinoso camino del aprendizaje de SQL. No sólo le permitirá adquirir la base necesaria de conocimientos iniciales, sino que también le informará sobre las sutilezas más populares y las potentes herramientas lingüísticas utilizadas por programadores experimentados.
Muchos libros de texto sobre bases de datos, teoría relacional y SQL están llenos de conceptos teóricos aburridos. Este libro es una agradable excepción debido a su estilo ligero y animado. El autor presenta hábilmente al lector información sobre expresiones y bloques SQL, tipos de condiciones, uniones, subconsultas y mucho más.
Para consolidar en la práctica los conocimientos adquiridos, el autor crea una base de formación sobre MySQL y proporciona muchos ejemplos prácticos de consultas que cubren todo el material teórico presentado.

Chris Fiaily "SQL" (2013)


El libro trata sobre la versión del lenguaje ANSI SQL-92 (SQL2). Describe en detalle cómo utilizar el lenguaje de consulta para resolver las clases correspondientes de problemas de recuperación y modificación de datos y trabajo con objetos de la estructura de la base de datos. Todos los ejemplos se explican en detalle.
En esta publicación se presta especial atención a las diferencias en los dialectos SQL en la implementación de los DBMS más comunes: MySQL, Oracle, MS SQL Server y PostgreSQL.
El libro está dirigido a cualquier persona que quiera aprender de forma independiente el lenguaje SQL o mejorar sus conocimientos sobre este tema.

Antonio Molinaro "SQL. Colección de recetas" (2009)


Esta publicación está dirigida a quienes ya tienen algunos conocimientos de SQL y desean mejorar sus habilidades en esta área. También será de gran utilidad para los expertos en bases de datos, ya que el autor ofrece ejemplos de resolución de problemas en diferentes DBMS: DB2, Oracle, PostgreSQL, MySQL y SQL Server.
El libro le ayudará a aprender cómo utilizar SQL para resolver una gama más amplia de problemas: desde operaciones dentro de una base de datos hasta recuperar datos y transmitirlos a través de la red a aplicaciones.
Aprenderá a utilizar funciones de ventana y operadores especiales, así como técnicas avanzadas para trabajar con almacenes de datos: crear histogramas, resumir datos en bloques, realizar agregaciones de rango móvil, generar sumas acumuladas y subtotales. Podrá expandir filas en columnas y viceversa, simplificar los cálculos dentro de una fila y desplegar dos veces el conjunto de resultados, y realizar un recorrido de cadenas, lo que le permite usar SQL para analizar una cadena en caracteres, palabras o cadenas delimitadas. elementos. Las técnicas propuestas por el autor te permitirán optimizar el código de tus aplicaciones y abrirte nuevas posibilidades en el lenguaje SQL.

Alex Kriegel et al. Biblia del usuario, 2da edición (2010)


El libro es único porque cada capítulo compara las implementaciones de ciertas consultas en los dialectos de los tres DBMS líderes. Esto lo convierte en una guía completa y práctica del lenguaje SQL para desarrolladores, desde principiantes hasta gurús, una especie de guía de escritorio.
La publicación cubre temas desde los más básicos hasta transacciones y bloqueos, funciones y seguridad de bases de datos.
Al final se presentan varios temas adicionales: integración de SQL a XML, inteligencia empresarial OLAP y más.

Eric Redmond, Jim R. Wilson "Siete bases de datos en siete semanas". Introducción a las bases de datos modernas y la ideología NoSQL" (2015)

El libro cubre la mayoría de las bases de datos modernas de código abierto: Redis, Neo4J, CouchDB, MongoDB, HBase, PostgreSQL y Riak. Para cada base, se proporcionan ejemplos de trabajo con datos reales, que demuestran las ideas y fortalezas principales.
Este libro arrojará luz sobre las fortalezas y debilidades de cada una de las siete bases de datos y le enseñará cómo elegir la que mejor satisfaga sus necesidades.

Cada uno de nosotros encuentra y utiliza periódicamente diversas bases de datos. Cuando seleccionamos una dirección de correo electrónico, estamos trabajando con una base de datos. Las bases de datos son utilizadas por servicios de búsqueda, bancos para almacenar datos de clientes, etc.

Pero a pesar del uso constante de bases de datos, incluso para muchos desarrolladores de sistemas de software todavía hay muchos puntos ciegos debido a diferentes interpretaciones de los mismos términos. Daremos una breve definición de los términos básicos de las bases de datos antes de cubrir el lenguaje SQL. Entonces.

Base de datos - un archivo o colección de archivos para almacenar estructuras de datos ordenadas y sus relaciones. Muy a menudo, un sistema de gestión se denomina base de datos: es solo un depósito de información en un formato específico y puede funcionar con varios DBMS.

Mesa - Imaginemos una carpeta en la que se almacenan documentos, agrupados según una determinada característica, por ejemplo, una lista de pedidos del último mes. Esta es una tabla en una computadora. Una tabla separada tiene su propio nombre único.

Tipo de datos - el tipo de información que se permite almacenar en una columna o fila separada. Pueden ser números o texto de un formato determinado.

Columna y fila- Todos hemos trabajado con hojas de cálculo, que también tienen filas y columnas. Cualquier base de datos relacional funciona con tablas de forma similar. A las filas a veces se les llama registros.

Clave primaria- Cada fila de una tabla puede tener una o más columnas para identificarla de forma única. Sin una clave principal, es muy difícil actualizar, cambiar y eliminar filas relevantes.

¿Qué es SQL?

SQL(inglés: lenguaje de consulta estructurado) se desarrolló únicamente para trabajar con bases de datos y actualmente es el estándar para todos los DBMS populares. La sintaxis del lenguaje consta de una pequeña cantidad de operadores y es fácil de aprender. Pero, a pesar de su aparente sencillez, permite la creación de consultas SQL para operaciones complejas con una base de datos de cualquier tamaño.

Desde 1992, existe un estándar generalmente aceptado llamado ANSI SQL. Define la sintaxis básica y las funciones de los operadores y es compatible con todos los líderes del mercado de DBMS, como ORACLE. Es imposible considerar todas las capacidades del lenguaje en un breve artículo, por lo que consideraremos brevemente solo las consultas SQL básicas. Los ejemplos muestran claramente la simplicidad y capacidades del lenguaje:

  • crear bases de datos y tablas;
  • muestreo de datos;
  • agregar registros;
  • modificación y eliminación de información.

Tipos de datos SQL

Todas las columnas de una tabla de base de datos almacenan el mismo tipo de datos. Los tipos de datos en SQL son los mismos que en otros lenguajes de programación.

Creamos tablas y bases de datos.

Hay dos formas de crear nuevas bases de datos, tablas y otras consultas en SQL:

  • Declaraciones SQL a través de la consola DBMS
  • Utilizar las herramientas de administración interactivas incluidas con el servidor de base de datos.

El operador crea una nueva base de datos. CREAR BASE DE DATOS<наименование базы данных>; . Como puede ver, la sintaxis es simple y concisa.

Creamos tablas dentro de la base de datos usando la declaración CREATE TABLE con los siguientes parámetros:

  • nombre de la tabla
  • nombres de columnas y tipos de datos

Como ejemplo, creemos una tabla de Productos básicos con las siguientes columnas:

Crea una tabla:

CREAR TABLA

(commodity_id CHAR(15) NO NULO,

proveedor_id CHAR(15) NO NULO,

nombre_producto CHAR(254) NULL,

precio_producto DECIMAL(8,2) NULL,

commodity_desc VARCHAR(1000) NULL);

La tabla consta de cinco columnas. Después del nombre viene el tipo de datos, las columnas están separadas por comas. El valor de la columna puede aceptar valores vacíos (NULL) o debe llenarse (NO NULL), y esto se determina cuando se crea la tabla.

Recuperar datos de una tabla

El operador de obtención de datos es la consulta SQL más utilizada. Para obtener información debemos indicar qué queremos seleccionar de dicha tabla. Primero un ejemplo simple:

SELECCIONE nombre_producto DE Producto

Después de la sentencia SELECT especificamos el nombre de la columna para obtener información, y FROM define la tabla.

El resultado de la consulta serán todas las filas de la tabla con valores de Commodity_name en el orden en que se ingresaron en la base de datos, es decir, sin ningún tipo de clasificación. Se utiliza una cláusula ORDER BY adicional para ordenar el resultado.

Para consultar varios campos, enumérelos separados por comas, como en el siguiente ejemplo:

SELECCIONE ID_producto, nombre_producto, precio_producto DE Producto

Es posible obtener el valor de todas las columnas de una fila como resultado de la consulta. Para hacer esto, use el signo “*”:

SELECCIONAR * DE Producto

  • Además, SELECT admite:
  • Ordenar datos (ORDER BY operador)
  • Selección según condiciones (DÓNDE)
  • Término de agrupación (GROUP BY)

Agregar una línea

Para agregar una fila a una tabla, se utilizan consultas SQL con el operador INSERT. La suma se puede realizar de tres formas:

  • agregar una nueva línea completa;
  • parte de una cuerda;
  • resultados de la consulta.

Para agregar una fila completa, debe especificar el nombre de la tabla y los valores de las columnas (campos) de la nueva fila. He aquí un ejemplo:

INSERTAR EN VALORES DE PRODUCTOS("106", "50", "Coca-Cola", "1.68", "Sin Alcogol,)

El ejemplo agrega un nuevo producto a la tabla. Los valores se enumeran después de VALORES para cada columna. Si no hay ningún valor correspondiente para la columna, se debe especificar NULL. Las columnas se completan con valores en el orden especificado cuando se creó la tabla.

Si agrega solo una parte de una fila, debe especificar explícitamente los nombres de las columnas, como en el ejemplo:

INSERTAR EN Producto (id_producto, id_proveedor, nombre_producto)

VALORES("106 ", '50", "Coca-Cola",)

Ingresamos solo los identificadores del producto, proveedor y su nombre, y dejamos los campos restantes en blanco.

Agregar resultados de consulta

INSERT se usa principalmente para agregar filas, pero también se puede usar para agregar los resultados de una instrucción SELECT.

Cambiando datos

Para cambiar información en los campos de una tabla de base de datos, debe utilizar la instrucción UPDATE. El operador se puede utilizar de dos maneras:

  • Todas las filas de la tabla se actualizan.
  • Sólo para una línea específica.

La ACTUALIZACIÓN consta de tres elementos principales:

  • tabla en la que se deben realizar cambios;
  • nombres de campos y sus nuevos valores;
  • condiciones para seleccionar filas a cambiar.

Veamos un ejemplo. Digamos que el precio de un producto con ID=106 ha cambiado, por lo que es necesario actualizar esta línea. Escribimos el siguiente operador:

ACTUALIZAR Producto básico SET precio_producto = "3.2" DONDE ID_producto = "106"

Especificamos el nombre de la tabla, en nuestro caso Productos básicos, donde se realizará la actualización, luego, después de SET, el nuevo valor de la columna y encontramos el registro deseado especificando el valor de ID requerido en DONDE.

Para cambiar varias columnas, la instrucción SET va seguida de varios pares de valores de columna separados por comas. Veamos un ejemplo en el que se actualiza el nombre y precio de un producto:

ACTUALIZAR Producto básico SET nombre_producto=’Fanta’, precio_producto = "3.2" DONDE id_producto = "106"

Para eliminar información en una columna, puede asignarle el valor NULL si la estructura de la tabla lo permite. Debe recordarse que NULL es precisamente un valor "no", y no cero en forma de texto o número. Eliminemos la descripción del producto:

ACTUALIZAR Producto básico SET commodity_desc = NULL WHERE commodity_id = "106"

Eliminando filas

Las consultas SQL para eliminar filas en una tabla se ejecutan mediante la instrucción DELETE. Hay dos casos de uso:

  • Se eliminan determinadas filas de la tabla;
  • Se eliminan todas las filas de la tabla.

Un ejemplo de cómo eliminar una fila de una tabla:

ELIMINAR DEL Producto DONDE commodity_id = "106"

Después de DELETE FROM indicamos el nombre de la tabla en la que se eliminarán las filas. La cláusula WHERE contiene la condición mediante la cual se seleccionarán las filas para su eliminación. En el ejemplo, eliminamos la línea de producto con ID=106. Especificar DÓNDE es muy importante porque omitir esta declaración eliminará todas las filas de la tabla. Esto también se aplica al cambiar el valor de los campos.

La declaración DELETE no especifica nombres de columnas ni metacaracteres. Elimina filas por completo, pero no puede eliminar una sola columna.

Usando SQL en Microsoft Access

Normalmente se utiliza de forma interactiva para crear tablas, bases de datos, administrar, modificar, analizar datos en una base de datos e implementar consultas de SQL Access a través de un conveniente diseñador de consultas interactivo (Query Designer), mediante el cual puede crear y ejecutar inmediatamente declaraciones SQL de cualquier complejidad.

También se admite el modo de acceso al servidor, en el que Access DBMS se puede utilizar como generador de consultas SQL a cualquier fuente de datos ODBC. Esta característica permite que las aplicaciones de Access interactúen con cualquier formato.

extensiones SQL

Dado que las consultas SQL no tienen todas las capacidades de los lenguajes de programación procedimentales, como bucles, bifurcaciones, etc., los fabricantes de DBMS están desarrollando su propia versión de SQL con capacidades avanzadas. En primer lugar, se trata de soporte para procedimientos almacenados y operadores estándar de lenguajes procedimentales.

Los dialectos más comunes del idioma:

  • Base de datos Oracle-PL/SQL
  • Interbase, Firebird - PSQL
  • Microsoft SQL Server - Transact-SQL
  • PostgreSQL-PL/pgSQL.

SQL en Internet

El DBMS MySQL se distribuye bajo la Licencia Pública General GNU gratuita. Existe una licencia comercial con capacidad de desarrollar módulos personalizados. Como componente, está incluido en los conjuntos de servidores de Internet más populares, como XAMPP, WAMP y LAMP, y es el DBMS más popular para desarrollar aplicaciones en Internet.

Fue desarrollado por Sun Microsystems y actualmente cuenta con el respaldo de Oracle Corporation. Se admiten bases de datos de hasta 64 terabytes de tamaño, estándar de sintaxis SQL:2003, replicación de bases de datos y servicios en la nube.




Arriba