Red de conocimiento informático - Problemas con los teléfonos móviles - Problema de comando de problema SQL

Problema de comando de problema SQL

sql

El nombre completo de SQL es "Lenguaje de consulta estructurado". Fue desarrollado por primera vez por el Laboratorio de Investigación St. Joseph de IBM para su sistema de gestión de bases de datos relacionales SYSTEM R. El predecesor es el lenguaje SQUARE. El lenguaje SQL tiene una estructura simple, funciones poderosas y es fácil de aprender, por lo que ha sido ampliamente utilizado desde que IBM lanzó el lenguaje SQL en 1981. Hoy en día, ya sean grandes sistemas de gestión de bases de datos como Oracle, Sybase, Informix o SQL Server, o sistemas de desarrollo de bases de datos comúnmente utilizados en microcomputadoras como Visual Foxporo y PowerBuilder, el lenguaje SQL se admite como lenguaje de consulta.

SQL es un lenguaje de programación no procesal de alto nivel que permite a los usuarios trabajar con estructuras de datos avanzadas. No requiere que los usuarios especifiquen el método de almacenamiento de datos, ni requiere que los usuarios comprendan la forma específica de almacenar datos, por lo que diferentes sistemas de bases de datos con estructuras subyacentes completamente diferentes pueden usar el mismo lenguaje SQL como interfaz para la entrada y administración de datos. . Utiliza una colección de registros como objeto de operación. Todas las declaraciones SQL aceptan la colección como entrada y devuelven la colección como salida. Las características de esta colección permiten que la salida de una declaración SQL se utilice como entrada de otra declaración SQL. se puede incrustar el lenguaje SQL, lo que le da una gran flexibilidad y funciones poderosas. En la mayoría de los casos, un solo evento que requiere un programa grande se puede realizar en otros lenguajes. una declaración SQL en el lenguaje SQL, lo que también significa que se pueden escribir declaraciones muy complejas en el lenguaje SQL.

SQL también es una extensión de formato de archivo de base de datos. ROLLBACK, etc.)

Tomado de "http://zh.wikipedia.org/wiki/SQL"

SQL (Lenguaje de consulta estructurado) es un lenguaje de programación y consulta de bases de datos. Se utiliza para acceder a datos y consultar, actualizar y administrar sistemas de bases de datos relacionales. El Instituto Nacional Estadounidense de Estándares (ANSI) y la Organización Internacional de Normalización (ISO) han desarrollado estándares SQL. ANSI es un grupo industrial y empresarial estadounidense que establece estándares para el comercio y las comunicaciones en los Estados Unidos. ANSI también es miembro de ISO y de la Comisión Electrotécnica Internacional (IEC). ANSI publica estándares estadounidenses que corresponden a estándares de la Organización Internacional de Normalización. En 1992, la Organización Internacional de Normalización (ISO) y la Comisión Electrotécnica Internacional (IEC) publicaron un estándar internacional para SQL llamado SQL-92. Posteriormente, ANSI publicó un estándar correspondiente, ANSI SQL-92, a veces llamado ANSI SQL. Aunque existen algunas diferencias en las versiones de SQL utilizadas por las diferentes bibliotecas relacionales, en su mayoría siguen el estándar ANSI SQL. SQL Server utiliza una extensión de ANSI SQL-92 llamada T-SQL, que sigue el estándar SQL-92 establecido por ANSI.

El lenguaje SQL consta de declaraciones de dos categorías principales de lenguajes de programación: lenguaje de definición de datos (DDL) y lenguaje de manipulación de datos (DML). A continuación presentaremos estos dos tipos de lenguajes.

DDL

DDL se utiliza para definir y administrar objetos como bibliotecas, tablas de datos y tablas de vista (el Capítulo 18 explica qué es una tabla de vista). Las sentencias DDL normalmente incluyen comandos CREATE, ALTER y DROP para cada objeto. Por ejemplo, las instrucciones CREATE TABLE, ALTER TABLE y DROP TABLE se pueden usar para crear una nueva tabla, modificar sus propiedades (como agregar o eliminar filas de datos) y eliminar una tabla, como se describe a continuación.

