30
UNIVERSIDAD DEL VALLE DEL FUERTE MATERIA: Bases de Datos TEMA: MANUAL DE SQL ALUMNO: Cañedo Encinas Fernando Onorat CARRERA: Ingeniería en Sistemas Computacionales

¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

  • Upload
    ngonhan

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

UNIVERSIDAD DEL VALLE DEL FUERTE

MATERIA:Bases de Datos

TEMA:MANUAL DE SQL

ALUMNO:Cañedo Encinas Fernando Onorat

CARRERA:Ingeniería en Sistemas Computacionales

4° Semestre

Los Mochis, Sin. Junio de 2009

Page 2: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

ÍNDICE PÁG.

* ¿Qué es SQL? 3

* ¿Qué puede hacerse con SQL? 3

* Tablas de una base de datos 3

* Lenguajes componentes de SQL 4

* Sintaxis de SQL 4

* Lenguaje de Manipulación de datos (DML) 5

- Sentencia SELECT 5

- Sentencia SELECT DISTINCT 6

- Cláusula WHERE 6

- OPERADORES 7

Operadores AND y OR 7

Operador LIKE 7

Comodines (wildcards) de SQL 7

Operador IN 8

Operador BETWEEN 8

- Palabra reservada ORDER BY 8

- Sentencia INSERT INTO 8

- Sentencia UPDATE 9

- Sentencia DELETE 9

- Alias 10

- JOIN 10

Diferentes JOINs en SQL 10

JOIN o INNER JOIN 10

LEFT JOIN 11

RIGHT JOIN 11

FULL JOIN 11

- Operador UNION 11

* Lenguaje de Definición de Datos (DDL) 12

- Sentencia CREATE DATABASE 12

- Sentencia CREATE TABLE 12

1

Page 3: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

- Restricciones 12

Restricción NOT NULL 12

Restricción UNIQUE 12

Restricción PRIMARY KEY 13

Restricción FOREIGN KEY 13

- DROP 13

Sentencia DROP TABLE 13

Sentencia DROP DATABASE 13

Sentencia TRUNCATE TABLE 13

- ALTER 13

Sentencia ALTER TABLE 13

* Tipos de datos Empleados en las bases de datos 14

* Tipos de datos de SQL 15

* Funciones de SQL 17

- Funciones de agregación de SQL 17

AVG ( ) 17

COUNT ( ) 17

FIRST ( ) 17

LAST ( ) 17

MAX ( ) 17

MIN ( ) 18

SUM ( ) 18

Sentencia GROUP BY 18

Cláusula HAVING 18

- Funciones escalares de SQL 18

UCASE ( ) 18

LCASE ( ) 19

MID ( ) 19

LEN ( ) 19

ROUND ( ) 19

NOW ( ) 19

2

Page 4: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

3

Page 5: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

¿Qué es SQL?

SQL significa Structured Query Language, es un estándar ANSI (American National Standard Institute). SQL es un lenguaje formal en el cual se escriben programas para crear, modificar, y consultar bases de datos. Los sistemas de bases de datos ejecutan el programa de SQL, efectúan las tareas que se especifican y despliegan los resultados (o mensajes de error).

A pesar de que es un estándar hay muchas versiones diferentes del lenguaje SQL.Sin embargo, para cumplir con el estándar ANSI deben soportar al menos la mayoría de los comandos de manera muy similar.

La mayoría de los programas de base de datos de SQL también tienen su propia extensión además del estándar SQL.

Un programa de SQL es una secuencia de sentencias de SQL ejecutadas en orden. Para escribir un programa deben conocerse las reglas de sintaxis de SQL.

¿Qué puede hacerse con SQL?

Ejecutar consultas a una base de datos, recuperar datos, insertar, actualizar y borrar registros, crear nuevas bases de datos, nuevas tablas de una base de datos, crear procedimientos almacenados, crear vistas, y establecer los permisos en tablas, procedimientos y vistas de una base de datos.

Los sistemas manejadores de bases de datos relacionales (RDBMS) son la base para SQL. Los datos en los RDBMS son guardados en objetos de base de datos llamados “Tablas”. Una tabla es una colección de datos relacionados compuesta de columnas y renglones.

