El lenguaje de consulta estructurado es un lenguaje de programación no procedimental de alto nivel que permite a los usuarios trabajar en estructuras de datos avanzadas. No requiere que los usuarios especifiquen el método de almacenamiento de datos, ni requiere que los usuarios conozcan el método de almacenamiento específico de datos. Por lo tanto, diferentes sistemas de bases de datos con estructuras subyacentes completamente diferentes pueden usar el mismo lenguaje de consulta estructurado como interfaz para la entrada de datos. y gestión. Las declaraciones del lenguaje de consulta estructurado se pueden anidar, lo que lo hace muy flexible y potente.
En octubre de 1986, el Instituto Nacional Americano de Estándares estandarizó SQL y se convirtió en el lenguaje estándar para sistemas de gestión de bases de datos relacionales (ANSI X3.135-1986), y en 1987 se convirtió en un estándar internacional con el apoyo de la Organización Internacional de Normalización. Sin embargo, varios sistemas de bases de datos populares han realizado algunas modificaciones y extensiones a la especificación SQL en la práctica. Por lo tanto, de hecho, SQL entre diferentes sistemas de bases de datos no es completamente universal.
Introducción básica al nombre chino:? Lenguaje de consulta estructurado mbth:? 10Utilice un lenguaje de consulta estructurado. Dominio: Base de datos Duración: 28 años. Introducción al lenguaje, aplicaciones, estándares admitidos, otras versiones, estructura de oraciones, historial de desarrollo, tipos de datos, tipos de caracteres, tipos de texto, tipos numéricos, tipos lógicos, tipos de fechas, características del lenguaje, uso breve, listas de selección, cláusula FROM, cláusulas WHERE, Clasificación de resultados de consultas, funciones relacionadas e introducción al idioma. El lenguaje de consulta estructurado (SQL) es el lenguaje operativo de bases de datos relacionales más importante. Su influencia ha ido más allá del campo de las bases de datos y también ha sido valorado y adoptado en otros campos, como la recuperación de datos en el campo de la inteligencia artificial y SQL integrado en la base de datos. Lenguaje de desarrollo de software de cuarta generación. El estándar de soporte SQL es un estándar de lenguaje de base de datos estadounidense adoptado por el Instituto Nacional Estadounidense de Estándares (ANSI) en junio de 1986. Posteriormente, la Organización Internacional de Normalización (ISO) publicó el estándar internacional oficial para SQL. En abril de 1989, ISO propuso el estándar SQL89 con características de integridad, y en octubre de 1992, 165438 anunció el estándar SQL92. En esta norma, la base de datos se divide en tres niveles: conjunto básico, conjunto estándar y conjunto completo. Otras versiones de diferentes bases de datos tienen soporte y estándares ligeramente diferentes para el lenguaje SQL, porque algunos productos se desarrollaron antes de que se lanzara el estándar. Además, los desarrolladores de productos necesitan ampliar el estándar para implementar un rendimiento especial o nuevas características. Existen más de 100 productos de bases de datos SQL distribuidos desde microcomputadoras hasta mainframes, incluidos DB2, SQL/DS, ORACLE, INGRES, SYBASE, SQLSERVER, DBASE, PARADOX, MICROSOFTACCESS, etc. El lenguaje SQL es básicamente independiente de la propia base de datos, de la máquina utilizada, de la red y del sistema operativo. Los productos DBMS basados en SQL pueden ejecutarse en varios sistemas informáticos basados en computadoras personales y estaciones de trabajo, y tienen buena portabilidad. Se puede ver que el trabajo de estandarización es muy significativo. Ya en 1987, algunas personas conocedoras predijeron que la estandarización de SQL sería una "revolución" y un "punto de inflexión en los sistemas de gestión de bases de datos relacionales". Las bases de datos y diversos productos utilizan SQL como el mismo lenguaje de acceso a datos e interfaz estándar, lo que permite que la interoperabilidad entre diferentes sistemas de bases de datos tenga la misma base, logrando así compartir y trasplantar computadoras heterogéneas y diversos entornos operativos. En 1974, el lenguaje SEQUEL (propuesto por BOYCE y CHAMBERLIN) se utilizó en el sistema de gestión de bases de datos relacionales a gran escala SYSTEM R desarrollado por el Laboratorio de Investigación IBM San José, y luego se desarrolló el lenguaje SQL basado en SEQUEL. El lenguaje SQL es un lenguaje de consulta interactivo que permite a los usuarios consultar directamente los datos almacenados. Sin embargo, no es un lenguaje de programación completo.
Por ejemplo, puede integrarse en otro idioma o puede transmitirse directamente al sistema de gestión de bases de datos a través de interfaces a nivel de llamada utilizando VB, C, JAVA y otros idiomas. SQL es básicamente cálculo relacional de dominio, pero puede implementar operaciones de álgebra relacional. El lenguaje de consulta estructurado de estructura de oración incluye seis partes: 1. Lenguaje de consulta de datos (DQL): sus declaraciones también se denominan "declaraciones de recuperación de datos" y se utilizan para obtener datos de tablas y determinar cómo se presentan en la aplicación. La palabra reservada SELECT es el verbo más utilizado en DQL (y en todo SQL). Otras palabras reservadas en DQL son DÓNDE, ORDENAR POR, AGRUPAR POR y TENER. Estas palabras reservadas de DQL se utilizan habitualmente en otros tipos de sentencias SQL. En segundo lugar, lenguaje de manipulación de datos (DML): sus declaraciones incluyen los verbos INSERTAR, ACTUALIZAR y ELIMINAR. Se utilizan para agregar, modificar y eliminar filas en la tabla respectivamente. También conocido como lenguaje de consulta de acción. En tercer lugar, lenguaje de procesamiento de transacciones (TPL): sus declaraciones pueden garantizar que todas las filas de tablas afectadas por declaraciones DML se actualicen de manera oportuna. Las declaraciones de TPL incluyen iniciar transacción, confirmar y revertir. Cuarto: Lenguaje de control de datos (DCL): sus declaraciones se autorizan mediante GRANT o REVOKE para determinar los derechos de acceso de usuarios individuales y grupos de usuarios a los objetos de la base de datos. Algunos RDBMS pueden usar GRANT o REVOKE para controlar el acceso a las columnas del formulario. Cinco: Lenguaje de definición de datos (DDL): sus declaraciones incluyen los verbos CREATE y DROP. Cree una nueva tabla o elimine una tabla en la base de datos (CREAT TABLE o drop table), agregue índices a la tabla, etc. DDL incluye muchas palabras reservadas relacionadas con datos obtenidos en catálogos de bases de datos humanas. También es parte de la consulta de acción. Seis: Lenguaje de control de puntero (CCL): sus declaraciones, como DECLARE CURSOR, FETCH INTO y UPDATE WHERE CURRENT, se utilizan para operar de forma independiente en uno o más formularios. A principios de la década de 1970, Edgar Codd, del Laboratorio de Investigación de San José de IBM en California, publicó el álgebra relacional de Codd. En 1974, cuando D.D. Chamberlin y R.F. Boyce en el mismo laboratorio estaban desarrollando el sistema de gestión de bases de datos relacionales System R para álgebra CODD, desarrollaron un conjunto de lenguajes de especificación: Sequel (lenguaje de consulta estructurado en inglés) y lo implementaron en 1976 1. Una nueva versión de SQL (llamada SEQUEL/2) fue lanzada en 1980 y pasó a llamarse SQL. En 1979, ORACLE proporcionó por primera vez SQL comercial, e IBM también implementó SQL en los sistemas de bases de datos DB2 y SQL/DS. En octubre de 1986, ANSI de Estados Unidos adoptó SQL como lenguaje estándar para sistemas de gestión de bases de datos relacionales (ANSI X3.135-1986), que luego fue adoptado como estándar internacional por la Organización Internacional de Normalización (ISO). American ANSI adoptó en 1989 el lenguaje estándar SQL para sistemas de gestión de bases de datos relacionales definido en el informe ANSI X3.135-1989, llamado ANSI SQL 89, reemplazando la versión ANSI X3.135-1986. El estándar es adoptado por: Organización Internacional de Normalización (ISO), que informa "Lenguaje de base de datos SQL con mejoras de integridad" para ISO 9075-1989, Federal de EE. UU. * * *, publicado en la Publicación federal de estándares de procesamiento de información (Publicación FIPS) )127 Actualmente (265438 principios del siglo XX), los principales sistemas de gestión de bases de datos relacionales admiten alguna forma de SQL y la mayoría de las bases de datos pretenden cumplir con el estándar ANSI SQL89. Los tipos de datos describen brevemente los cinco tipos de datos en el lenguaje de consulta estructurado: caracteres, texto, numéricos, lógicos y de fecha. CHARacter VARCHAR VS CHAR Esta diferencia entre los datos VARCHAR y CHAR es sutil, pero muy importante. Ambos se utilizan para almacenar cadenas cuya longitud sea inferior a 255 caracteres.
Supongamos que ingresa datos de Bill Gates en un campo VARCHAR de 40 caracteres de longitud. Cuando recupere estos datos de este campo en el futuro, la longitud de los datos que recupere será de diez caracteres: la longitud de la cadena Bill Gates. Si ingresa una cadena en un campo CHAR con una longitud de 40 caracteres, cuando extraiga los datos, la longitud de los datos extraídos será de 40 caracteres. Se agregarán espacios adicionales a la cadena. Cuando cree su propio sitio, encontrará que usar campos VARCHAR es mucho más conveniente que usar campos CHAR. Al utilizar campos VARCHAR, no tiene que preocuparse por eliminar espacios adicionales de sus datos. Otra ventaja destacada del campo VARCHAR es que ocupa menos memoria y espacio en el disco duro que el campo CHAR. Cuando la base de datos es grande, ahorrar memoria y espacio en disco se vuelve muy importante. TextText utiliza datos de texto y puede almacenar cadenas de más de 2 mil millones de caracteres. Los datos de texto deben usarse cuando es necesario almacenar cadenas largas. Tenga en cuenta que los datos de texto no tienen longitud, mientras que los datos de caracteres mencionados anteriormente sí la tienen. Los datos de los campos de texto suelen estar vacíos o son muy grandes. Cuando recopila datos de un área de edición de texto de varias líneas de un formulario HTML, debe almacenar la información recopilada en un campo de texto. Sin embargo, no deberías utilizar un campo de texto siempre que puedas evitarlo. Los campos de texto son grandes y lentos, y el uso excesivo de ellos puede ralentizar el servidor. Los campos de texto también consumen mucho espacio en disco. Una vez que ingrese cualquier dato en el campo de texto (incluso un valor nulo), se asignará automáticamente un espacio de 2K para los datos. Este almacenamiento no se puede recuperar a menos que se elimine el registro. Entero numérico, NUMÉRICO decimal, MONEY MONEY INT VS SMALLINT VS TINYINT generalmente intentan utilizar los datos enteros más pequeños para ahorrar espacio. Los datos TINYINT ocupan solo un byte; un dato INT ocupa 4 bytes. Puede que esto no parezca una gran diferencia, pero en una tabla relativamente grande la cantidad de bytes puede acumularse rápidamente. Por otro lado, una vez creado un campo, resulta complicado modificarlo. Por lo tanto, para estar seguro, debe predecir el valor máximo posible que el campo debe almacenar y luego elegir un tipo de datos apropiado. Numérico Para un mayor control sobre los datos almacenados en un campo, puede utilizar datos numéricos para representar las partes enteras y decimales de un número. Los datos numéricos le permiten representar números muy grandes, mucho más grandes que los datos INT. Los campos numéricos pueden almacenar números que van desde -10 38 hasta 10 38. Los datos numéricos también le permiten representar números con partes decimales. Por ejemplo, puede almacenar el decimal 3,14 en un campo numérico. Puede almacenar dinero utilizando números enteros o datos numéricos. Sin embargo, existen otros dos tipos de datos dedicados a este propósito. Si desea que su establecimiento gane mucho dinero, puede utilizar datos monetarios. Si no eres ambicioso, puedes utilizar los datos de SMALLMONEY. Los datos de moneda pueden almacenar cantidades monetarias desde -922.337.203.685.477,5808 a 922.337.203.685.477,5807. Si necesita almacenar más dinero, puede utilizar datos digitales. Los datos de SMALLMONEY solo pueden almacenar cantidades desde -214748,48 hasta 214748,647. Asimismo, si es posible, debes utilizar SMALLMONEY en lugar de datos de MONEY para ahorrar espacio. Bits lógicos Si utiliza casillas de verificación para recopilar información de una página web, puede almacenar esa información en un campo de bits. Un campo de bits sólo puede tomar dos valores: 0 o 1. Tenga en cuenta que los campos de bits no se pueden agregar a una tabla una vez creada. Si planea incluir un campo de bits en su tabla, debe hacerlo cuando cree la tabla. DATETIME frente a SMALLDATETIME El campo DATETIME puede almacenar fechas que van desde el primer milisegundo del 1 de octubre de 175365438 hasta el último milisegundo del 31 de febrero de 31,999. Si no necesita cubrir un rango tan amplio de fechas y horas, puede utilizar datos SMALLDATETIME.
Es lo mismo que los datos DATETIME, excepto que puede representar un rango más pequeño de fechas y horas que los datos DATETIME y no es tan preciso como los datos DATETIME. El campo SMALLDATETIME puede almacenar fechas desde el 1 de junio de 19001 hasta el 6 de junio de 2079 y solo puede tener una precisión de segundos. Antes de ingresar fechas y horas, es importante tener en cuenta que los campos de fecha y hora no contienen datos reales. Características del lenguaje 1. Integración: SQL integra DDL de definición de datos, DML de operación de datos y DCL de control de datos, y puede completar todo el trabajo en la base de datos. 2. Uso flexible: hay dos métodos de uso, es decir, se puede usar de forma interactiva directamente a través de comandos y también se puede integrar en lenguajes convencionales como C, C, FORTRAN, COBOL y JAVA; 3. No de procedimiento: solo se mencionan requisitos operativos, no se requiere descripción de pasos operativos y no se requiere navegación. Al usarlo, sólo necesita decirle a la computadora qué hacer, no cómo hacerlo. 4. Lenguaje simple, gramática simple, fácil de aprender y usar: en el estándar ANSI, solo se incluyen 94 palabras en inglés, solo se usan 6 verbos en las funciones principales y la gramática se acerca al lenguaje hablado. SQL (lenguaje de consulta estructurado) es un lenguaje operativo de bases de datos. Las consultas que utilizan el lenguaje de consulta estructurado de transacciones simples solo incluyen una lista de selección, una cláusula FROM y una cláusula WHERE. Describen las columnas consultadas, las tablas o vistas consultadas y las condiciones de búsqueda, respectivamente. Lista de selección La lista de selección (Select _ list) representa la columna de consulta, que puede ser una lista de nombres de columnas, asteriscos, expresiones, variables (incluidas variables locales y variables globales), etc. 1. Seleccione todas las columnas. Por ejemplo, la siguiente declaración muestra datos para todas las columnas de la tabla de prueba: SELECT * FROM testtable 2. Seleccione algunas columnas y especifique el orden en que aparecen. El orden de los datos en el conjunto de resultados de la consulta es el mismo que el orden de los nombres de las columnas especificados en la lista de selección. 3. Cambie los encabezados de las columnas. En la lista de selección, puede volver a especificar los encabezados de las columnas. El formato de la definición es: título de columna = nombre de columna título de columna Si el título de columna especificado no está en el formato de identificador estándar, se deben utilizar delimitadores de comillas. Por ejemplo, la siguiente declaración muestra encabezados de columna en caracteres chinos: SELECT apodo = apodo, correo electrónico = correo electrónico FROM tabla de prueba. 4. Eliminar filas duplicadas Utilice la opción ALL o DISTINCT en la instrucción SELECT para mostrar todas las filas calificadas en la tabla o eliminar filas de datos duplicadas. El valor predeterminado es todo. Cuando se utiliza la opción DISTINCT, solo se retiene una fila en el conjunto de resultados devuelto por SELECT para todas las filas de datos duplicados. 5. Limite el número de filas devueltas. Utilice la opción TOP n [PERCENT] para limitar el número de filas de datos devueltas. Top n significa devolver n filas, mientras que TOP n por ciento significa que n representa cien y especifica que el número de filas devueltas es igual al porcentaje del número total de filas. El comando TOP solo se aplica a las bases de datos de la serie SQL Server y no admite bases de datos Oracle. Cláusula FROM La cláusula FROM especifica la consulta de la instrucción SELECT y las tablas o vistas relacionadas con la consulta. En la cláusula FROM, puede especificar hasta 256 tablas o vistas, separadas por comas. Cuando se especifican varias tablas o vistas simultáneamente en la cláusula FROM, si hay columnas idénticas en la lista de selección, las tablas o vistas a las que pertenecen estas columnas deben calificarse con el nombre del objeto. Por ejemplo, hay columnas cityid tanto en usertable como en citytable. Al consultar cityids en ambas tablas, debe usar el siguiente formato de declaración para limitarlos: seleccione nombre de usuario, citytable. La identificación de la ciudad en la tabla de usuarios, la tabla de ciudades en la tabla de usuarios. Cityid = tabla de ciudades. Cityid puede especificar un alias para una tabla o vista en la cláusula from en los dos formatos siguientes:
Nombre de la tabla como alias
alias del nombre de la tabla Cláusula WHERE La cláusula WHERE establece las condiciones de consulta y el filtro eliminar filas de datos innecesarias.
La cláusula WHERE puede contener varios operadores condicionales: operadores de comparación (comparación de tamaño): > Si el valor de la expresión está dentro del rango especificado): ENTRE…Y… NO ENTRE…Y… y… operadores de lista (para determinar si la expresión es la elemento especificado en la lista): en (elemento 1, elemento 2... .2...) no está en (elemento 1, elemento 2...) comparador de patrones (juzga si el valor se ajusta al formato comodín especificado): LIKE, NOT LIKE juez nulo (juzga si la expresión está vacía): IS NULL, IS NOT NULL operadores lógicos (para conexiones lógicas de múltiples condiciones): NOT, AND, OR 1, y operadores de rango: la edad entre EN 10 y 30 es equivalente a la edad. =10 y edad lt=30 2. Ejemplo de operador de lista: país (IN) ('Alemania', 'China')3. Ejemplo de comparación de patrones: se utiliza a menudo en búsqueda difusa para determinar si el valor de una columna coincide con un formato de cadena específico. Se puede utilizar para varios tipos de consultas como char, varchar, text, ntext, datetime y *** alldatetime. Se pueden utilizar los siguientes caracteres comodín: Signo de porcentaje: puede coincidir con cualquier tipo y longitud de caracteres. Si es chino, utilice el símbolo del dos por ciento, es decir. Subrayado _: coincide con un único carácter arbitrario, generalmente utilizado para limitar la longitud de los caracteres de las expresiones. Corchetes []: especifique un carácter, cadena o rango, y el objeto coincidente debe ser cualquiera de ellos. []: Su valor también es el mismo que [], pero se requiere que el objeto coincidente sea cualquier carácter distinto del carácter especificado. Ordenar los resultados de la consulta Utilice la cláusula ORDER BY para ordenar los resultados devueltos por una consulta por una o más columnas. El formato de sintaxis de la cláusula ORDER BY es: ORDER BY { nombre_columna[ASC|DESC]}[,...n] donde ASC representa el orden ascendente, que es el valor predeterminado, y desc representa el orden descendente. ORDER BY no puede ordenar por tipos de datos ntext, texto e imagen. Funciones relacionadas Funciones de agregación de SQL Las funciones de agregación de SQL calculan los valores obtenidos de las filas y devuelven un valor único. Funciones agregadas útiles: AVG() - Devuelve el recuento promedio () - Devuelve el número de filas primero () - Devuelve el valor del primer registro LAST() - Devuelve el valor del último registro MAX() - Devuelve el valor máximo MÍN(). - Devolver suma mínima (): devuelve la suma Función escalar de SQL La función escalar de SQL devuelve un valor único basado en el valor de entrada. Funciones escalares útiles: UCASE() - Convierte el campo a mayúsculas LCASE() - Convierte el campo a minúsculas MID() - Extrae caracteres de un campo de texto len() - Devuelve la longitud del campo de texto ROUND(). -Redondea inmediatamente un campo numérico al número especificado de decimales () -Devuelve el formato de fecha y hora actual del sistema () -Formatea la visualización del campo.