Instrucción CREATE TABLE

Utiliza DDL para crear una tabla de muestra de información denominada Customer_Data en el repositorio MyDB, que se utiliza en los ejemplos posteriores en este capítulo. Como se mencionó anteriormente, la declaración CREATE TABLE se puede utilizar para crear una tabla de datos. Esta tabla de datos de ejemplo se define como cuatro filas de datos, de la siguiente manera:

Uso de MyDB

CREATE TABLE Customer_Data

(customer_id smallint,

first_name char(20),

apellido char(20),

teléfono char(10))

GO

esta declaración genera la tabla Customer_Data, que permanecerá vacía hasta que se complete la información.

Instrucción ALTER TABLE

La instrucción ALTER TABLE se utiliza para cambiar la definición y las propiedades de una tabla de datos. En el siguiente ejemplo, usamos ALTER TABLE para agregar una nueva fila middle_initial en la tabla Customer_Data existente.

ALTER TABLE Customer_Data

ADD middle_initial char(1)

GO

La definición de la tabla ahora incluye cinco filas de información en lugar de las Cuatro líneas anteriores. Consulte el Capítulo 15 para obtener detalles sobre el uso de ALTER TABLE.

Declaración DROP TABLE

La declaración DROP TABLE se utiliza para eliminar una definición de tabla y todos los datos, índices, activadores, restricciones y permisos de la tabla. Para eliminar la tabla Customer_Data, puede utilizar el siguiente comando:

DROP TABLE Customer_Data

GO

Para obtener más información sobre la instrucción DROP TABLE, consulte el Capítulo 15. .

DML

DML utiliza declaraciones INSERT, SELECT, UPDATE y DELETE para manipular la información contenida en los objetos de la base de datos.

Instrucción INSERT

La instrucción INSERT se utiliza para insertar una columna de información en una tabla o tabla de vista. Por ejemplo, si desea agregar un nuevo cliente a la tabla Customer_Data, puede usar una instrucción INSERT similar a la siguiente:

INSERT INTO Customer_Data

(customer_id, first_name, last_name , teléfono)

VALUES (777, "Frankie", "Stein", "4895873900")

Tenga en cuenta la lista de nombres de filas de datos en la segunda línea de la declaración SQL. El orden de los nombres de las filas de datos en la lista determina en qué fila se colocará el valor de los datos. Por ejemplo, el primer valor de datos se colocaría en la primera fila de datos de la lista, customer_id, el segundo valor de datos se colocaría en la segunda fila de datos, y así sucesivamente. Dado que definimos el orden en el que se completan las filas de datos cuando creamos la tabla de datos, no es necesario especificar nombres de columnas.

En su lugar, podemos utilizar la siguiente instrucción INSERT:

INSERT INTO Customer_Data

VALUES (777, "Frankie", "Stein", "4895873900")

Nota

Si utilizamos esta forma de instrucción INSERT pero insertamos los valores en un orden diferente al que cuando se creó la tabla, entonces los valores se colocarán en las filas de datos incorrectas. Si el tipo de datos no coincide con la definición, recibirá un mensaje de error.

------------------------------------------- -- -------------------------------------

Declaración SELECT

La instrucción SELECT se utiliza para recuperar información de una tabla. La información que se recupera está determinada por las filas de información enumeradas y la cláusula WHERE de la declaración. Por ejemplo, si desea recuperar las filas customer_id y first_name de la tabla Customer_Data que creó anteriormente y desea recuperar solo la fila first_name en cada columna con el valor Frankie, puede usar la siguiente instrucción SELECT:

SELECT customer_id, first_name FROM Customer_Data

WHERE first_name = "Frankie"

Si una de las columnas coincide con las condiciones de la instrucción SELECT, el resultado será el siguiente:

id_cliente nombre

p>

------------- -------------------- -

777 Frankie

Declaración UPDATE