Tablas de una base de datos

Una base de datos por lo general contiene una o más tablas. Cada tabla se identifica con un nombre. La tabla contiene filas (renglones) con datos.

La siguiente tabla es un ejemplo de una tabla llamada “Personas”.

P_Id Apellido Nombre Direccion Ciudad1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger

La tabla anterior contiene tres filas (una por cada persona) y cinco columnas (P_Id, Apellido, Nombre, Direccion y Ciudad).

4

Page 6: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

Lenguajes Componentes de SQL

SQL puede dividirse en dos partes: el Lenguaje de Manipulación de Datos (DML) y el Lenguaje de Definición de Datos (DDL).

Los comandos de consultas y actualización del DML en SQL son: SELECT – extrae datos de una base de datos. UPDATE – actualiza los datos de una base de datos. DELETE – borra datos de una base de datos. INSERT INTO – inserta nuevos datos en una base de datos.

El DDL permite crear o eliminar tablas de una base de datos. También define los índices, especifica los vínculos entre tablas y define las restricciones entre tablas. Las sentencias del DDL más importantes son:

CREATE DATABASE – crea nuevas bases de datos. ALTER DATABASE – modifica una base de datos. CREATE TABLE – crea una nueva tabla. ALTER TABLE – modifica una tabla. DROP TABLE – elimina una tabla. CREATE INDEX – crea un índice. DROP INDEX – elimina un índice.

Sintaxis de SQL

La mayoría de las acciones que deben realizarse en una base de datos se hacen con sentencias de SQL.

1. Comentarios. Un comentario es un texto opcional que explica tu programa. A menudo describen qué hace el programa y cómo lo hace, o por qué fue cambiado el código. Los comentarios son para los humanos – el compilador los ignora. El comentario se escribe delante de dos guiones consecutivos y continúa hasta el final de la línea.

5

Page 7: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

2. Sentencia de SQL. Combinación válida de tokens iniciadas por una palabra reservada. Los tokens son las partículas indivisibles básicas del lenguaje SQL; no pueden reducirse gramaticalmente. Los tokens incluyen palabras clave, identificadores, operadores, literales (constantes) y símbolos de puntuación.

3. Cláusulas. Una sentencia de SQL tiene una o más cláusulas. Una cláusula es un fragmento de una sentencia de SQL que empieza por una palabra reservada, puede ser opcional, y deben escribirse en un orden en particular.

4. Palabras reservadas (Keywords). Son palabras que SQL se reserva por que tienen un significado especial en el lenguaje. Usar palabras reservadas fuera de su contexto específico (como identificador, por ejemplo) causa un error. Cada DBMS usa una mezcla de palabras reservadas estándar y no estándar.

5. Identificadores. Palabras usadas para nombrar objetos de la base de datos como tablas, columnas, alias, índices y vistas.

6. Terminación en punto y coma. Una sentencia de SQL termina con un punto y coma (;).

SQL es un lenguaje flexible en el formato de escritura, cuyas sentencias pueden:

Estar en mayúsculas o minúsculas. Continuar en la siguiente línea mientras no dividas palabras, tokens o

cadenas entrecomilladas en dos. Estar en la misma línea que otras sentencias. Empezar con cualquier columna.

A pesar de esta flexibilidad, es recomendable adoptar un estilo consistente, como por ejemplo usar mayúsculas para las palabras reservadas, y minúsculas para los identificadores, además de colocar cada cláusula en su propio renglón.

Lenguaje de Manipulación de Datos (DML)

La sentencia SELECT

La sentencia SELECT se usa para seleccionar datos de una base de datos. El resultado es guardado en una tabla resultante.

Sintaxis:SELECT nombre_de_columna(s) → FROM nombre_de_tabla

y

SELECT *FROM nombre_de_tabla

6

El * indica que se seleccionan todas las columnas a la vez, sin necesidad de especificar una por una.

El nombre de las columnas separadas por comas ( , ).

Page 8: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

La sentencia SELECT DISTRINCT

En una tabla, algunas columnas pueden contener valores duplicados. Este no es un problema, pero a veces será requerida una lista sólo con los valores diferentes (distintos) en una tabla.