La declaración UPDATE se utiliza para actualizar o cambiar valores en una o más columnas. Por ejemplo, un cliente llamado Frankie Stein desea cambiar el apellido en su registro a Franklin usando la siguiente instrucción UPDATE:

ACTUALIZAR Datos_del_cliente

SET first_name = "Franklin"

WHERE last_name = "Stein" and customer_id= 777

Agregamos el elemento customer_id en la cláusula WHERE para garantizar que otros clientes llamados Stein no se vean afectados, solo los clientes con customer_id 777 Apellido ser cambiado.

------------------------------------------- -- -------------------------------------

Instrucciones

Cuando utilice la instrucción UPDATE, asegúrese de proporcionar suficiente filtrado en la cláusula WHERE para que customer_id no se vea afectado.

Cuando utilice una instrucción UPDATE, asegúrese de proporcionar suficiente filtrado en la cláusula WHERE para garantizar que customer_id no se vea afectado.

------------------------------------------- -- -------------------------------------

Declaración BORRAR

La sentencia DELETE se utiliza para eliminar una o más columnas de información de una tabla. También puede eliminar todas las columnas de datos de la tabla de datos.

Para eliminar todas las columnas de la tabla Customer_Data, puede utilizar la siguiente instrucción:

DELETE FROM Customer_Data

o

DELETE Customer_Data

en En la declaración DELETE, la palabra clave FROM delante del nombre de la tabla es opcional. Por lo demás, las dos afirmaciones son idénticas.

Para eliminar la columna en la fila de datos customer_id con un valor inferior a 100 de la tabla Customer_Data, puede utilizar la siguiente instrucción:

DELETE FROM Customer_Data

WHERE customer_id lt; 100

Ahora que hemos echado un vistazo rápido a las declaraciones DDL y DML proporcionadas por SQL, pasaremos a T-SQL.

Cinco tipos de datos en SQL

Breve introducción a los cinco tipos de datos en SQL: caracteres, texto, números, lógica y fechas

Caracteres

p>

VARCHAR VS.CHAR

La diferencia entre los tipos de datos VARCHAR y CHAR es sutil, pero muy importante. Ambos se utilizan para almacenar cadenas de longitud inferior a 255.

Supongamos que ingresa un BIll GAtES con una longitud de 40 caracteres en un campo VARCHAR. Cuando posteriormente recupera los datos del campo, los datos que recupera tienen una longitud de 10 caracteres, que es la longitud de la cadena Bill Gates. . Ahora, si ingresa una cadena en un campo tipo CHAR que tiene cuarenta caracteres, cuando obtenga los datos, los datos que obtenga tendrán cuarenta caracteres. La cadena tendrá espacios adicionales añadidos.

Cuando cree su propio sitio web, descubrirá que es mucho más fácil utilizar campos VARCHAR que campos CHAR. Cuando utiliza campos de tipo VARCHAR, no necesita preocuparse por recortar espacios adicionales en sus datos.

Otra ventaja destacada de los campos de tipo VARCHAR es que ocupan menos memoria y espacio en el disco duro que los campos de tipo CHAR. Este ahorro de memoria y espacio en disco puede volverse muy importante cuando su base de datos es más grande

Texto

Texto

Utilice datos de tipo texto. Puede almacenar cadenas de más de 2 mil millones de caracteres. Los datos de tipo texto deben usarse cuando necesite almacenar una gran cantidad de cadenas.

Tenga en cuenta que los datos de tipo texto no tienen longitud, mientras que los datos de tipo carácter descritos en la sección anterior sí la tienen. Los datos en los campos de tipo texto suelen estar vacíos o son muy grandes.

Cuando recopila datos de un cuadro de edición de texto de varias líneas (TEXTAREA) en un formulario HTML, debe almacenar la información recopilada en un campo de tipo texto. Sin embargo, no se deben utilizar campos de tipo texto siempre que sea posible. Los campos de texto son grandes y lentos, y el uso excesivo de ellos puede ralentizar su servidor. Los campos basados ​​en texto también ocupan mucho espacio en disco.