La palabra reservada DISTINCT puede usarse para regresar sólo valores distintos o diferentes.

Sintaxis:SELECT DISTINCT nombre_de_columna(s)FROM nombre_de_tabla

La cláusula WHERE

La cláusula WHERE se usa para extraer sólo aquellas filas que cumplen con un criterio específico (filtrar filas).

Sintaxis:SELECT nombre_de_columna(s)FROM nombre_de_tablaWHERE nombre_de_columna operador valor

Comillas para los campos de texto

SQL usa comillas simples al inicio y fin de valores de texto (la mayoría de los sistemas de bases de datos también aceptan comillas dobles). Sin embargo, valores numéricos no deben entrecomillarse. En casos contrarios para cada uno resultará un error.

Operadores permitidos en la cláusula WHERECon la cláusula WHERE pueden usarse los siguientes operadores:

Operador Descripción= Igual

<> No igual o diferente> Mayor que< Menor que

>= Mayor o igual que<= Menor o igual que

BETWEEN Entre un rango específicoLIKE Para buscar un patrón específico

IN Si conoces el valor exacto que quieres regresar para al menos una de las columnas

Nota: En algunas versiones de SQL el operador <> puede ser escrito como !=.

7

Page 9: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

OPERADORES

Los operadores AND y OR

Estos operadores se utilizan para filtrar filas basadas en una o más condiciones.

El operador AND muestra una fila si las dos condiciones (o más) son verdaderas.

El operador OR muestra una fila si cualquiera de las condiciones es verdadera.

Los operadores AND y OR también pueden usarse combinados en una cláusula WHERE, y se usan paréntesis para formar expresiones complejas.

El operador LIKE

Este operador se usa para buscar un patrón específico en una columna.

Sintaxis:SELECT nombre_de_columna(s)FROM nombre_de_tablaWHERE nombre_de_columna LIKE patrón

patrón es una parte de un texto que se busca en el valor de una columna de una tabla, y es escrito entrecomillado (comillas simples). Por lo general se usan comodines en el patrón que se busca con el operador LIKE.

Comodines (Wildcards) de SQL

Los comodines son caracteres especiales en el lenguaje que pueden sustituir uno o más caracteres cuando se buscan datos en una base de datos.

La siguiente tabla es una lista de comodines que pueden usarse en SQL:

Comodín Descripción% Un sustituto para cero o más caracteres. Puede ir al

inicio, al final, o en ambos extremos a la vez del patrón que se busca

_ Un sustituto para exactamente un caracter. Puede ir en cualquier lugar del patrón buscado

[lista_de_caracteres] Cualquier caracter en la lista de caracteres[^lista_de_caracteres]

o[!lista_de_caracteres]

Cualquier caracter que no está en la lista de caracteres

8

Page 10: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

El operador IN

Este operador permite especificar múltiples valores en una cláusula WHERE

Sintaxis:SELECT nombre_de_columna(s)FROM nombre_de_tablaWHERE nombre_de_columna IN (valor1, valor2,...)

El operador BETWEEN

Este operador selecciona un rango de datos entre dos valores. Los valores pueden ser números, textos o fechas.

Sintaxis:SELECT nombre_de_columna(s)FROM nombre_de_tablaWHERE nombre_de_columnaBETWEEN valor1 AND valor2

La palabra reservada ORDER BY

La palabra reservada ORDER BY es usada para ordenar, mediante una columna especificada, la tabla o el conjunto resultado de una consulta SELECT.

Esta ordenación se hace por default en orden ascendente; de manera explícita se puede utilizar la palabra reservada ASC. Si se desea ordenar las filas en orden descendente, se utiliza la palabra reservada DESC.

Sintaxis:SELECT nombre_de_columna(s)FROM nombre_de_tablaORDER BY nombre_de_columna ASC | DESC

La sentencia INSERT INTO

Esta sentencia se utiliza para insertar nuevas filas en una tabla.

Sintaxis:Se puede escribir la sentencia INSERT TO de dos formas.

La primera forma no especifica los nombres de las columnas en las que se insertarán los datos, sólo sus valores:

INSERT INTO nombre_de_tablaVALUES (valor1, valor2, valor3,...)

9

Page 11: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

En esta forma al no especificarse la columna en que será insertado cada valor, se está obligado a ingresar los valores para todas las columnas de la nueva fila de esa tabla.

La segunda forma especifica tanto los nombres de las columnas como los valores que serán insertados:

INSERT INTO nombre_de_tabla (columna1, columna2, columna3,...)VALUES (valor1, valor2, valor3,...)

La posición del valor debe corresponder con la posición de la columna especificada.

No es necesario que se agreguen todos los valores para todas las columnas; al especificarse las columnas que contendrán los valores dichos en la parte de VALUES, sólo se insertan esos valores en la nueva fila de la tabla.

La sentencia UPDATE

Esta sentencia se usa para actualizar o modificar filas ya existentes de una tabla.

Sintaxis:UPDATE nombre_de_tablaSET columna1 = valor, columna2 = valor2,...WHERE alguna_columna = algún_valor

Nota: La cláusula WHERE aparece en la sintaxis de la sentencia UPDATE, y especifica cuál o cuáles filas deben ser modificadas. Si se omite la cláusula WHERE todas las filas serán modificadas, por lo que se debe ser cuidadoso en este aspecto; como recomendación siempre incluya la cláusula WHERE.

La sentencia DELETE

Esta sentencia se usa para borrar o eliminar filas (renglones) de una tabla.

Sintaxis:DELETE FROM nombre_de_tablaWHERE alguna_columna = algún_valor

Nota: La cláusula WHERE en la sintaxis de la sentencia DELETE, cuál o cuáles filas deberán ser borradas. Si se omite la cláusula WHERE todas las filas de la tabla serán borradas, por lo que debe ser precavido al incluir o no incluir la cláusula WHERE.

Borrar todas las filas

Es posible eliminar todas las filas de una tabla sin eliminar la tabla. Esto significa que la estructura, atributos e índices de la tabla estarán intactos:

10

Page 12: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

DELETE FROM nombre_de_tablaoDELETE * FROM nombre_de_tabla

Se debe ser muy cuidadoso al borrar o eliminar filas, ya que no puede deshacerse esta sentencia.

Alias

Puede darse otro nombre a una tabla o a columna usando un alias. Esto puede ser útil si se tienen nombres de tablas o de columnas muy largos o complejos.

Un alias puede ser cualquier cosa, pero usualmente es un nombre corto.

Sintaxis de alias para tablas:SELECT nombre_de_columna(s)FROM nombre_de_tablaAS nombre_alias

Sintaxis de alias para columnas:SELECT nombre_de_columna AS nombre_aliasFROM nombre_de_tabla

JOIN

Esta palabra reservada se usa en una sentencia SQL para consultar datos de dos o más tablas, basado en una relación entre ciertas columnas en estas tablas.

Las tablas en una base de datos a menudo se relacionan unas con otras usando llaves.

Una llave primaria es una columna (o combinación de columnas) con un valor único para cada fila. Cada valor de llave primaria debe ser único en su tabla. El propósito es juntar datos de varias tablas, sin repetir todos los datos en cada tabla.

Diferentes JOINs en SQL

Hay varios tipos de JOIN que pueden usarse, cada uno con sus diferencias.

JOIN (o INNER JOIN): Regresa filas cuando hay al menos una coincidencia en ambas tablas.

Sintaxis:SELECT nombre_de_columna(s)FROM nombre_de_tabla1INNER JOIN nombre_de_tabla2ON nombre_de_tabla1.nombre_de_columna = nombre_de_tabla2.nombre_de_columna

11

Page 13: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

LEFT JOIN: Regresa todos los renglones de la tabla izquierda (nombre_de_tabla1), aún si no hay coincidencias en la tabla derecha (nombre_de_tabla2).

Sintaxis:SELECT nombre_de_columna(s)FROM nombre_de_tabla1LEFT JOIN nombre_de_tabla2ON nombre_de_tabla1.nombre_de_columna = nombre_de_tabla2.nombre_de_columna