Tan pronto como ingresas cualquier dato en el campo de texto (incluso un valor nulo), se asignan automáticamente 2K de espacio para esos datos. No podrá reclamar este espacio de almacenamiento a menos que elimine el registro.

Tipos de números

SQL admite muchos tipos diferentes de datos numéricos. Puede almacenar números enteros INT, decimal NUMERIC y moneda MONEY.

INT VS SMALLINT VS TINYINT

Se diferencian únicamente en la longitud de los caracteres:

Las tablas de datos de tipo INT van desde -2, 147, 483 y 647 a 2, 147, 483 y 647 enteros.

/p>

Los datos de tipo SMALLINT pueden almacenar números enteros de -32768 a 32768

Los campos de tipo TINYINT solo pueden almacenar números enteros de 0 a 255 y no se pueden usar para almacenar números negativos

Generalmente, para ahorrar espacio, utilice los números enteros más pequeños posibles. TINYINT ocupa sólo un byte, mientras que INT ocupa cuatro bytes. Puede que esto no parezca una gran diferencia, pero en tablas más grandes, la cantidad de bytes crece rápidamente. Por otro lado, una vez creado un campo, resulta complicado modificarlo. Entonces, para estar seguro, debe predecir por debajo del tamaño máximo posible del valor que el campo necesita almacenar y luego elegir el tipo de datos apropiado.

NUMÉRICO

Para tener más control sobre los datos almacenados en un campo, puede utilizar el tipo de datos NUMÉRICO 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 en el rango -1038 a 1038. Los datos NUMÉRICOS también se pueden utilizar para representar partes decimales de números. Por ejemplo, puede almacenar el número decimal 3,14 en un campo NUMÉRICO.

Al definir un campo NUMÉRICO, especificas el tamaño de las partes enteras y fraccionarias. Por ejemplo: MUNERIC(23,0)

La parte entera de un dato de tipo NUMÉRICO solo puede tener hasta 28 dígitos. El número de dígitos en la parte decimal debe ser menor o igual al número de. dígitos en la parte entera La parte decimal puede ser 0. .

DINERO VS PEQUEÑO DINERO

Puedes utilizar datos de tipo INT o NUMÉRICO para almacenar números monetarios. Sin embargo, existen dos tipos de datos que se utilizan específicamente para este propósito. Si desea que su establecimiento gane mucho dinero, puede utilizar datos de tipo DINERO. Los datos de tipo DINERO pueden almacenar cantidades desde -922.337.203.685.477,5808 a 922.337.203.685.477,5807. Si necesita almacenar cantidades mayores que esta, puede utilizar datos de tipo NUMÉRICO.

Los datos de tipo SMALLMONEY sólo pueden almacenar cantidades entre -214.748,3648 y 214.748,3647. Del mismo modo, si es posible, debe utilizar datos del tipo SMALLMONEY en lugar de MONEY para ahorrar espacio.

Tipo lógico

BIT

Si utiliza casillas de verificación (CHECKBOX) para recopilar información de una página web, puede almacenar esta información en el campo Tipo de BIT. Si planea incluir un campo de tipo BIT en su tabla, debe agregarlo cuando cree la tabla.

Tipo de fecha

DATETIME y SMALLDATETIME

El campo de tipo DATETIME puede almacenar el rango de fechas desde el primer milisegundo del 1 de enero de 1753 hasta el año 9999 12 El último milisegundo del día 31 del mes.

Si no necesita cubrir un rango de fechas y horas tan grande, puede utilizar datos de tipo SMALLDATETIME. Se utiliza de la misma manera que los datos de tipo DATETIME, excepto que puede representar un rango más pequeño de fechas y horas que los datos de tipo DATETIME y es menos preciso que los datos de tipo DATETIME. Los campos de tipo SMALLDATETIME pueden almacenar fechas desde el 1 de enero de 1900 hasta el 6 de junio de 2079, pero solo tienen una precisión de segundos.

Es importante tener en cuenta que los campos de tipo DATETIME no contienen datos reales hasta que ingresa la fecha y la hora.