RIGHT JOIN: Regresa todos los renglones de la tabla derecha (nombre_de_tabla2), aún si no hay coincidencias en la tabla izquierda (nombre_de_tabla1).

Sintaxis:SELECT nombre_de_columna(s)FROM nombre_de_tabla1RIGHT JOIN nombre_de_tabla2ON nombre_de_tabla1.nombre_de_columna = nombre_de_tabla2.nombre_de_columna

FULL JOIN: Regresa renglones cuando hay una coincidencia en una de las tablas.

Sintaxis:SELECT nombre_de_columna(s)FROM nombre_de_tabla1FULL JOIN nombre_de_tabla2ON nombre_de_tabla1.nombre_de_columna = nombre_de_tabla2.nombre_de_columna

El operador UNION

Se usa para combinar las tablas resultado de dos o más sentencias SELECT.

Cada sentencia SELECT con el UNION debe tener el mismo número de columnas. Las columnas deben tener tipos de datos similares. Además, las columnas en cada sentencia SELECT deben estar en el mismo orden.

Sintaxis de UNION:SELECT nombre_de_columna(s) FROM nombre_de_tabla1UNIONSELECT nombre_de_columna(s) FROM nombre_de_tabla2

Nota: El operador UNION selecciona por default sólo los valores distintos. Parta permitir valores duplicados, puede usarse UNION ALL.

Sintaxis de UNION ALL:SELECT nombre_de_columna(s) FROM nombre_de_tabla1UNION ALLSELECT nombre_de_columna(s) FROM nombre_de_tabla2

Lenguaje de Definición de Datos (DDL)

12

Page 14: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

La sentencia CREATE DATABASE

Esta sentencia es usada para crear una base de datos.

Sintaxis:CREATE DATABASE nombre_de_base_de_datos

La sentencia CREATE TABLE

Esta sentencia se usa para crear una tabla en una base de datos.

Sintaxis:CREATE TABLE nombre_de_tabla(nombre_de_columna1 tipo_de_dato,nombre_de_columna2 tipo_de_dato,nombre_de_columna3 tipo_de_dato,....)

El tipo de dato especifica el tipo de dato que la columna puede contener.

Restricciones

Las Restricciones son usadas para limitar los tipos de datos que pueden ir dentro de una tabla. Pueden ser especificadas cuando se crea una tabla (con la sentencia CREATE TABLE) o después de que la tabla es creada (con la sentencia ALTER TABLE).

La restricción NOT NULL

Esta restricción fuerza a una columna para no aceptar valores nulos (NULL), siempre forzando al campo a contener un valor. Esto significa que un puede insertar una nueva fila, o actualizar una fila sin agregar un valor a este campo.

La restricción UNIQUE

Identifica como única cada fila en una tabla de una base de datos.

Las restricciones UNIQUE y PRIMARY KEY garantizan que una columna o conjunto de columnas sean únicos.

Una restricción PRIMARY KEY automáticamente define en ella una restricción UNIQUE.

13

Page 15: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

Pueden contenerse muchas restricciones UNIQUE por tabla, pero sólo tener una restricción PRIMARY KEY por tabla.

La restricción PRIMARY KEY

Identifica unívocamente una fila de una tabla de una base de datos. Las llaves primarias (primary keys) deben contener valores únicos.

Una columna de llave primaria no puede contener valores nulos (NULL).

Cada tabla debe tener una llave primaria y sólo una llave primaria.

La restricción FOREIGN KEY

Una FOREIGN KEY apunta a una PRIMARY KEY en otra tabla.

DROP

La sentencia DROP TABLE

Es usada para eliminar una tabla: DROP TABLE nombre_de_tabla

La sentencia DROP DATABASE

Es usada para eliminar una base de datos:

DROP DATABASE nombre_de_base_de_datos

La sentencia TRUNCATE TABLE

Para borrar los datos dentro de una tabla sin borrar la tabla en sí, se puede usar esta sentencia: TRUNCATE TABLE nombre_de_tabla

ALTER

La sentencia ALTER TABLE

Esta sentencia sirve para agregar, borrar o modificar columnas en una tabla existente.

Sintaxis:

Para agregar una columna a una tabla:ALTER TABLE nombre_de_tablaADD nombre_de_columna tipo_de_dato

14

Page 16: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

Para borrar una columna de una tabla:ALTER TABLE nombre_de_tablaDROP COLUMN nombre_de_columna

Para cambiar el tipo de dato de una columna de una tabla:ALTER TABLE nombre_de_tablaALTER COLUMN nombre_de_columna tipo_de_dato

Tipos de campos empleados en las bases de datos

Como sabemos una base de datos esta compuesta de tablas donde almacenamos registros catalogados en función de distintos campos (características).

Un aspecto previo a considerar es la naturaleza de los valores que introducimos en esos campos. Dado que una base de datos trabaja con todo tipo de informaciones, es importante especificarle qué tipo de valor le estamos introduciendo de manera a, por un lado, facilitar la búsqueda posteriormente y por otro, optimizar los recursos de memoria.

Cada base de datos introduce tipos de valores de campo que no necesariamente están presentes en otras. Sin embargo, existe un conjunto de tipos que están representados en la totalidad de estas bases. Estos tipos comunes son los siguientes:

Alfanuméricos Contienen cifras y letras. Presentan una longitud limitada (255 caracteres)

Numéricos Existen de varios tipos, principalmente, enteros (sin decimales) y reales (con decimales).

Booleanos Poseen dos formas: Verdadero y falso (Sí o No)

FechasAlmacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra.

Memos Son campos alfanuméricos de longitud ilimitada.

Autoincrementables

Son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta más que evidente: Servir de identificador ya que resultan exclusivos de un registro.

15

Page 17: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

Tipos de datos en SQL

Los tipos de datos SQL se clasifican en 13 tipos de datos primarios y de varios sinónimos válidos reconocidos por dichos tipos de datos. Los tipos de datos primarios son:

Tipo de Datos Longitud Descripción

BINARY 1 byte Para consultas sobre tabla adjunta de productos de bases de datos que definen un tipo de datos Binario.

BIT 1 byte Valores Si/No ó True/FalseBYTE 1 byte Un valor entero entre 0 y 255.COUNTER 4 bytes Un número incrementado automáticamente (de tipo Long)

CURRENCY 8 bytes Un entero escalable entre 922.337.203.685.477,5808 y 922.337.203.685.477,5807.

DATETIME 8 bytes Un valor de fecha u hora entre los años 100 y 9999.

SINGLE 4 bytesUn valor en punto flotante de precisión simple con un rango de - 3.402823*1038 a -1.401298*10-45 para valores negativos, 1.401298*10- 45 a 3.402823*1038 para valores positivos, y 0.

DOUBLE 8 bytes

Un valor en punto flotante de doble precisión con un rango de - 1.79769313486232*10308 a -4.94065645841247*10-324 para valores negativos, 4.94065645841247*10-324 a 1.79769313486232*10308

para valores positivos, y 0.SHORT 2 bytes Un entero corto entre -32,768 y 32,767.LONG 4 bytes Un entero largo entre -2,147,483,648 y 2,147,483,647.

LONGTEXT 1 byte por carácter De cero a un máximo de 1.2 gigabytes.

LONGBINARY Según se necesite De cero 1 gigabyte. Utilizado para objetos OLE.

TEXT 1 byte por carácter De cero a 255 caracteres.

16

Page 18: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

La siguiente tabla recoge los sinónimos de los tipos de datos definidos:

Tipo de Dato SinónimosBINARY VARBINARY

BIT

BOOLEAN LOGICAL LOGICAL1 YESNO

BYTE INTEGER1COUNTER AUTOINCREMENTCURRENCY MONEY

DATETIMEDATE TIME TIMESTAMP

SINGLEFLOAT4 IEEESINGLE REAL

DOUBLE

FLOATFLOAT8 IEEEDOUBLE NUMBER NUMERIC

SHORT INTEGER2 SMALLINT

LONGINT INTEGER INTEGER4

LONGBINARY GENERAL OLEOBJECT

LONGTEXTLONGCHARMEMO NOTE

TEXTALPHANUMERIC CHAR - CHARACTER STRING - VARCHAR

VARIANT (No Admitido) VALUE

17

Page 19: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

Funciones de SQL

SQL tiene muchas funciones que sirven para realizar cálculos con datos.

Las funciones de agregación de SQL

Estas funciones agregan un valor calculado con valores en una columna. Entre este tipo de funciones se encuentran:

AVG( ) – Regresa el valor promedio de una columna numérica

Sintaxis:SELECT AVG (nombre_de_columna) FROM nombre_de_tabla

COUNT ( ) – Regresa el número de renglones que coinciden con un criterio específico.

Sintaxis de COUNT (nombre_de_columna)Esta función regresa el número de valores (los valores NULL no son contados) de la columna especificada:SELECT COUNT (nombre_de_columna) FROM nombre_de_tabla

Sintaxis de COUNT (*)Esta función regresa el número de filas en una tabla:SELECT COUNT (*) FROM nombre_de_tabla

Sintaxis de COUNT (DISTINCT nombre_de_columna)Esta función regresa el número de valores distintos de una columna específica:SELECT COUNT (DISTINCT nombre_de_columna) FROM nombre_de_tabla

FIRST ( ) – Regresa el primer valor de la columna seleccionada.

Sintaxis:SELECT FIRST (nombre_de_columna) FROM nombre_de_tabla

LAST ( ) – Regresa el último valor de la columna seleccionada.

Sintaxis:SELECT LAST (nombre_de_columna) FROM nombre_de_tabla

MAX ( ) – Regresa el valor más grande de la columna seleccionada.

Sintaxis:SELECT MAX (nombre_de_columna) FROM nombre_de_tabla

18

Page 20: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

MIN ( ) – Regresa el valor más chico de la columna seleccionada.

Sintaxis:SELECT MIN (nombre_de_columna) FROM nombre_de_tabla

SUM ( ) – Regresa la suma total de una columna numérica.

Sintaxis:SELECT SUM (nombre_de_columna) FROM nombre_de_tabla

La sentencia GROUP BY

Esta sentencia es usada en conjunto con las funciones de agregación para agrupar por una o más columnas la tabla resultado.

Sintaxis:SELECT nombre_de_columna, función_de_agregación (nombre_de_columna)FROM nombre_de_tablaWHERE nombre_de_columna operador valorGROUP BY nombre_de_columna

La cláusula HAVING

Esta cláusula fue agregada a SQL porque la palabra reservada WHERE no puede usarse con funciones de agregación.

Sintaxis:SELECT nombre_de_columna, función_de_agregación (nombre_de_columna)FROM nombre_de_tablaWHERE nombre_de_columna operador valorGROUP BY nombre_de_columnaHAVING función_de_agregación (nombre_de_columna) operador valor

Funciones escalares de SQL

Estas funciones regresan un valor basado en el valor ingresado. Algunas funciones útiles son:

UCASE ( ) – Convierte el valor de un campo a letras mayúsculas.

Sintaxis:SELECT UCASE (nombre_de_columna) FROM nombre_de_tabla

19

Page 21: ¿Qué es SQL · Web viewJOIN o INNER JOIN 10 LEFT JOIN 11 RIGHT JOIN 11 FULL JOIN 11 - Operador UNION 11 * Lenguaje de Definición de Datos (DDL) 12 - Sentencia CREATE DATABASE 12

LCASE ( ) – Convierte el valor de un campo a letras minúsculas.

Sintaxis:SELECT LCASE (nombre_de_columna) FROM nombre_de_tabla

MID ( ) – Extrae caracteres de un campo de texto.

Sintaxis:SELECT MID (nombre_de_columna, inicia [, longitud]) FROM nombre_de_tabla

LEN ( ) – Regresa la longitud del valor en un campo de texto.

Sintaxis:SELECT LEN (nombre_de_columna) FROM nombre_de_tabla

ROUND( ) – Redondea un campo numérico al número de decimales especificado.

Sintaxis:SELECT ROUND (nombre_de_columna, decimales) FROM nombre_de_tabla

NOW ( ) – Regresa la fecha y hora actual del sistema.

Sintaxis:SELECT NOW( ) FROM nombre_de_tabla

20